/*---------------------------------------时间:2015-7-1 16:44:21吴俊龙C语言专周设计超市收银系统---------------------------------------*/# include <stdio.h># include <windows.h>#include <string.h>int menu1(void);//主页面int menu2(void);//商品管理页面int menu3(void);//退出页面int menu4(void);//添加商品信息int menu5(void);//商品信息浏览int menu6(void);//商品信息修改int menu7(void);//商品信息查询int menu8(void);//商品信息删除int menu9(void);//结账页面int sign(void);//欢迎页面struct ima{int id; //商品编号char name[20]; //商品的名称char produce[30]; //商品的产地int number; //商品的数量int money; //商品的价格};int len = 0;struct ima thing[50];struct ima * p;int menu1(void)//主页面{int n;system("cls");printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 欢迎使用结账管理系统|\n");printf("\t\t|-----------------------------------------|\n");printf("\t\t| |\n");printf("\t\t| 1.商品管理|\n");printf("\t\t| |\n");printf("\t\t| 2.结账模式|\n");printf("\t\t| |\n");printf("\t\t| 3.退出系统|\n");printf("\t\t| |\n");printf("\t\t|_________________________________________|\n");printf("\n\t\t请输入您要进行的操作(1--3)[ ]\b\b");scanf("%d",&n);while( n != 1 && n != 2 && n != 3 ){printf(" 提示:\n\t 输入有误,请重新输入您要进行的操作(1--3):\n");scanf("%d",&n);}return n;}int menu2(void)//商品管理页面{int n;system("cls");printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 商品信息管理页面|\n");printf("\t\t|-----------------------------------------|\n");printf("\t\t| |\n");printf("\t\t| 1.新购商品入库|\n");printf("\t\t| 2.商品信息删除|\n");printf("\t\t| 3.商品信息修改|\n");printf("\t\t| 4.商品信息查询|\n");printf("\t\t| 5.商品信息浏览|\n");printf("\t\t| 6.返回主菜单|\n");printf("\t\t| |\n");printf("\t\t|_________________________________________|\n");printf("\n \t请输入您要进行的操作(1--6)[ ]\b\b");scanf("%d",&n);while( n!=1 && n!=2 && n!=3 && n!=4 && n!=5 && n!=6){printf(" 提示: \n输入有误,请重新输入您要进行的操作(1--6):\n");scanf("%d",&n);}return n;}int menu9(void)//结账页面{system("cls");float tot = 0, pay = 0;if(len != 0){int i;system("cls");printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 商品结账页面|\n");printf("\t\t|-----------------------------------------|\n");printf("\t\t编号\t名称\t产地\t数量\t单价\n");printf("-------------------------------------------------------------------\n ");for(i=0; i<len; i++){printf("\t\t %d\t %s\t%s\t%d\t%d\t\n\n", thing[i].id, thing[i].name,thing[i].produce, thing[i].number, thing[i].money);tot = (float)((thing[i].number * thing[i].money*10)/10);pay+=tot;}printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t总共消费:%.2f\n\n", pay);system("pause");}else{printf("\t亲~购物车中没有商品,请先添加商品信息哟~~");system("pause");}return 0;}int menu8(void)//商品信息删除{int i, j, num, e, t = len;if(len != 0){printf("\t请输入您要删除的商品的编号:");scanf("%d",&num);for(i=0; i<len; i++)if(thing[i].id == num)j = i;if(j != (t-1)){for(e=i-1; e<t; e++, j++){thing[j].id = thing[j+1].id;strcpy(thing[j].name, thing[j+1].name);strcpy(thing[j].produce, thing[j+1].produce);thing[j].number = thing[j+1].number;thing[j].money = thing[j+1].money;t--;p++;}}else {t--;p--;}printf("提示:删除完毕!");system("pause");}else{printf("暂无数据,请先添加商品信息!");system("pause");}return 0;}int menu7(void)//商品信息查询{int j, i, c, w;char name[20];if(len != 0){do{system("cls");printf("\n\n\n");printf("\t\t --------------------------------- \n");printf("\t\t| 商品信息查询|\n");printf("\t\t|---------------------------------|\n");printf("\t\t| |\n");printf("\t\t| 按编号查询请按1 |\n");printf("\t\t| 按名称查询请按2 |\n");printf("\t\t| 取消请按0 |\n");printf("\t\t|_________________________________|\n");printf("\t请输入您的选择:");scanf("%d", &c);switch(c){case 0:break;case 1:printf("\t 请输入商品的编号;");scanf("%d", &w);for(i=0; i<len; i++)if(thing[i].id == w){system("cls");printf("\n\n\t\t- - - - - - - - - - - -\n");printf("\t\t商品编号:%d\n", thing[i].id );printf("\t\t商品名称:%s\n", thing[i].name);printf("\t\t商品产地:%s\n", thing[i].produce);printf("\t\t商品数量:%d\n", thing[i].number);printf("\t\t商品价格:%d\n", thing[i].money);system("pause");j=1;}if(j==0)printf("提示:\n\t没有该商品记录,请核对!");break;case 2:printf("\t 请输入商品的姓名:");scanf("%s", name);for(i=0; i<len; i++)if(strcmp(name, thing[i].name) == 0){system("cls");printf("\n\n\t\t- - - - - - - - - - - -\n");printf("\t\t商品编号:%d\n", thing[i].id );printf("\t\t商品名称:%s\n", thing[i].name);printf("\t\t商品产地:%s\n", thing[i].produce);printf("\t\t商品数量:%d\n", thing[i].number);printf("\t\t商品价格:%d\n", thing[i].money);j=1;system("pause");}if(j==0)printf("提示:没有该商品记录,请核对!");break;default:printf("\n 提示:您的输入有误,请重新输入!");break;}//属于switch}while(c!= 0);//属于do}//属于ifelse{printf("暂无数据,请先添加商品信息!");system("pause");}return 0;}int menu6(void)//商品信息修改{int num;int i, c;if(len != 0){system("cls");printf("\t 请输入您要修改的商品的编号:");scanf("%d", &num);for(i=0; i<len; i++){ if( thing[i].id == num )break;}do{system("cls");printf("\n\n\n");printf(" 请选择您要修改的商品的信息内容:\n");printf("\t\t --------------------------------- \n");printf("\t\t| 商品管理系统|\n");printf("\t\t|---------------------------------|\n");printf("\t\t| |\n");printf("\t\t| 名称请按1 |\n");printf("\t\t| 数量请按2 |\n");printf("\t\t| 产地请按3 |\n");printf("\t\t| 价格请按4 |\n");printf("\t\t| 取消请按0 |\n");printf("\t\t|_________________________________|\n");printf("\t 请输入您的选择:");scanf("%d", &c);switch(c){case 0:break;case 1:printf("请输入新的商品名称:");scanf("%s",thing[i].name);break;case 2:printf("请输入新的商品数量:");scanf("%d",&thing[i].number);break;case 3:printf("请输入新的商品产地:");scanf("%s",thing[i].produce);break;case 4:printf("请输入新的商品价格:");scanf("%d",&thing[i].money);break;default:printf("\n 提示:您的输入有误,请重新输入!");break;}if(c==1 || c==2 || c==3 || c==4){printf("\n\t 修改成功");system("pause");}}while(c != 0);printf("\n\t正在保存数据中.");for(i=0;i<10;i++){printf(" .");Sleep(500);}}else{printf("暂无数据,请先添加商品信息!");system("pause");}return 0;}int menu4(void)//添加商品信息页面{int i = 0, t;system("cls");printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 添加商品信息页面|\n");printf("\t\t|-----------------------------------------|\n");if(len == 0)p = thing;printf("\t 请输出你要添加的商品个数:");scanf("%d", &len);t = len;do{printf("\t\t商品编号:%d\n", ++i);p->id = i;printf("\t\t商品名称:");scanf("%s", p->name);printf("\t\t商品产地:");scanf("%s", p->produce);printf("\t\t商品数量:");scanf("%d", &p->number);printf("\t\t商品价格:");scanf("%d", &p->money);t--;p++;printf("\t\t- - - - - - - - - - - -\n");}while(t != 0);printf("\n\t已经添加成功,即将返回上一级页面 .");for(i=0;i<10;i++){printf(" .");Sleep(500);}return 0;}int menu5(void)//查看已经添加的商品{if(len != 0){int i;system("cls");printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 查看商品信息页面|\n");printf("\t\t|-----------------------------------------|\n");if(len != 0){for(i=0; i<len; i++){printf("\t\t商品编号:%d\n", thing[i].id );printf("\t\t商品名称:%s\n", thing[i].name);printf("\t\t商品产地:%s\n", thing[i].produce);printf("\t\t商品数量:%d\n", thing[i].number);printf("\t\t商品价格:%d\n", thing[i].money);printf("\t\t- - - - - - - - - - - -\n");}}elseprintf("暂无数据,请先添加商品信息!");printf("\n\n");system("pause");}else{printf("暂无数据,请先添加商品信息!");system("pause");}return 0;}int menu3(void)//退出页面{system("cls");printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 结账管理系统|\n");printf("\t\t|-----------------------------------------|\n");printf("\t\t| |\n");printf("\t\t| |\n");printf("\t\t| |\n");printf("\t\t| 感谢使用本程序! ! ! |\n");printf("\t\t| |\n");printf("\t\t| |\n");printf("\t\t| |\n");printf("\t\t|_________________________________________|\n");return 0;}int sign(void)//欢迎页面{int i;printf("\n\n\n");printf("\t\t ----------------------------------------- \n");printf("\t\t| 欢迎使用本程序|\n");printf("\t\t|-----------------------------------------|\n");printf("\t\t| |\n");printf("\t\t| 小型超市管理系统|\n");printf("\t\t| |\n");printf("\t\t| by :吴俊龙|\n");printf("\t\t| |\n");printf("\t\t| 成都工业学院|\n");printf("\t\t| 1405173 班|\n");printf("\t\t|_________________________________________|\n");printf("\n\n\t\t\t程序正在启动中>");for(i=0; i<10; i++){printf(" >");Sleep(500);}return 0;}int main(void)//主函数{sign();//版权system("color f0");system("cls");back:switch(menu1()){case 1: //主函数商品管理页面{come:switch(menu2()){case 1://添加商品信息(完成)menu4();goto come;break;case 2://商品信息删除(完成)menu8();goto come;break;case 3://商品信息修改(完成)menu6();goto come;break;case 4://商品信息查询(完成)menu7();goto come;break;case 5://商品信息浏览(完成)menu5();goto come;break;case 6://返回主菜单(完成)goto back;break;}break;}case 2: //主页面结账模式menu9();goto back;break;case 3:// 主页面退出menu3();break;}Sleep(3000);return 0;}。