#include
#include
#include
#include
#include
#include
#define K 5
/*商品的结构体*/
struct commodity
{
char name[15];//商品的名字
int number; //商品的编号
int jiage;//商品的价格
int shuliang;//商品的数量
char shengchanchangjia[10];//商品的生产厂家
} struct commodity coom[co]={{"苹果",001,5,5},{"菠萝",002,3,3}}; //定义一个数组
int num=2; //商品的种数数量
/*声明*/
void home page(); //首页
int Verification(charPassword[]); //增加密码的验证
int Main menu(); //主菜单
void input(); //商品信息的输入
void modify(); //商品信息的修改
void delet(); //商品信息的删除
void order(); //商品信息的排序
void search(); //商品信息的查询
void show(); //商品信息的显示
void Exit(); //商品信息的退出
void main()
{
int n;
char Password[10]={"123456789"}; //初始密码为123456789
home page();//首页
n=Verification(Password); //验证密码
switch(n)
{
case 1 : printf("\n注意:如果你的密码连续错误三次,系统将会退出。\n");
break;
case 2 : Main menu(); //显示主菜单
break;
}
printf("系统退出!\n");
exit(0);
}
/*显示作者的基本信息*/
void home page()
{
printf("\t 欢迎进入商品管理系统 \n");
printf("\t 专业:计算机科学与技术 \n");
printf("\t 班级:计算机科学与技术班\n");
printf("\t 姓名:000 \n");
printf("\t 学号:0000 \n");
/*验证密码*/
int Verification(char Password[])
{
int i=0;
int j=3;
int m;
char Password1[10];
printf("请你输入商品管理系统的密码");
for(m=0;m {
Password1[m]=getch(); //输入密码但是密码不显示
putchar('*'); //密码用*来显示
}
Password1[9]='\0'; //添加串结束标志
printf("\n"); //换行
for(i=0;j!=0;i++)
if(strcmp(Password1,Password)==0) //比较输入的密码是否正确,如果正确,则程序继续下去。
{
printf("你输入的密码正确,你将进入商品管理系统\n");
system("pause"); //屏幕暂停
return 1;
}
else //如果密码不正确,则程序运行此处
{
--j;
if(j==0)
{
return 0;
}
printf("\n密码错误,你还有%d次机会,\n请你再次输入密码:",j);
for(m=0;m {
Password1[m]=getch(); //输入的密码不会显示出来
putchar('*'); //输入的密码显示*
}
Password1[9]='0'; //添加串结束标志
printf("\n");
}
}
return 0;
}
//定义主菜单栏,输入数字进行操作
int Main menu()
{
system("cls"); //清除屏幕消息
int num; //选择的数字
printf("\n\n\n\n\n");
printf("\t\t--------欢迎将进入商品管理系统--------\n");
printf("\t\t\t 1:商品信息的输入?\n");
printf("\t\t\t 2:商品信息的修改?\n");
printf("\t\t\t 3:商品信息的删除?\n");
printf("\t\t\t 4:商品信息的排序?\n");
printf("\t\t\t 5:商品信息的查询?\n");
printf("\t\t\t 6:商品信息的显示?\n");
printf("\t\t\t 7:商品信息的退出?\n");
printf("\t\t\t请你输入1-7的任意数字:");
scanf("%d",&num);
switch(num) //通过输入数字来操作事件
{
case 1 : input(); //输入
break;
case 2 : modify(); //修改
break;
case 3 : delet(); //删除
break;
case 4 : order(); //排序
break;
case 5 : search(); //查询
break;
case 6 : show(); //显示
break;
case 7 : Exit(); //退出
break;
default : Main menu();
break;
} //switch结束
} //函数结束
//录入商品数据信息
void input()
{
system("cls"); //清屏
char a; //录入一个字符
printf("是否输入商品的信息?(yes/no)");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%c,&a");
while(a=='yes')
{
printf("请你输入商品的名字:"); //输入商品名字
scanf("%s",&coom[num].name);
printf("请你输入商品的编号"); //输入商品编号
scanf("%d",&coom[num].number);
printf("请你输入商品的价格"); //输入商品价格
scanf("%d",&coom[num].jiage);
printf("请你输入商品的数量"); //输入商品数量
scanf("%d",&coom[num].shuliang);
printf("请你输入商品的生产厂家"); //输入商品生产厂家
scanf("%s",&coom[num].shengchanchangjia);
num++; //增加商品的数量
printf("请问你是否继续?(yes/no)");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%c",&a);
} //结束while的循环
Main menu();
} //结束该函数
//修改商品信息
void modify()
{
int k=0; //变量
int l=0; //变量
char a; //录入一个字符
system("cls"); //清除屏幕消息
printf("请你输入要修改的商品编号");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%d",&k);
while(k!=coom[l].number)
{
l++;
if(l>=num)
{
printf("这里没有你需要修改的商品信息。\n");
modify();
} //结束if的判断
} //结束while的循环
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
printf("请你输入商品的名称");
scanf("%s",&coom[l].name);
printf("请你输入商品的价格");
scanf("%d",&coom[l].jiage);
printf("请你输入商品的数量");
scanf("%d",&coom[l].shuliang);
printf("请你输入商品的生产厂家");
scanf("%s",&coom[l].shengchanchangjia);
printf("你的修改已经完成,你是否继续(yes/no)");
fflush(stdin);
scanf("%c",&a);
if(a=='yes')
modify(); //继续修改
else
Main menu(); //到菜单
} //修改函数结束
//商品的删除
void delet();
{
int z;
int x=0;
char a;
system("cls"); //清屏
printf("请你输入你要删除的商品编号");
fflush(stdin);
scanf("%d",&z);
while(z!=coom[x].number)
{
x++;
if(x>=num)
{
printf("这里没有你需要删除的商品信息");
modify();
} //结束if
} //结束while的循环
for(;x {
coom[x].number=coom[x+1].number;
strcpy(coom[x].name,coom[x+1].name);
coom[x].jiage=coom[x+1].jiage;
coom[x].shuliang=coom[x+1].shuliang;
}
num--; //商品的总数数量减少一个
printf("已经删除商品的信息,你是否要继续(yes/no)");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%c",&a);
if(a=='yes')
delet(); //继续删除
else
Main menu(); //返回到菜单
}
//排序
void order()
{
struct commodity temp;
int q;
int w;
char a;
system("cls"); //清屏
printf("通过商品的数量来进行排序\n");
printf("商品编号 商品名称 价格 数量 生产厂家\n");
for(q=0;q for(w=q+1;w if(coom[q].shuliang {
temp=coom[q];
coom[q]=coom[w];
coom[w]=temp;
}
for(q=0;q {
printf("%d",&coom[q].number);
printf("%s",&coom[q].name);
printf("%d",&coom[q].jiage);
printf("%d",&coom[q].shuliang);
printf("%s",&coom[q].shengchanchangjia);
}
printf("输入0来退出排序系统\b");
scanf("%d",&a);
if(a==0) //循环停止,排序系统退出
{
system("cls"); //清除屏幕
Main menu(); //返回菜单
}
}
//查询
void search()
{
char name[15];
char a;
int r=0;
system("cls"); //清除屏幕消息
printf("请你输入要查询的商品名称");
scanf("%s",name);
while(strcmp(name,coom[r].name)!=0)
{
r++;
if(r>=num)
{
printf("这里暂时没有你要查询发的商品信息");
search();
} //结束if的判断
} //结束while循环
printf("商品名称\t商品编号\t商品价格\t商品数量\t商品生产厂家\n");
printf("%s",&coom[r].name);
printf("%d",&coom[r].number);
printf("%d",&coom[r].jiage);
printf("%d",&coom[r].shuliang);
printf("%s",&coom[r].shengchanchangjia);
printf("查询结束");
search();}
//显示
void show()
{
int t;
char a;
system("cls");
printf("商品名称\t商品编号\t商品价格\t商品数量\t商品生产厂家\n");
for(t=0;t<num;t++)
{
printf("%s",&coom[t].name);
printf("%d",&coom[t].number);
printf("%d",&coom[t].jiage);
printf("%d",&coom[t].shuliang);
printf("%s",&coom[t].shengchanchangjia);
}
printf("返回菜单");
fflush(stdin);
show();
}
//退出
void Exit()
{
char a;
system("cls");
printf("你是否要退出系统(yes\n)");
fflush(stdin);
scanf("%c",&a);
if(a=='yes')
printf("感谢你使用商品管理系");
else
Main menu();
}
注意代码书写规范,我看了好多地方最明显的就是{}不是成对出现的,该有的没有不该有的加了,很混乱
首先说几点,这段代码不是 你写的,你也不知道这要实现什么功能。你只是拿来应付。
C语言你根本不会,代码里出现了中文的标点,括号缺失,还有这样(main page)定义函数的。
我改了一些,基本没错误了,但是实在看不下去了..................................
可以看看我是怎么注释的,怎么缩进的,希望有高人继续帮你
#include
#include
#define K 5
/*商品的结构体*/
struct commodity
{
char name[15];//商品的名字
int number; //商品的编号
int jiage;//商品的价格
int shuliang;//商品的数量
char shengchanchangjia[10];//商品的生产厂家
};
//定义一个数组
int co = 5;
struct commodity coom[co]={
{"苹果",001,5,5},
{"菠萝",002,3,3}
};
int num=2; //商品的种数数量
/*声明*/
void home_page(); //首页
int Verification(char[]); //增加密码的验证
int Main_menu(); //主菜单
void input(); //商品信息的输入
void modify(); //商品信息的修改
void delet(); //商品信息的删除
void order(); //商品信息的排序
void search(); //商品信息的查询
void show(); //商品信息的显示
void Exit(); //商品信息的退出
void main()
{
int n;
char Password[10]={"123456789"}; //初始密码为123456789
home_page();//首页
n=Verification(Password); //验证密码
switch(n)
{
case 1 : printf("\n注意:如果你的密码连续错误三次,系统将会退出。\n");
break;
case 2 : Main_menu(); //显示主菜单
break;
}
printf("系统退出!\n");
exit(0);
}
/**********************************************************
显示作者的基本信息
***********************************************************/
void home_page()
{
printf("\t 欢迎进入商品管理系统 \n");
printf("\t 专业:计算机科学与技术 \n");
printf("\t 班级:计算机科学与技术班\n");
printf("\t 姓名:000 \n");
printf("\t 学号:0000 \n");
}
/**********************************************************
验证密码
***********************************************************/
int Verification(char Password[])
{
int i=0;
int j=3;
int m;
char Password1[10];
printf("请你输入商品管理系统的密码");
for(m=0;m;m++){
Password1[m]=getch(); //输入密码但是密码不显示
putchar('*'); //密码用*来显示
}
Password1[9]='\0'; //添加串结束标志
printf("\n"); //换行
for(i=0;j!=0;i++)
if(strcmp(Password1,Password)==0) //比较输入的密码是否正确,如果正确,则程序继续下去。
{
printf("你输入的密码正确,你将进入商品管理系统\n");
system("pause"); //屏幕暂停
return 1;
}
else //如果密码不正确,则程序运行此处
{
--j;
if(j==0)
{
return 0;
}
printf("\n密码错误,你还有%d次机会,\n请你再次输入密码:",j);
for(m=0;m;m++) {
Password1[m]=getch(); //输入的密码不会显示出来
putchar('*'); //输入的密码显示*
}
Password1[9]='0'; //添加串结束标志
printf("\n");
}
return 0;
}
/**********************************************************
定义主菜单栏,输入数字进行操作
***********************************************************/
int Main_menu()
{
system("cls"); //清除屏幕消息
int num; //选择的数字
printf("\n\n\n\n\n");
printf("\t\t--------欢迎将进入商品管理系统--------\n");
printf("\t\t\t 1:商品信息的输入?\n");
printf("\t\t\t 2:商品信息的修改?\n");
printf("\t\t\t 3:商品信息的删除?\n");
printf("\t\t\t 4:商品信息的排序?\n");
printf("\t\t\t 5:商品信息的查询?\n");
printf("\t\t\t 6:商品信息的显示?\n");
printf("\t\t\t 7:商品信息的退出?\n");
printf("\t\t\t请你输入1-7的任意数字:");
scanf("%d",&num);
switch(num) //通过输入数字来操作事件
{
case 1 : input(); //输入
break;
case 2 : modify(); //修改
break;
case 3 : delet(); //删除
break;
case 4 : order(); //排序
break;
case 5 : search(); //查询
break;
case 6 : show(); //显示
break;
case 7 : Exit(); //退出
break;
default : Main_menu();
break;
} //switch结束
} //函数结束
/**********************************************************
录入商品数据信息
***********************************************************/
void input()
{
system("cls"); //清屏
char a; //录入一个字符
printf("是否输入商品的信息?(yes/no)");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%c,&a");
while(a=='yes')
{
printf("请你输入商品的名字:"); //输入商品名字
scanf("%s",&coom[num].name);
printf("请你输入商品的编号"); //输入商品编号
scanf("%d",&coom[num].number);
printf("请你输入商品的价格"); //输入商品价格
scanf("%d",&coom[num].jiage);
printf("请你输入商品的数量"); //输入商品数量
scanf("%d",&coom[num].shuliang);
printf("请你输入商品的生产厂家"); //输入商品生产厂家
scanf("%s",&coom[num].shengchanchangjia);
num++; //增加商品的数量
printf("请问你是否继续?(yes/no)");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%c",&a);
} //结束while的循环
Main_menu();
} //结束该函数
/**********************************************************
修改商品信息
***********************************************************/
void modify()
{
int k=0; //变量
int l=0; //变量
char a; //录入一个字符
system("cls"); //清除屏幕消息
printf("请你输入要修改的商品编号");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%d",&k);
while(k!=coom[l].number)
{
l++;
if(l>=num)
{
printf("这里没有你需要修改的商品信息。\n");
modify();
} //结束if的判断
} //结束while的循环
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
printf("请你输入商品的名称");
scanf("%s",&coom[l].name);
printf("请你输入商品的价格");
scanf("%d",&coom[l].jiage);
printf("请你输入商品的数量");
scanf("%d",&coom[l].shuliang);
printf("请你输入商品的生产厂家");
scanf("%s",&coom[l].shengchanchangjia);
printf("你的修改已经完成,你是否继续(yes/no)");
fflush(stdin);
scanf("%c",&a);
if(a=='yes')
modify(); //继续修改
else
Main_menu(); //到菜单
} //修改函数结束
/**********************************************************
商品的删除
***********************************************************/
void delet()
{
int z;
int x=0;
char a;
system("cls"); //清屏
printf("请你输入你要删除的商品编号");
fflush(stdin);
scanf("%d",&z);
while(z!=coom[x].number)
{
x++;
if(x>=num)
{
printf("这里没有你需要删除的商品信息");
modify();
} //结束if
} //结束while的循环
for(;x;x++)
{
coom[x].number=coom[x+1].number;
strcpy(coom[x].name,coom[x+1].name);
coom[x].jiage=coom[x+1].jiage;
coom[x].shuliang=coom[x+1].shuliang;
}
num--; //商品的总数数量减少一个
printf("已经删除商品的信息,你是否要继续(yes/no)");
fflush(stdin); //刷新标准输入缓冲区,把输入缓冲区里的东西丢掉
scanf("%c",&a);
if(a=='yes')
delet(); //继续删除
else
Main_menu(); //返回到菜单
}
/**********************************************************
排序
***********************************************************/
void order()
{
struct commodity temp;
int q;
int w;
int a;
system("cls"); //清屏
printf("通过商品的数量来进行排序\n");
printf("商品编号 商品名称 价格 数量 生产厂家\n");
for(q=0;q;q++){
for(w=q+1;w;w++){
if(coom[q].shuliang){
temp=coom[q];
coom[q]=coom[w];
coom[w]=temp;
}
}
}
for(q=0;q;q++){
printf("%d",&coom[q].number);
printf("%s",&coom[q].name);
printf("%d",&coom[q].jiage);
printf("%d",&coom[q].shuliang);
printf("%s",&coom[q].shengchanchangjia);
}
printf("输入0来退出排序系统\b");
scanf("%d",&a);
if(a==0) //循环停止,排序系统退出
{
system("cls"); //清除屏幕
Main_menu(); //返回菜单
}
}
/**********************************************************
//查询
***********************************************************/
void search()
{
char name[15];
char a;
int r=0;
system("cls"); //清除屏幕消息
printf("请你输入要查询的商品名称");
scanf("%s",name);
while(strcmp(name,coom[r].name)!=0)
{
r++;
if(r>=num)
{
printf("这里暂时没有你要查询发的商品信息");
search();
} //结束if的判断
} //结束while循环
printf("商品名称\t商品编号\t商品价格\t商品数量\t商品生产厂家\n");
printf("%s",&coom[r].name);
printf("%d",&coom[r].number);
printf("%d",&coom[r].jiage);
printf("%d",&coom[r].shuliang);
printf("%s",&coom[r].shengchanchangjia);
printf("查询结束");
search();
}
/**********************************************************
显示
***********************************************************/
void show()
{
int t;
char a;
system("cls");
printf("商品名称\t商品编号\t商品价格\t商品数量\t商品生产厂家\n");
for(t=0;t<num;t++)
{
printf("%s",&coom[t].name);
printf("%d",&coom[t].number);
printf("%d",&coom[t].jiage);
printf("%d",&coom[t].shuliang);
printf("%s",&coom[t].shengchanchangjia);
}
printf("返回菜单");
fflush(stdin);
show();
}
/**********************************************************
退出
***********************************************************/
void Exit()
{
char a;
system("cls");
printf("你是否要退出系统(yes\n)");
fflush(stdin);
scanf("%c",&a);
if(a=='yes')
printf("感谢你使用商品管理系");
else
Main_menu();
}
建议贴出来错误信息。根据错误信息一个一个找错误源