西安邮电大学高级语言课程设计报告题目:超市管理系统院系名称:理学院专业名称:应用物理学班级:1301学生姓名:王松学号(8位):07132022指导教师:王西龙设计起止时间:2014年06月19日~2014年06月27日1:程序模型2:原函数概况1:创建函数voidstart();/*启动界面*/voidinput();/*商品数据信息输入函数*/voidchange();/*商品数据信息修改函数*/voiddele();/*给定指定商品名称,删除商品信息*/voidoutput();/*商品信息输出*/voidsearch();/*商品信息查找*/voidmima();/*密码程序*/voidcolour();//颜色选择voidhuanying();2:商品信息录入input()3:商品信息的修改Change()4:商品信息的删除Dele()5:商品信息的查询Seaerch()6:系统颜色选择Colour()7:退出系统3:详细设计过程1:结构体变量的定义structMarketGoods/*存数商品信息的结构体*/{chargoods_id[30];/*商品编号*/chargoods_name[30];/*商品名称*/doublegoods_price;/*商品价格*/doublegoods_discount;/*商品折扣*/intgoods_amount;/*商品总数目*/intgoods_remain;/*商品剩余数目*/}goods[COUNT];intcount=0;/*全局变量,用于保存实际上有多少个商品*/2:欢迎界面voidhuanying(){printf(\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n);printf(\t\3欢迎使用\3\n);printf(\t\3\3\n);printf(\t\3\3\n);printf(\t\3超市管理系统\3\n);printf(\t\3\3\n);printf(\t\3\3\n);printf(\t\3\4\4\4\4\4\4\3\n);printf(\t\3\3\n);printf(\t\3\5\5\5\5\5\5\5\5\5\3\n);printf(\t\3\3\n);printf(\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n);}3:密码登陆voidmima(){//charpass[6]={'1','2','3','4','5','6'};/*假设密码长度是6*/charpass[]={123456};/*假设密码长度是6*/charstr[6],ch;inti=0;intflag=0;printf(请输入密码:);fflush(stdin);for(i=0;i6;i++){ch=getch();/*读取字符,不显示*/str[i]=ch;putchar('*');}for(i=0;i6;i++){if(str[i]!=pass[i]){flag=1;break;}}if(flag){printf(\n密码错误,登录失败!请重新登录\n);mima();}elseprintf(\n登录成功\n);getch();system(cls);start();}4:系统选择界面voidstart()/*启动菜单*/{intchi;printf(超市商品管理系统\n);printf(********************************************\n);printf(********************************************\n);printf(1.商品信息的录入:\n);printf(2.商品信息的修改:\n);printf(3.删除某个商品信息:\n);printf(4.查找商品信息:\n);printf(5.颜色选择:\n);printf(0.退出程序\n);printf(********************************************\n);printf(********************************************\n);printf(输入你的选择:);scanf(%d,&chi);/*根据你的选择执行相应的函数*/if(chi==1)input();elseif(chi==2)change();elseif(chi==3)dele();elseif(chi==4)search();elseif(chi==5)colour();elseif(chi==0){printf(你已经退出超市商品管理系统!谢谢您的使用,再见\n);exit(0);}else{printf(YouEnterTheChoiceIsNotvalid!\n);getch();system(cls);start();}}voidhuanying(){printf(\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n);printf(\t\3欢迎使用\3\n);printf(\t\3\3\n);printf(\t\3\3\n);printf(\t\3超市管理系统\3\n);printf(\t\3\3\n);printf(\t\3\3\n);printf(\t\3\4\4\4\4\4\4\3\n);printf(\t\3\3\n);printf(\t\3\5\5\5\5\5\5\5\5\5\3\n);printf(\t\3\3\n);printf(\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n);}5:商品信息的录入voidinput()/*数据录入*/{FILE*fp;charflag[20];fp=fopen(e:/student.txt,wt);do{printf(请输入你的商品信息:\n);/*录入商品的信息*/printf(商品编号:);scanf(%s,goods[count].goods_id);printf(商品名字:);scanf(%s,goods[count].goods_name);printf(商品价格:);scanf(%lf,&goods[count].goods_price);printf(商品折扣:);scanf(%lf,&goods[count].goods_discount);printf(商品总数目:);scanf(%d,&goods[count].goods_amount);printf(商品剩余数目:);scanf(%d,&goods[count].goods_remain);count++;/*存数的商品数加一*/printf(是否继续输入数据y是n否:);/*是否还想继续输入数据*/scanf(%s,flag);}while(strcmp(flag,y)==0||strcmp(flag,Y)==0);fwrite(&goods,sizeof(structMarketGoods),count,fp);fclose(fp);output();/*调用显示商品数据*/getch();system(cls);start();}6:商品信息的修改voidchange()/*数据修改*/{FILE*fp;inti,m=0;charch[20],a[20];fp=fopen(e:/student.txt,rt);while(fread(&goods[m],sizeof(structMarketGoods),1,fp)!=NULL){m++;}fclose(fp);printf(\nyousurewantchangegoodsInfory/n):);/*根据商品的id来修改数据*/scanf(%s,ch);if(strcmp(ch,y)==0||strcmp(ch,Y)==0){printf(\nenteryouwantchangegoods_id:);scanf(%s,a);for(i=0;icount;i++){if(strcmp(goods[i].goods_id,a)==0){printf(\nyousurewantchangegoodsname(y/n):);scanf(%s,ch);if(strcmp(ch,y)==0||strcmp(ch,Y)==0){printf(\nname:);scanf(%s,goods[i].goods_name);}printf(\nyousurewantchangegoodsprice(y/n):);scanf(%s,ch);if(strcmp(ch,y)==0||strcmp(ch,Y)==0){printf(\nprice);scanf(%lf,&goods[i].goods_price);}printf(\nyousurewantgoodsdiscount(y/n):);scanf(%s,ch);if(strcmp(ch,y)==0||strcmp(ch,Y)==0){printf(\ndiscount);scanf(%lf,&goods[i].goods_discount);}printf(\nyousurewantgoodsamount(y/n):);scanf(%s,ch);if(strcmp(ch,y)==0||strcmp(ch,Y)==0){printf(\namount);scanf(%d,&goods[i].goods_amount);}printf(\nyousurewantgoodsremain(y/n):);scanf(%s,ch);if(strcmp(ch,y)==0||strcmp(ch,Y)==0){printf(\nremain);scanf(%d,&goods[i].goods_remain);}}}}fwrite(&goods,sizeof(structMarketGoods),count,fp);fclose(fp);output();getch();system(cls);start();}7:商品信息的删除voiddele()/*数据删除*/{FILE*fp;inti,m=0,j;charch[20],c[20];fp=fopen(e:/student.txt,rt);while(fread(&goods[m],sizeof(structMarketGoods),1,fp)!=NULL){printf(%s,goods[m].goods_id);m++;}fclose(fp);printf(\nenteryouwantdeletename:\n);/*根据商品的名称来删除数据*/printf(name:);scanf(%s,c);for(i=0;icount;i++){if(strcmp(c,goods[i].goods_name)==0)break;/*找到,即跳出循环*/for(j=i;jcount-1;j++)goods[j]=goods[j+1];}printf(\t\t\tyouhaddelete%s\n,c);count--;fp=fopen(e:/student.txt,wt);fwrite(&goods,sizeof(structMarketGoods),count,fp);fclose(fp);output();getch();system(cls);start();}8:商品信息查询voidsearch()/*数据查找*/{FILE*fp;inti,m=0;chara[20];fp=fopen(e:/student.txt,rt);while(fread(&goods[m],sizeof(stru