200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C语言超市商品管理系统代码(精)

C语言超市商品管理系统代码(精)

时间:2019-12-31 17:30:28

相关推荐

C语言超市商品管理系统代码(精)

//在C盘下面建立文件夹pyfc,再在其下建立c文件夹,再在其下建立project文件夹,再在其下建立project.txt文件#include<stdio.h>#include<string.h>#define N 100struct Goods{int Goods_id; //商品编号char Goods_name[50]; //名称float Goods_price; //单价int Goods_num;//库存量}GoodsList[N]={ {1,"飘柔洗发水",25,100},{2,"黑人牙膏",12,120},{3,"Iphone 4",5600,30},{4,"尼康相机",12500,15},{5,"康熙字典",99,50},};void loginVerify();void loginTitle();void addGoods();void modifyGoods();void deleteGoods();void queryGoods();void printGoods();void QueryGoods_id();void QueryGoods_name();void QueryGoods_price();void QueryGoods_num();void QueryGoods_num1();void QueryGoods_num2();void sortGoods();void sortGoods_price();void sortGoods_num();void saveGoods();void import();int quit();void main(){loginVerify();}/*登录验证*/void loginVerify(){int i=0;char username[20];char password[20];printf("\t\t************************************\n");printf("\t\t\t登陆超市商品库存管理\n");printf("\t\t************************************\n");do{printf("\n\t\t\t请输入登录账号:");gets(username);fflush(stdin);printf("\t\t\t请输入登录密码:");gets(password);if((strcmp(username,"sa")==0) && (strcmp(password,"123"))==0){printf("\n\t\t\t登录成功!\n\n");loginTitle();break;}else{i++;if(i==3){printf("你已错误输入三次,退出系统!\n");break;}printf("\n登录失败,请重新登陆!\n");}}while(1);}/*系统首界面*/void loginTitle(){int choice;int flag=1;do{printf("\n");printf("\t\t************************************\n");printf("\t\t\t欢迎进入商品库存管理系统\n");printf("\t\t************************************\n");printf("\t\t\t1.添加商品\n");printf("\t\t\t2.修改商品\n");printf("\t\t\t3.删除商品\n");printf("\t\t\t4.查询商品\n");printf("\t\t\t5.商品排序\n");printf("\t\t\t6.退出系统\n");printf("\n\n请选择你想要进行的操作(1~6):");scanf("%d",&choice);switch(choice){case 1:addGoods();break;case 2:modifyGoods();break;case 3:deleteGoods();break;case 4:queryGoods();break;case 5:sortGoods();break;case 6:quit();flag=0;break;default:printf("\n输入序号错误,请重新输入:\n");break;//continue;}if(flag==0){break;}}while(flag);}/*添加商品*/void addGoods(){//int id;int i;int flag;printGoods();for(i=0;i<N;i++){if(GoodsList[i].Goods_id!=0){continue;}else if(GoodsList[i].Goods_id==0){GoodsList[i].Goods_id=GoodsList[i-1].Goods_id+1;//break;fflush(stdin);printf("\t\t\t请输入商品名称:");gets(GoodsList[i].Goods_name);printf("\t\t\t请输入商品单价:");scanf("%f",&GoodsList[i].Goods_price);printf("\t\t\t请输入商品库存量:");scanf("%d",&GoodsList[i].Goods_num);}printf("\n\t继续添加选择“1”,返回主菜单选择“0”:");scanf("%d",&flag);if(flag==0){saveGoods();break;}else if(flag==1){addGoods();}}}/*修改商品信息*/void modifyGoods(){int searchGoods_id;int i,flag;import();printf(" \t\t\t 请输入要修改的商品编号: ");scanf("%d",&searchGoods_id);for(i=0;i<N;i++){if(GoodsList[i].Goods_id==searchGoods_id){//输出该商品信息printf("你要修改的商品是:\n");printf("\t\t\t编号\t名称\t\t单价\t\t库存量\n");printf("\t\t\t%d\t%-8s\t%-8.2f\t%-6d\n",GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price,GoodsList[i].Goods_num);//修改该商品信息//printf(" \t\t\t请输入修改后的商品编号: ");//scanf("%d",&GoodsList[i].Goods_id);printf(" \t\t\t请输入修改后的商品名称: ");scanf("%s",&GoodsList[i].Goods_name);printf(" \t\t\t请输入修改后的商品单价: ");scanf("%f",&GoodsList[i].Goods_price);printf(" \t\t\t请输入修改后的商品库存量: ");scanf("%d",&GoodsList[i].Goods_num);printf("修改之后的商品是:\n");printf("\t\t\t编号\t名称\t\t单价\t\t库存量\n");printf("\t\t\t%d\t%-8s\t%-8.2f\t%-6d\n",GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price,GoodsList[i].Goods_num);printf("\n\t继续修改选“1”,返回主菜单选“0”:");scanf("%d",&flag);if(flag==0){saveGoods();break;}modifyGoods();}}}/*删除商品信息*/void deleteGoods(){int i;int flag,searchGoods_id;char a;import();printf(" \t\t\t请输入要删除的商品编号: ");scanf("%d",&searchGoods_id);for(i=0;i<N;i++){if( GoodsList[i].Goods_id == searchGoods_id ){//输出该商品信息printf("你要删除的商品是:\n");printf("\t\t\t编号\t名称\t\t单价\t\t库存量\n");printf("\t\t\t%d\t%-8s\t%-8.2f\t%-6d\n",GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price,GoodsList[i].Goods_num);//删除所选商品信息printf("\n\t\t\t警告:数据删除后不可修复!是否继续?<Y>/<N>:");fflush(stdin);scanf("%c",&a);printf("%c",a);if((a=='Y') || (a=='y') ){//清空所有数据GoodsList[i].Goods_id=0;strcpy(GoodsList[i].Goods_name,"\0");GoodsList[i].Goods_price=0;GoodsList[i].Goods_num=0;}else{printf("\n选择不删除,返回主菜单");loginTitle();}printf("\n\t继续删除选“1”,返回主菜单选“0”:");scanf("%d",&flag);if(flag==0){saveGoods();break;}deleteGoods();}}}/*查询商品*/void queryGoods(){int choice;printf("\t\t\t\t1.查询全部商品信息\n");printf("\t\t\t\t2.按商品编号查询\n");printf("\t\t\t\t3.按商品名称查询\n");printf("\t\t\t\t4.按商品价格查询\n");printf("\t\t\t\t5.按商品库存查询\n");printf("\t\t\t\t6.返回主菜单\n");printf("请输入相应操作编号(1~5):");scanf("%d",&choice);switch(choice){case 1 :printGoods();break;case 2 :QueryGoods_id();break;case 3 :QueryGoods_name();break;case 4 :QueryGoods_price();break;case 5 :QueryGoods_num();break;case 6 :loginTitle();break;default:printf("\n输入错误,重新选择!\n\n");queryGoods();//continue;}}/*输出全部商品信息*/void printGoods() {FILE *fp;struct Goods *p;int i,t;p=GoodsList;if((fp=fopen("c:\\pyfc\\c\\project\\project.txt","rt+"))==NULL){printf("打开文件失败!\n");getchar();exit(1);}rewind(fp);fread(p,sizeof(struct Goods),N,fp);printf("当前商店中的商品信息:\n");for(i=0;i<N;i++,p++){if(GoodsList[i].Goods_id==0){break;}printf("\t\t\t%d\t%-8s\t%-8.2f\t%-6d\n",GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price,GoodsList[i].Goods_num);}fclose(fp);printf("返回查询选“1”,否则返回主菜单:");scanf("%d",&t);if(t==1){queryGoods();}}/*按商品编号查询*/void QueryGoods_id(){int id;int i;char t;import();printf("\n请输入你需要查询的商品编号:");scanf("%d",&id);printf("\t\t\t编号\t名称\t\t单价\t\t库存\n");for(i=0;i<N;i++){if(GoodsList[i].Goods_id==id)printf("\t\t\t%d\t%-8s\t%-8.2f\t%-6d\n",GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price,GoodsList[i].Goods_num);}printf("\n\t\t\t返回查询界面选“1”,输入任意键返回主菜单: ");fflush(stdin);scanf("%c",&t);if(t=='1'){queryGoods();}else{//printf("输入错误,返回主菜单");loginTitle();}}/*按商品名称查询*/void QueryGoods_name(){char name[50];int i,t;import();printf("\t\t\t请输入需要查询的商品名称: ");scanf("%s",&name);printf("\t\t\t名称\t\t编号\t单价\t\t库存\n");for(i=0;i<N;i++){if( strcmp(GoodsList[i].Goods_name,name) ==0 ) {printf("\t\t\t%-8s\t%d\t%-8.2f\t%-6d\n",GoodsList[i].Goods_name,GoodsList[i].Goods_id,GoodsList[i].Goods_price,GoodsList[i].Goods_num);}}printf("\t\t\t返回查询界面选“1”: ");scanf("%d",&t);if(t==1){queryGoods();}else{printf("输入错误,返回主菜单");loginTitle();}}/*按商品价格查询*/void QueryGoods_price(){float price1,price2;int i,t;import();printf("\t\t\t请输入你需要查询商品的价格区间:");printf("\n请输入最低价格:");scanf("%f",&price1);printf("\n请输入最高价格:");scanf("%f",&price2);printf("\t\t\t单价\t\t编号\t名称\t\t库存\n");for(i=0;i<N;i++){if(GoodsList[i].Goods_id==0){continue;}else if( (GoodsList[i].Goods_price>=price1) && (GoodsList[i].Goods_price<=price2))printf("\t\t\t%-8.2f\t%d\t%-8s\t%-6d\n",GoodsList[i].Goods_price,GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_num);}printf("\n\t\t\t返回查询界面选“1”: ");scanf("%d",&t);if(t==1){queryGoods();}else{printf("输入错误,返回主菜单");loginTitle();}}/*按商品库存查询*/void QueryGoods_num(){int num;int i,t;import();printf("\t\t\t请输入需要查询的商品库存量的最大范围: ");scanf("%d",&num);printf("\t\t\t库存\t编号\t名称\t\t单价\t\t\n");for(i=0;i<N;i++){if(GoodsList[i].Goods_id==0){continue;}else if((GoodsList[i].Goods_num>=0) && (GoodsList[i].Goods_num<=num)){printf("\t\t\t%-6d\t%d\t%-8s\t%-8.2f\t\n",GoodsList[i].Goods_num,GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price);}}printf("\t\t\t返回选“1”: ");scanf("%d",&t);if(t==1){queryGoods();}else{printf("输入错误,返回主菜单");loginTitle();}}/*商品排序*/void sortGoods(){int choice;printf("\t\t\t\t1.按商品单价排序\n");printf("\t\t\t\t2.按商品库存排序\n");printf("\t\t\t\t3.返回主菜单\n");printf("请输入相应操作编号(1~3):");scanf("%d",&choice);switch(choice){case 1 :sortGoods_price();break;case 2 :sortGoods_num();break;case 3 :loginTitle();break;default:printf("\n输入错误,重新选择!\n\n");sortGoods();//continue;}}/*单价排序*/void sortGoods_price(){int i=0,j,t,temp1;char temp2[N];int temp3;float temp4;import();printf("\n\t\t\t***********************单价排序***********************\n");for(i=0;i<N-1; i++){for(j=N-1;j>i; j--)if(GoodsList[j].Goods_price < GoodsList[j-1].Goods_price){temp1=GoodsList[j-1].Goods_id,GoodsList[j-1].Goods_id=GoodsList[j].Goods_id,GoodsList[j].Goods_id=temp1;strcpy(temp2,GoodsList[j-1].Goods_name),strcpy(GoodsList[j-1].Goods_name,GoodsList[j].Goods_name), strcpy(GoodsList[j].Goods_name,temp2);temp3=GoodsList[j-1].Goods_num,GoodsList[j-1].Goods_num=GoodsList[j].Goods_num,GoodsList[j].Goods_num=temp3;temp4=GoodsList[j-1].Goods_price,GoodsList[j-1].Goods_price=GoodsList[j].Goods_price,GoodsList[j].Goods_price=temp4;}}printf("\t\t\t单价\t\t编号\t名称\t\t库存\n");for(i=0;i<N;i++){if(GoodsList[i].Goods_id==0){continue;}printf("\t\t\t%-8.2f\t%d\t%-8s\t%-6d\n",GoodsList[i].Goods_price,GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_num);}printf("返回查询界面输入“1”,输入其他返回主菜单:");scanf("%d",&t);if(t==1){sortGoods();}else{loginTitle();}}/*库存排序*/void sortGoods_num(){int i=0,j,t,temp1;char temp2[N];int temp3;float temp4;import();printf("\n\t\t\t***********************库存量排序***********************\n");for(i=0;i<N-1; i++){for(j=N-1;j>i; j--)if(GoodsList[j-1].Goods_num < GoodsList[j].Goods_num){temp1=GoodsList[j-1].Goods_id,GoodsList[j-1].Goods_id=GoodsList[j].Goods_id,GoodsList[j].Goods_id=temp1;strcpy(temp2,GoodsList[j-1].Goods_name),strcpy(GoodsList[j-1].Goods_name,GoodsList[j].Goods_name), strcpy(GoodsList[j].Goods_name,temp2);temp3=GoodsList[j-1].Goods_num,GoodsList[j-1].Goods_num=GoodsList[j].Goods_num,GoodsList[j].Goods_num=temp3;temp4=GoodsList[j-1].Goods_price,GoodsList[j-1].Goods_price=GoodsList[j].Goods_price,GoodsList[j].Goods_price=temp4;}}printf("\t\t\t库存\t编号\t名称\t\t单价\t\t\n");for(i=0;i<N;i++){if( GoodsList[i].Goods_id==0 ){continue;}printf("\t\t\t%-6d\t%d\t%-8s\t%-8.2f\t\n",GoodsList[i].Goods_num,GoodsList[i].Goods_id,GoodsList[i].Goods_name,GoodsList[i].Goods_price);}printf("返回查询界面输入“1”,输入其他返回主菜单:");scanf("%d",&t);if(t==1){sortGoods();}else{loginTitle();}}void saveGoods(){FILE *fp;struct Goods *p;p=GoodsList;if((fp=fopen("c:\\pyfc\\c\\project\\project.txt","wt+"))==NULL){printf("打开文件失败!");getchar();exit(1);}fwrite(p,sizeof(struct Goods),N,fp);fclose(fp);}void import(){FILE *fp;struct Goods *p;p=GoodsList;if((fp=fopen("c:\\pyfc\\c\\project\\project.txt","rt+"))==NULL){printf("打开文件失败!\n");getchar();exit(1);}rewind(fp);fread(p,sizeof(struct Goods),N,fp);fclose(fp);}int quit(){int flag;printf("\t\t************************************\n");printf("\t\t\t感谢您的使用,再见!\n");printf("\t\t************************************\n");flag=0;return flag;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。