超市管理系统C语言程序代码

合集下载

超市管理系统(C语言课程设计报告)

超市管理系统(C语言课程设计报告)

超市管理系统本设计运用C语言程序设计了一个超市管理系统。

主要实现的功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能.1。

开发工具和编程语言:开发工具:Microsoft Visual C++ 6.0编程语言:C语言2.模块划分3。

系统功能与函数的对应关系本系统包括一个主函数和6个被调函数,分别如下:(1)主函数 void main()(2)功能选择函数 void gongneng()(3)进货功能函数 void jinhuo()(4)退货功能函数 void tuihuo()(5)商品销售函数 void spxs()(6)信息查询函数 void xxcx()(7)信息浏览函数 void spxxpx()4.结构体类型说明商品信息包括:商品编号、商品名称、商品进价、商品售价、商品库存数量。

结构体类型定义为:struct xinxi//结构体{char bh[30];//商品编号char bhstr[30];//商品名称float jinjia;//商品进价float shoujia;//商品售价int kucun;//商品库存数量};5。

系统函数的设计与实现5.1主函数主函数中运行功能选择函数,运行时可以显示系统界面,系统界面如图5—1所示。

图5—1 系统主界面主函数中可以实现各种功能的选择。

5.2进货功能函数(1)流程图进货功能函数实现进货功能,能够实现要进货商品的信息添加或录入.进货时,先检测本商品是否存在,若存在则修改库存数量等相关信息;否则添加本商品的相关信息.进货流程图如图5-2所示。

否图5—2进货功能流程图(2)系统代码void jinhuo ()//进货处理函数 {char str[30]; int i,a=2; while (a==2) {printf ("请输入商品的名称:");scanf(”%s”,str);for(i=0;i<b;i++)if(strcmp(str,s[i].bhstr)==0)//查找要进货的商品{printf(”编号:%s,进价:%5。

超市管理系统完整+源代码

超市管理系统完整+源代码

有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统,完成下列功能:1.保存及输出。

超市中的各种商品信息保存在指定文件中,可以把它们输出显示。

2.计算并排序。

计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。

3.统计。

统计输出库存量低于100的货号及类别。

统计输出有两种以上(含两种)商品库存量低于100的商品类别。

1.2总体结构本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格与库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别。

附录(程序清单)#include "stdio.h" /*输入,输出头文件*/#include "stdlib.h" /*申请空间头文件*/#include "string.h" /*对字符串加工头文件*/#include "conio.h" /*清屏头文件*/FILE *fp;int n=0; /*定义文件指针类型*/int i,j,a[4],m; /*定义整数类型*/float aver[4],sum[4],g[4],h; /*定义浮点类型*/char c[5]="elec"; /*定义字符数组类型*/char d[5]="comm"; /*定义字符数组类型*/char e[5]="food"; /*定义字符数组类型*/char f[5]="offi"; /*定义字符数组类型*/struct good /*定义结构体*/{int num; /*商品编号*/char name[20]; /*商品名称*/char kind[40]; /*商品类型*/float price; /*商品价格*/char unit[10]; /*商品单位*/int quantity; /*商品数量*/struct good *next; /*定义结构体指针类型*/}*head,*p1,*p2;struct good *createlist() /*创建链表函数*/ {struct good *head1,*p1,*p2; /*定义结构体指针类型*/if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/ {printf("can not open the file");exit(0); /*结束程序*/}head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/ p1=head1;p2=head1;printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d %s %s %f %s %d",&p1->num,p1->name,p1->kind,&p1->price,p1-> unit,&p1->quantity); /*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity);/*将商品信息写入文件*/while(1){p1=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d",&p1->num);if(p1->num==-1) /*申请空间结束条件*/{printf("____________________\n\n");fprintf(fp,"%d",-1);fclose(fp);return head1; /*返回头指针*/}scanf("%s %s %f %s %d",p1->name,p1->kind,&p1->price,p1->unit,&p1->quan tity); /*输入商品信息*/printf("________________\n");fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity);/*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}struct good *paixu(struct good*head2) /*链表排序函数*/{struct good *p6,*p7,*r,*s; /*定义结构体指针类型*/for(i=0;i<=3;i++) /*赋初值值*/{a[i]=0;sum[i]=0;aver[i]=0;}p6=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ p6->next=head2;head2=p6;while(p6->next!=NULL) /*判断循环结束条件*/{p7=p6->next;r=p6;while(p7->next!=NULL) /*判断循环结束条件*/{if((p7->next->price)>(r->next->price)) /*判断是否调换*/r=p7;p7=p7->next;}if(p6!=r) /*判断循环结束条件*/{s=r->next; /*指针调换*/r->next=s->next;s->next=p6->next;p6->next=s;}p6=p6->next;}p6=head2;head2=head2->next;free(p6); /*释放第一个无效空间*/return head2;}void jisuan(){p1=head;do{if(strcmp(p1->kind,c)==0) /*判断是否为电器类型*/{sum[0]=sum[0]+(p1->price)*(p1->quantity); /*求电器总价*/a[0]=a[0]+p1->quantity; /*求电器总件数*/}if(strcmp(p1->kind,d)==0) /*判断是否为日用品类型*/{sum[1]=sum[1]+(p1->price)*(p1->quantity); /*求日用品总价*/ a[1]=a[1]+p1->quantity; /*求日用品总件数*/}if(strcmp(p1->kind,e)==0) /*判断是否为办公用品类型*/{sum[2]=sum[2]+(p1->price)*(p1->quantity); /*求办公用品总价*/ a[2]=a[2]+p1->quantity; /*求办公用品总件数*/}if(strcmp(p1->kind,f)==0) /*判断是否为食品类型*/{sum[3]=sum[3]+(p1->price)*(p1->quantity); /*求食品总价*/a[3]=a[3]+p1->quantity; /*求食品总件数*/}p1=p1->next;}while (p1!=NULL); /*遍历链表结束条件*/for(i=0;i<4;i++)aver[i]=sum[i]/a[i]; /*求每类商品平均价*/printf("****************************************************\n");printf("商品类型\t 平均价\t 总库存量\n");printf("****************************************************\n");printf("____________________________________________________\n");printf("电器总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[0],aver[0],a[0]); printf("____________________________________________________\n");printf("日用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[1],aver[1],a[1]);printf("____________________________________________________\n"); printf("食品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[2],aver[2],a[2]); printf("____________________________________________________\n");printf("办公用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[3],aver[3],a[3]);printf("____________________________________________________\n"); }void shuchu() /*输出商品信息函数*/{do{struct good *p3,*p4,*p5; /*定义结构体指针类型*/int n=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goods message.txt","rb+"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p3=head;fscanf(fp,"%d %s %s %f %s %d",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity);/*从文件中写到链表*/while(1){p4=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/fscanf(fp,"%d ",&p4->num);if(p4->num!=-1) /*判断循环结束条件*/{fscanf(fp,"%s %s %f %s %d",p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity); /*从文件中写到链表*/p4->next=NULL;p3->next=p4;p3=p4;}else{p3->next=NULL;break;}}fclose(fp); /*关闭文件*/p3=head;while(p3!=NULL){printf(" %d %s %s %0.1f %s %d\n\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity);printf("__________________________________\n");p3=p3->next;}printf("**********************************\n");printf("//////////////////////////////////\n");while(n!=4){p3=head;printf("**********************************\n");printf("1 添加商品信息\n");printf("2 删除某商品信息\n");printf("3 修改某商品信息\n");printf("4 返回(当你完成了对某一商品的添加、删除或者修改后请按4返回)\n");printf("**********************************\n");scanf("%d",&n);if(n==1) /*添加商品信息*/{printf("请输入商品编号名称类型价格单位数目\n");printf("**********************************\n");p4=(struct good *)malloc(sizeof(struct good)); /*申请空间*/scanf("%d %s %s %f %s %d",&p4->num,p4->name,p4->kind,&p4->price,p4-> unit,&p4->quantity); /*输入商品信息*/p4->next=NULL;while(p3->next!=NULL) /*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}while(p3!=NULL){fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity)/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==2) /*删除商品*/{printf("**********************************\n");printf("请输入需要删除的商品编号\n");printf("**********************************\n");scanf("%d",&p);printf("**********\n");printf("1 确认删除\n2 取消删除\n");printf("**********\n");scanf("%d",&r);if(r==1){if((head->num)==p){head=head->next;free(p3); /*释放空间*/}else{p4=head;p3=p4->next;while(p3!=NULL) /*判断循环结束条件*/{if((p3->num)==p){p5=p3->next;free(p3); /*释放空间*/p4->next=p5;break;}p3=p3->next;p4=p4->next;}}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/}if(r==2)continue; /*继续循环*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==3) /*修改某商品信息*/{printf("请输入需要修改的商品编号\n");scanf("%d",&q);while(p3!=NULL) /*判断循环结束条件*/{if((p3->num)==q) /*判断是否为所需要修改的商品*/{printf("请输入商品单价与库存量(如果单价不变请输入原来的单价)\n");scanf("%f %d",&p3->price,&p3->quantity); /*输入商品价格与库存量*/}p3=p3->next;}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity);/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==4) /*退出*/break;}printf("**********\n");printf("1 继续修改\n---------\n2 返回\n");printf("**********\n");scanf("%d",&p);if(p==1)continue; /*继续循环*/if(p==2)break; /*跳出循环*/}while(n!=2);fclose(fp); /*关闭文件*/}void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,c)==0) /*判断商品类型是否为电器类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出电器类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,d)==0) /*判断商品类型是否为日用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出日用品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,e)==0) /*判断商品类型是否为办公用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出办公用品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf3(struct good *p) /*遍历链表并打印食品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,f)==0) /*判断商品类型是否为食品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出食品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void shunxudayin(){for(i=0;i<4;i++)g[i]=aver[i]; /*将平均价赋给新数组*/for(j=0;j<3;j++) /*将新数组用冒泡排序法排序*/for(i=j+1;i<4;i++){if(g[j]<g[i]){h=g[j];g[j]=g[i];g[i]=h;}}printf("\n****************************\n");printf("商品平均价格排序表(从高到低)\n");printf("****************************\n");printf("________________________________________________\n"); printf("编号\t名称\t类别\t单价\t单位\t数量\n");printf("________________________________________________\n"); for(j=0;j<4;j++)for(i=0;i<4;i++){if (aver[i]==g[j]) /*判断每类商品平均价格的先后顺序*/switch(i){case 0:printf0(head); /*调用遍历链表并打印电器类商品函数*/break;case 1:printf1(head); /*调用遍历链表并打印日用品类商品函数*/break;case 2:printf2(head);/*调用遍历链表并打印办公用品类商品函数*/break;case 3:printf3(head); /*调用遍历链表并打印食品类商品函数*/break;}}}void tongji1(){p1=head;printf("\n************************\n");printf("库存量低于100的货名及类别\n");printf("************************\n");printf("________________________\n");printf("商品名称\t商品类型\n");printf("________________________\n");while(p1!=NULL) /*判断遍历链表循环结束条件*/{if(p1->quantity<100) /*判断库存量是否小于100*/{printf("%s\t%s\n",p1->name,p1->kind); /*输出商品名称及类别*/ printf("________________________\n");}p1=p1->next;}}void tongji2(){printf("\n**********************************************\n");printf("商品库存量有2种以上(含2种)低于100的商品类别:\n");printf("**********************************************\n");printf("________\n");if((a[0]<100)&&(a[0]>=2)) /*判断电器类库存量是否为2种以上(含2种)低于100*/{printf("电器\n");printf("________\n");}if((a[1]<100)&&(a[1]>=2)) /*判断日用品类库存量是否为2种以上(含2种)低于100*/{printf("日用品\n");printf("________\n");}if((a[2]<100)&&(a[2]>=2)) /*判断食品类库存量是否为2种以上(含2种)低于100*/{printf("食品\n");printf("________\n");}if((a[3]<100)&&(a[3]>=2)) /*判断办公用品类库存量是否为2种以上(含2种)低于100*/{printf("办公用品\n");printf("________\n");}}int main(int argc, char* argv[]){struct good *p1,*p2; /*定义结构体指针类型*/while(1){printf("***********************************************\n");printf("1 ----------输出查看或者修改已存信息-----------\n");printf("-----------------------------------------------\n");printf("2 -----重新输入新信息(并且删除原有信息)------\n"); printf("-----------------------------------------------\n");printf("3 统计商品信息(如果您还没有查看过信息请先按1)\n"); printf("-----------------------------------------------\n");printf("4 -------------------退出---------------------\n");printf("***********************************************\n");scanf("%d",&m);if(m==1)shuchu(); /*调用输出信息函数*/if(m==2){system("cls");head=createlist(); /*调用建立链表函数*/}if(m==3){printf("统计结果如下\n");head=paixu(head); /*调用链表排序函数*/ jisuan(); /*调用计算函数*/shunxudayin(); /*调用顺序打印函数*/tongji1(); /*调用统计1函数*/tongji2(); /*调用统计2函数*/}if(m==4){p1=head;while(p1!=NULL) /*判断遍历链表结束条件*/ {p2=p1->next;free(p1); /*释放空间*/p1=p2;}break;}}return 0; /*结束程序*/}。

超市商品管理系统C语言源代码

超市商品管理系统C语言源代码

超市商品管理系统C语言源代码SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-#include <stdio.h>#include <math.h>#include <string.h>#include<conio.h>#include<stdio.h>#include<string.h>#define MAX 20#define PRINT1 printf("---------------------------------------------------------\n")#define PRINT2 printf("商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n")#define PRINT3 printf("M%8s%8s崓----M\n",goods[i].num,goods[i].name,goods[i].kind,goods[i].out_price,goods[i ].pro_time.year,goods[i].pro_time.month,goods[i].pro_time.day,goods[i].s ave_day)int sum;struct date{int year;int month;int day;};struct goods_type /*定义结构体*/{int num;char name[10];char kind[10];int amount;int in_price;int out_price;struct date pro_time;int save_day;int profit;}goods[MAX];Save_Message(int sum); /*函数声明*/void Inquire_message(void);void Inquire_goodskind(void);void Inquire_goodsname(void);int Read_Message(void);void Renew_Messahe(void);void Revise_Message(void);void Delete_Message(void);void Insert_Message();void Show_Message(void);int Input_Message(void);void Count_Message();long Count_Profit();long Count_Amount();void Sort_amount(void);void Sort_Message(void);void Sort_Message(void){int choice;do{clrscr();printf("\n\n\n *******商品信息排行********\n\n");printf(" 1:按库存量排行\n\n");printf(" 0:返回主菜单\n\n");printf(" 请选择(0-1): ");scanf("%d",&choice);switch(choice){case 1:Sort_amount();break;case 0:break;}}while(choice!=0);}void Sort_amount(void) /*库存量排序*/{struct goods_type *p,*q[MAX];int i,j,k;clrscr();printf(" 库存排行");PRINT1;printf("\n\n排名商品号商品名称商品类别库存量\n\n"); p=goods;for(i=0;i<sum;i )q[i]=p ;for(i=0;i<sum;i ){k=i;for(j=i 1;j<sum;j )if(q[k]->amount<q[j]->amount)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i ){printf(" %d ",i 1);printf(" %d ",q[i]->num);printf(" %s ",q[i]->name);printf(" %s ",q[i]->kind);printf(" %d \n ",q[i]->amount);}bioskey(0);}long Count_Amount() /*统计库存量*/ {int i,j=0,choice,count_num,Amount;char inquire_name[10];clrscr();printf("\n 请输入想要统计的商品号: "); scanf("%d",&count_num);for(i=0;i<sum;i )if(goods[i].num==count_num){Amount=goods[i].amount;printf("-------------------------"); printf(" 商品号库存量");printf("\n崓",goods[i].num,Amount); }elsej ;if(j==sum)printf("该商品信息不存在!!!");bioskey(0);}long Count_Profit() /*统计利润模块*/{int i,choice,j=0,count_num,profit;clrscr();printf("\n 请输入想要统计的商品号: ");scanf("%d",&count_num);for(i=0;i<sum;i )if(goods[i].num==count_num){profit=goods[i].out_price-goods[i].in_price;printf("\n 商品利润");printf("\n -------------------------------");printf("\n 商品号利润");printf("\n 崓\n",&goods[i].num,&profit);}elsej ;if(j==sum)printf("\n 该商品不存在!!!");printf("\n 按任意键返回主菜单!!");bioskey(0);}void Count_Message(void) /*统计模块*/{int choice;do{clrscr();printf("**************统计商品信息*************\n\n\n");printf("******* 1:统计库存量 ************\n\n\n"); printf("******* 2:统计利润 ************\n\n\n");printf("******* 0:返回主菜单 ************\n\n\n");printf("******* 请选择(0-2): ************\n\n\n");scanf("%d",&choice);switch(choice){case 1:Count_Amount();break;case 2:Count_Profit();break;case 0:break;}}while(choice!=0);}int Input_Message(void) /*输入模块*/{int i=0,s=MAX;char bd;clrscr();printf("开始输入商品信息.\n");printf("\n\n 商品信息:(最多 %d) \n",s);printf(" ===============================\n");do{printf("\n 第 %d 商品",i 1);printf("\n 商品号: ");scanf("%d",&goods[i].num);if(goods[i].num==0) break;printf("\n 商品名称: ");scanf ("%s",goods[i].name);printf("\n 商品种类: ");scanf ("%s",goods[i].kind);printf("\n 商品库存量: ");scanf ("%d",&goods[i].amount);printf("\n 进货价格: ");scanf ("%d",&goods[i].in_price);printf("\n 销售价格: ");scanf ("%d",&goods[i].out_price);printf("\n 生产日期(yyyy-mm-dd): ");scanf ("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time. day);printf("\n 保质期: ");scanf ("%d",&goods[i].save_day);printf("继续输入信息,y or n ??");fflush(stdin);scanf("%c",&bd);if(bd=='y')i ;elsebreak;}while(i<MAX);printf("\n--%d 所有商品录入完毕!--\n\n\n",i 1);getch();printf(" 按任意键返回主菜单.");sum=i;printf("输入回车返回主菜单!!!");bioskey(0);}void Show_Message(void) /*显示输出模块*/{int i=0,j=0,count,page=7;clrscr();printf("\n\n --商品信息-- 在第 %d 页\n\n",page);PRINT2;PRINT1;do{if(goods[i].num!=0){j ;if(j%page!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(goods[i 1].num!=0){printf("按任意键继续!");bioskey(0);clrscr();printf("\n\n --------商品信息--------在第 %d 页\n\n", page);PRINT2;PRINT1;}}}i ;}while(goods[i].num!=0);printf("按任意键返回主菜单!!!!!");bioskey(0);}void Insert_Message(void)/*添加商品信息模块*/{int i=sum,j,flag=0;char choice;clrscr();printf("\n\n 添加一种新商品\n\n ");printf("\n-------------------------------------------------\n");do{goods[i].num= sum;printf("\n 新商品号:%d",goods[i].num);printf("\n 新商品名: ");scanf("%s",goods[i].name);printf("\n 新商品种类: ");scanf("%s",goods[i].kind);printf("\n 新商品数量: ");scanf("%d",&goods[i].amount);printf("\n 进价: ");scanf("%d",&goods[i].in_price);printf("\n 售价: ");scanf("%d",&goods[i].out_price);printf("\n 生产日期(yyyy-mm-dd): ");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time. day);printf("\n 保质期: ");scanf("%d",&goods[i].save_day);i ;printf("\n\n 想继续添加商品吗?(Y/N)");fflush(stdin);choice=getch();if(choice=='y'||choice=='Y'){printf("继续");flag=1;}elseflag=0;}while(flag==1);printf("\n\n\n 按任意键返回主菜单.........");bioskey(0);}void Delete_Message(void)/*删除商品信息模块*/ {int i,j,numberkey,flag=0;char choice;printf("开始删除......\n\n");do{clrscr();printf("请输入你要删除的商品号: \n");scanf("%d",&numberkey);for(i=0;i<sum;i ){if(goods[i].num==numberkey){for(j=i;j<sum;j )goods[j]=goods[j 1];sum--;flag=1;printf("删除成功!!\n\n\n");break;}}if(flag==0){printf("不存在该商品信息!!!"); bioskey(0);}printf("\n\n是否继续输入(y/n)?\n");getchar();scanf("%c",&choice);}while(choice=='y'||choice=='Y');printf("\n按任意键返回");bioskey(0);}void Revise_Message(void)/*修改商品信息模块*/ {int i,j,flag,choice,revise_num;char ch;do{clrscr();printf("\n\n 开始修改...");printf("\n\n 请输入你想输入的商品号:\n");scanf("%d",&revise_num);for(i=0;i<sum;i ){if(goods[i].num==revise_num){printf("确定修改此商品信息吗?(y/n)");PRINT1;PRINT2;PRINT3;getchar();ch=getchar();if(ch='y'){printf("\n\n\n修改商品信息的哪一项?");printf("\n\n 1:商品名称");printf("\n\n 2:商品类型");printf("\n\n 3:销售价格");printf("\n\n 4:生产日期");printf("\n\n 5:保质期");printf("\n\n 请选择(0-5)\n");scanf("\n %d",&choice);switch(choice){case 1:printf("请输入修改后的商品名\n");scanf("%s",&goods[i].name);break;case 2:printf("请输入修改后的商品类型\n");scanf("%s",&goods[i].kind);break;case 3:printf("请输入修改后的商品销售价格\n"); scanf("%d",&goods[i].out_price);break; case 4:printf("请输入修改后的商品生产日期\n"); scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time. day);break;case 5:printf("请输入修改后的商品保质期\n");scanf("%d",&goods[i].save_day);break;case 0:break;}printf("修改商品信息:\n");PRINT2;PRINT3;}elsebreak;}elsej ;if(j==sum)printf("不存在该商品信息..");}printf("\n\n 继续修改商品信息吗(y/n)?");getchar();ch=getchar();if(ch=='y'){printf("继续.\n");flag=1;}elseflag=0;}while(flag==1);printf("修改完成!!\n\n");getch();}void Renew_Message(void) /*更新商品信息模块*/{int choice;do{clrscr();printf("\n\n*********更新商品信息*********"); printf("\n\n 1:添加商品信息.\n\n");printf("\n\n 2:删除商品信息.\n\n");printf("\n\n 3:修改商品信息.\n\n");printf("\n\n 0:返回上一级.\n\n");printf("\n\n 请选择(0-3): ");scanf("%d",&choice);switch(choice)case 1:Insert_Message();break;case 2:Delete_Message();break;case 3:Revise_Message();break;case 0:break;}}while(choice!=0);}int Read_Message(void) /*读取信息模块*/{FILE *fp;int i=0;if((fp=fopen("999.txt","rb"))==NULL){printf("\n\t 现在还没有保存全部信息,按回车键回到主菜单输入商品信息!!");printf("\n\t 按任意键返回!!!!\n");getch();return;}while(feof(fp)!=1){fread(&goods[i],sizeof(struct goods_type),1,fp);if(goods[i].num==0)break;elsei ;}fclose(fp);return(i);}void Inquire_goodsname(void)/*按商品名称查询*/{int i,j,choice;char namekey[10];j=0;printf("开始查询...");printf("请输入你要查询的商品号:\n");scanf("%s",namekey);for(i=0;i<sum;i )if(strcmp(goods[i].name,namekey)==0&&goods[i].num!=0)printf(" ---商品信息----");PRINT1;PRINT2;PRINT3;}elsej ;if(j==sum)printf("该商品不存在!");printf("按任意键返回主菜单.");getch();}void Inquire_goodskind(void)/*按商品类型查询*/{int i,j,choice;char kindkey[10];j=0;printf("开始查询...");printf("请输入你要查询的商品种类:\n");scanf("%s",kindkey);for(i=0;i<sum;i )if(strcmp(goods[i].kind,kindkey)==0&&goods[i].num!=0) {printf(" ---商品信息----");PRINT1;PRINT2;PRINT3;}elsej ;if(j==sum)printf("该商品不存在!");printf("按任意键返回主菜单.");getch();}void Inquire_Message(void) /*查询模块*/{int choice;do{printf("\n *****查询商品信息 ***** \n");printf("\n *****1:按商品名称.***** \n");printf("\n *****2:按商品种类.***** \n");printf("\n *****0:返回上一级.***** \n");printf("\n 请选择(0-2): ***** \n");scanf("%d",&choice);switch(choice){case 1:Inquire_goodsname();break;case 2:Inquire_goodskind();break;case 0:break;}}while(choice!=0);}Save_Message(int sum) /*保存模块*/{FILE *fp;int i;if((fp=fopen("999.txt","wb"))==NULL){printf("\n\n不能打开文件!\n\n");exit();}for(i=0;i<=sum;i )if(fwrite(&goods[i],sizeof(struct goods_type),1,fp)!=1) printf("写文件出错!");fclose(fp);}void main(void) /*主函数*/{int choice;clrscr();sum=Read_Message();bioskey(0);do{clrscr();printf("***************************************************\n");printf(" ************ 超市商品管理系统**************\n");printf(" ************\n");printf(" ************\n");printf(" ************\n");printf(" ****** 欢迎登陆******\n");printf(" ************\n");printf(" ************\n");printf(" ************\n");printf("***************************************************\n");printf("***************************************************\n");getchar ();clrscr();printf(" ***************超市商品管理系统***********\n\n"); printf(" ***** 1:输入商品信息 *****\n\n"); printf(" ***** 2:输出商品信息 *****\n\n"); printf(" ***** 3:更新商品信息 *****\n\n"); printf(" ***** 4:查询商品信息 *****\n\n"); printf(" ***** 5:统计商品信息 *****\n\n"); printf(" ***** 6:商品信息排序 *****\n\n"); printf(" ***** 0:退出系统 *****\n\n"); printf(" ***** 请选择(0-6): *****\n"); scanf("%d",&choice);switch(choice){case 1:Input_Message();break;case 2:Show_Message();break;case 3:Renew_Message();break;case 4:Inquire_Message();break;case 5:Count_Message();break;case 6:Sort_Message();break;case 0:break;}}while(choice!=0);Save_Message(sum);printf("\n-信息已经保存!-(file name:999.txt)\n");。

超市管理系统c实现

超市管理系统c实现

超市管理系统c实现#include<stdio.h>#include<malloc.h>#include<string.h>typedef struct goods{char Name[10];char num[10];char prd_date[10];char sf_date[10];float price;char unit[20];char number[3];struct goods *next;}goods;void Lulu(int i,goods *t,goods *q);void shuchu(goods *t);void xiugai(char *ch,goods *t);void chaxun(char *ch,goods *t);void add(goods *t);void shanchu(goods *t);void main(){goods head,*p,*q;int i,t,m;char num[10];head.next=NULL;i=0;printf("1录入商品的信息\n");printf("请输入要录入商品的个数:\n");scanf("%d",&t);while(i<t){q=&head;p=(goods*)malloc(sizeof(goods));p->next=NULL;Lulu(i,p,q);while(q->next)q=q->next;q->next=p;i++;}printf("请选择您所需要的功能:\n");printf("2查看所有商品\n");printf("3修改商品信息\n");printf("4查询信商品信息\n");printf("5增加新商品信息\n");printf("6删除商品信息\n");printf("0退出程序\n");scanf("%d",&m);while(m!=0){q=&head;if(m==2){while(q->next){q=q->next;shuchu(q);}printf("请选择您所需要的功能:\n"); printf("2查看所有商品\n");printf("3修改商品信息\n");printf("4查询信商品信息\n");printf("5增加新商品信息\n");printf("6删除商品信息\n");printf("0退出程序\n");}if(m==3){printf("请输入要修改商品的编号:\n");scanf("%s",&num);xiugai(num,q);}if(m==4){printf("请输入要查询商品的编号:\n");scanf("%s",num);chaxun(num,q);}if(m==5){add(q);}if(m==6){shanchu(q);}scanf("%d",&m);}}void Lulu(int i,goods *t,goods *q){int flag;goods* l;printf("请输入第%d个商品的编号:\n",i+1);while(1){l=q;flag=0;scanf("%s",t->num);while(l){if(!strcmp(l->num,t->num)){printf("输入的编号已存在,请重新输入\n");flag=1;break;}l=l->next;}if(!flag) break;}printf("请输入第%d个商品的名称:\n",i+1);scanf("%s",t->Name);printf("请输入第%d个商品的生产日期:\n",i+1);scanf("%s",t->prd_date);printf("请输入第%d个商品的保质期:\n",i+1);scanf("%s",t->sf_date);printf("请输入第%d个商品的价格:\n",i+1);scanf("%f",&t->price);printf("请输入第%d个商品的单位:\n",i+1);scanf("%s",t->unit);printf("请输入第%d个商品的所属柜组:\n",i+1);scanf("%s",t->number);}void shuchu(goods *t){printf("商品的编号:%s\n",t->num);printf("商品的名称:%s\n",t->Name);printf("商品的生产日期:%s\n",t->prd_date);printf("商品的保质期:%s\n",t->sf_date);printf("商品的价格:%.2f元\n",t->price);printf("商品的单位:%s\n",t->unit);printf("商品所属柜组:%s\n",t->number);printf("\n\n");}void xiugai(char *ch,goods *t){int i,m,flag=1;t=t->next;while(t){if(strcmp(t->num,ch)==0){flag=0;break;}elset=t->next;}if(flag==1){printf("编号不存在,请选择0退出修改重新选择修改商品信息,重新输入编号");}while(1){printf("请选择要修改的商品的信息\n");printf("1修改商品的编号\n");printf("2修改商品的名称\n");printf("3.修改商品的价格\n");printf("4.修改商品的单位\n");printf("5.修改商品所属柜组\n");printf("输入0结束修改\n");scanf("%d",&m);i=m;if(i==1){printf("请输入商品的新编号:\n");scanf("%s",t->num);}if(i==2){printf("请输入商品的新名称:\n");scanf("%s",t->Name);}if(i==3){printf("请输入商品的新价格:\n");scanf("%f",&t->price);}if(i==4){printf("请输入商品的新单位:\n");scanf("%s",t->unit);}if(i==5){printf("请输入商品所属的新柜组:\n");scanf("%s",t->number);}if(i==0)break;}printf("请选择您所需要的功能:\n");printf("2查看所有商品\n");printf("3修改商品信息\n");printf("4查询信商品信息\n");printf("5增加新商品信息\n");printf("6删除商品信息\n");printf("0退出程序\n");}void chaxun(char *ch,goods *t){int flag=1;t=t->next;while(t){if(strcmp(t->num,ch)==0){flag=0;break;}t=t->next;}if(flag==1){printf("编号不存在,重新输入编号");}elseshuchu(t);printf("请选择您所需要的功能:\n");printf("2查看所有商品\n");printf("3修改商品信息\n");printf("4查询信商品信息\n");printf("5增加新商品信息\n");printf("6删除商品信息\n");printf("0退出程序\n");}void add(goods *t){goods *q,*p;int flag,word=1;q=(goods*)malloc(sizeof(goods));while(word){p=t;flag=0;printf("请输入要增加的商品的编号:\n");scanf("%s",q->num);while(p->next){if(strcmp(p->next->num,q->num)==0){flag=1;break;}p=p->next;}if(flag==1){printf("商品编号有重复,请重新输入商品的编号\n");continue;}elseword=0;printf("请输入商品的名称:\n");scanf("%s",q->Name);printf("请输入商品的生产日期:\n");scanf("%s",q->prd_date);printf("请输入商品的保质期:\n");scanf("%s",q->sf_date);printf("请输入商品的价格:\n");scanf("%f",&q->price);printf("请输入商品的单位:\n");scanf("%s",q->unit);printf("请输入商品所属柜组:\n");scanf("%s",q->number);}p=t;while(p->next){if(strcmp(p->next->num,t->num)>0)break;elsep=p->next;}q->next=p->next;p->next=q;printf("请选择您所需要的功能:\n");printf("2查看所有商品\n");printf("3修改商品信息\n");printf("4查询信商品信息\n");printf("5增加新商品信息\n");printf("6删除商品信息\n");printf("0退出程序\n");}void shanchu(goods *p){goods *q,*t;char num[10];q=p;printf("请输入要删除的商品编号:\n");scanf("%s",num);while(q->next)if(strcmp(q->next->num,num)==0)break;else q=q->next;if(q->next){t=q->next;q->next=q->next->next;free(t);}elseprintf("没有该编号的商品");printf("请选择您所需要的功能:\n");printf("2查看所有商品\n");printf("3修改商品信息\n");printf("4查询信商品信息\n");printf("5增加新商品信息\n");printf("6删除商品信息\n");printf("0退出程序\n");}。

C++超市管理系统代码文档

C++超市管理系统代码文档

C++超市管理系统代码文档#include〈stdlib.h〉#include<time。

h〉srand((unsigned)time(NULL));while(i〈5){arr。

a[i++]=rand()%5;arr.length++;}cin〉>cn;switch(cn){case 0: exit;case 1: mpsort(int a[Max]);diaplay();break; case 2: xzsort(int a[Max]);diaplay();break; default : cout<〈"error”<<endl;}#include<iostream。

h>const int Max=5;class Array{int a[Max];int last;public:void init();void mpSort();void xzSort(); }void Array::Init(){int i=0,t;last=0;cout〈<”请输入一个数组"<〈endl;while((cin〉〉t)&&i〈Max){a[i]=t;i++;last++;}}void Swap(int &x,int &y){int z;z=x;x=y;y=z;}void Array::mpSort() {int i,j;cout<〈”您调用的是冒泡排序法"〈<endl; for(i=0;i<last-1;i++)for(j=0;j〈last—i;j++)if(a[j]〉a[j+1])swap(a[j],a[j+1]); }void Array::xzSort() {int i,j,k;cout〈<”您调用的是选择排序法"<〈endl;for(i=0;i〈last-1;i++){k=i;for(j=i+1;j〈last—1;j++)if(a[j]<a[i])k=j;Swap(a[i],a[k]);}}void Array::diaplay(){int i;cout〈<"当前数组中的元素是:”<〈endl;for(i=0;i<last;i++)cout〈〈a[i]〈〈endl;}int menu_select() {int cn;char s;cout〈<"欢迎使用趣味菜单,请选择您要处理问题的方法"<〈endl; cout<〈”0. 退出"〈〈endl;cout<<”1. 用冒泡排序法进行排序”〈〈endl;cout〈<"2. 用选择排序法进行排序”<<endl; cout<〈"请输入0,,2"<〈endl;do{s=getchar();cn=(int)s-48;}while(cn〈-1||cn>2);return cn;}void main(){Array b;b.init();b。

C语言大作业-超市货物管理系统

C语言大作业-超市货物管理系统

//预防闪屏
return 0;
}
for(i=0;i<n;i++)
if(gds[i].ave!=0)
//在后面的 del()函数中通过将 gds[i].ave=0 来
表示该记录被删除了
if(fwrite(&gds[i],sizeof(struct goods),1,fp)!=1)//开始写入文件
printf("文件写入发生错误\n");
gds[i].ave=( gds[i].MJ+ gds[i].JJ)/2;
}
/*******【编号长度处理函数】********/
void lenbian(int i)
{
int j,l,a;
l=strlen(gds[i].BH);
if(l<LEN)
{
for(j=LEN-l,a=0;j<LEN;j++)
case 2:printf("姓名:");scanf("%s",gds[i].MZ);break;
case 3:printf("进价:");scanf("%f",&gds[i].JJ);break;
case 4:printf("卖价:");scanf("%f",&gds[i].MJ);break;
case 5:rishuru(i);break;
//i 表示第 i 个货物信息,n 表示比较到第
n 个货物
{
int j,k,w1;
do{
w1=0;
printf(" 编 号 :\t\t 【 %d 位 , 低 于 %d 位 前 面 补 0, 长 的 截 尾 处 理 ! 】

C语言程序设计超市管理系统1

C语言程序设计超市管理系统1

程序设计——超市管理系统学院:专业:班级:姓名:学号:指导老师:超市管理系统课程设计1)需求分析:设计题目:超市管理系统设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。

2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。

3.统计:统计输出库存量低于100的货号及类别。

统计输出有两种以上(含两种)商品库存量低于100的商品类别。

2)概要设计:系统总体设计框架:系统功能模块图:3)详细设计:主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格与库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别工作流程图:4)主要源程序代码:#include "stdio.h" /*输入,输出头文件*/#include "stdlib.h" /*申请空间头文件*/#include "string.h" /*对字符串加工头文件*/#include "conio.h" /*清屏头文件*/FILE *fp;int n=0; /*定义文件指针类型*/int i,j,a[4],m; /*定义整数类型*/float aver[4],sum[4],g[4],h; /*定义浮点类型*/char c[5]="elec"; /*定义字符数组类型*/char d[5]="comm"; /*定义字符数组类型*/char e[5]="food"; /*定义字符数组类型*/char f[5]="offi"; /*定义字符数组类型*/struct good /*定义结构体*/{int num; /*商品编号*/char name[20]; /*商品名称*/char kind[40]; /*商品类型*/float price; /*商品价格*/char unit[10]; /*商品单位*/int quantity; /*商品数量*/struct good *next; /*定义结构体指针类型*/}*head,*p1,*p2;struct good *createlist() /*创建链表函数*/{struct good *head1,*p1,*p2; /*定义结构体指针类型*/if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p1=head1;p2=head1;printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d %s %s %f %s %d",&p1->num,p1->name,p1->kind,&p1->price,p1->u nit,&p1->quantity); /*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/while(1){p1=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d",&p1->num);if(p1->num==-1) /*申请空间结束条件*/{printf("____________________\n\n");fprintf(fp,"%d",-1);fclose(fp);return head1; /*返回头指针*/}scanf("%s %s %f %s %d",p1->name,p1->kind,&p1->price,p1->unit,&p1->qua ntity); /*输入商品信息*/printf("________________\n");fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}struct good *paixu(struct good*head2) /*链表排序函数*/{struct good *p6,*p7,*r,*s; /*定义结构体指针类型*/for(i=0;i<=3;i++) /*赋初值值*/{a[i]=0;sum[i]=0; aver[i]=0; }p6=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ p6->next=head2;head2=p6;while(p6->next!=NULL) /*判断循环结束条件*/{p7=p6->next;r=p6;while(p7->next!=NULL) /*判断循环结束条件*/{if((p7->next->price)>(r->next->price)) /*判断是否调换*/r=p7;p7=p7->next;}if(p6!=r) /*判断循环结束条件*/{s=r->next; /*指针调换*/r->next=s->next;s->next=p6->next;p6->next=s;}p6=p6->next;}p6=head2;head2=head2->next;free(p6); /*释放第一个无效空间*/return head2;}void jisuan(){p1=head;do{if(strcmp(p1->kind,c)==0) /*判断是否为电器类型*/ {sum[0]=sum[0]+(p1->price)*(p1->quantity); /*求电器总价*/a[0]=a[0]+p1->quantity; /*求电器总件数*/}if(strcmp(p1->kind,d)==0) /*判断是否为日用品类型*/{sum[1]=sum[1]+(p1->price)*(p1->quantity); /*求日用品总价*/a[1]=a[1]+p1->quantity; /*求日用品总件数*/}if(strcmp(p1->kind,e)==0) /*判断是否为办公用品类型*/ {sum[2]=sum[2]+(p1->price)*(p1->quantity); /*求办公用品总价*/a[2]=a[2]+p1->quantity; /*求办公用品总件数*/}if(strcmp(p1->kind,f)==0) /*判断是否为食品类型*/{sum[3]=sum[3]+(p1->price)*(p1->quantity); /*求食品总价*/a[3]=a[3]+p1->quantity; /*求食品总件数*/}p1=p1->next;}while (p1!=NULL); /*遍历链表结束条件*/for(i=0;i<4;i++)aver[i]=sum[i]/a[i]; /*求每类商品平均价*/printf("****************************************************\n"); printf("商品类型 \t 平均价\t 总库存量\n");printf("****************************************************\n"); printf("____________________________________________________\n"); printf("电器总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[0],aver[0],a[0]);printf("____________________________________________________\n"); printf("日用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[1],aver[1],a[1]);printf("____________________________________________________\n"); printf("食品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[2],aver[2],a[2]);printf("____________________________________________________\n"); printf("办公用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[3],aver[3],a[3]);printf("____________________________________________________\n"); }void shuchu() /*输出商品信息函数*/{do{struct good *p3,*p4,*p5; /*定义结构体指针类型*/int n=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goods message.txt","rb+"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p3=head;fscanf(fp,"%d %s %s %f %s %d",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity); /*从文件中写到链表*/while(1){p4=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/fscanf(fp,"%d ",&p4->num);if(p4->num!=-1) /*判断循环结束条件*/{fscanf(fp,"%s %s %f %s %d",p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity); /*从文件中写到链表*/p4->next=NULL;p3->next=p4;p3=p4;}else{p3->next=NULL;break;}}fclose(fp); /*关闭文件*/p3=head;while(p3!=NULL){printf(" %d %s %s %0.1f %s %d\n\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity);printf("__________________________________\n");p3=p3->next;}printf("**********************************\n");printf("//////////////////////////////////\n");while(n!=4){p3=head;printf("**********************************\n");printf("1 添加商品信息\n");printf("2 删除某商品信息\n");printf("3 修改某商品信息\n");printf("4 返回(当你完成了对某一商品的添加、删除或者修改后请按4返回)\n");printf("**********************************\n");scanf("%d",&n);if(n==1) /*添加商品信息*/{printf("请输入商品编号名称类型价格单位数目\n");printf("**********************************\n");p4=(struct good *)malloc(sizeof(struct good)); /*申请空间*/scanf("%d %s %s %f %s %d",&p4->num,p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity); /*输入商品信息*/p4->next=NULL;while(p3->next!=NULL) /*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}while(p3!=NULL){fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity) ; /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==2) /*删除商品*/{printf("**********************************\n");printf("请输入需要删除的商品编号\n");printf("**********************************\n");scanf("%d",&p);printf("**********\n");printf("1 确认删除\n2 取消删除\n");printf("**********\n");scanf("%d",&r);if(r==1){if((head->num)==p){head=head->next;free(p3); /*释放空间*/}else{p4=head;p3=p4->next;while(p3!=NULL) /*判断循环结束条件*/{if((p3->num)==p){p5=p3->next;free(p3); /*释放空间*/p4->next=p5;break;}p3=p3->next;p4=p4->next;}}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/}if(r==2)continue; /*继续循环*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==3) /*修改某商品信息*/{printf("请输入需要修改的商品编号\n");scanf("%d",&q);while(p3!=NULL) /*判断循环结束条件*/{if((p3->num)==q) /*判断是否为所需要修改的商品*/{printf("请输入商品单价与库存量(如果单价不变请输入原来的单价)\n");scanf("%f %d",&p3->price,&p3->quantity); /*输入商品价格与库存量*/}p3=p3->next;}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==4) /*退出*/break;}printf("**********\n");printf("1 继续修改\n---------\n2 返回\n");printf("**********\n");scanf("%d",&p);if(p==1)continue; /*继续循环*/if(p==2)break; /*跳出循环*/}while(n!=2);fclose(fp); /*关闭文件*/}void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,c)==0) /*判断商品类型是否为电器类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出电器类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/ {struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,d)==0) /*判断商品类型是否为日用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->pr ice,p3->unit,p3->quantity); /*输出日用品类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/ {struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,e)==0) /*判断商品类型是否为办公用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->pr ice,p3->unit,p3->quantity); /*输出办公用品类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}void printf3(struct good *p) /*遍历链表并打印食品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,f)==0) /*判断商品类型是否为食品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->pr ice,p3->unit,p3->quantity); /*输出食品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void shunxudayin(){for(i=0;i<4;i++)g[i]=aver[i]; /*将平均价赋给新数组*/for(j=0;j<3;j++) /*将新数组用冒泡排序法排序*/for(i=j+1;i<4;i++){if(g[j]<g[i]){h=g[j];g[j]=g[i];g[i]=h;}}printf("\n****************************\n");printf("商品平均价格排序表(从高到低)\n");printf("****************************\n");printf("________________________________________________\n");printf("编号\t名称\t类别\t单价\t单位\t数量\n");printf("________________________________________________\n");for(j=0;j<4;j++)for(i=0;i<4;i++){if (aver[i]==g[j]) /*判断每类商品平均价格的先后顺序*/switch(i){case 0:printf0(head); /*调用遍历链表并打印电器类商品函数*/break;case 1:printf1(head); /*调用遍历链表并打印日用品类商品函数*/break;case 2:printf2(head);/*调用遍历链表并打印办公用品类商品函数*/break;case 3:printf3(head); /*调用遍历链表并打印食品类商品函数*/break;}}}void tongji1(){p1=head;printf("\n************************\n");printf("库存量低于100的货名及类别\n");printf("************************\n");printf("________________________\n");printf("商品名称\t商品类型\n");printf("________________________\n");while(p1!=NULL) /*判断遍历链表循环结束条件*/{if(p1->quantity<100) /*判断库存量是否小于100*/{printf("%s\t%s\n",p1->name,p1->kind); /*输出商品名称及类别*/ printf("________________________\n");}p1=p1->next;}}void tongji2(){printf("\n**********************************************\n"); printf("商品库存量有2种以上(含2种)低于100的商品类别:\n"); printf("**********************************************\n");printf("________\n");if((a[0]<100)&&(a[0]>=2)) /*判断电器类库存量是否为2种以上(含2种)低于100*/{printf("电器\n");printf("________\n");}if((a[1]<100)&&(a[1]>=2)) /*判断日用品类库存量是否为2种以上(含2种)低于100*/{printf("日用品\n");printf("________\n");}if((a[2]<100)&&(a[2]>=2)) /*判断食品类库存量是否为2种以上(含2种)低于100*/{printf("食品\n");printf("________\n");}if((a[3]<100)&&(a[3]>=2)) /*判断办公用品类库存量是否为2种以上(含2种)低于100*/{printf("办公用品\n");printf("________\n");}}int main(int argc, char* argv[]){struct good *p1,*p2; /*定义结构体指针类型*/while(1){printf("***********************************************\n");printf("1 ----------输出查看或者修改已存信息-----------\n");printf("-----------------------------------------------\n");printf("2 -----重新输入新信息(并且删除原有信息)------\n");printf("-----------------------------------------------\n");printf("3 统计商品信息(如果您还没有查看过信息请先按1)\n");printf("-----------------------------------------------\n");printf("4 -------------------退出---------------------\n");printf("***********************************************\n");scanf("%d",&m);if(m==1)shuchu(); /*调用输出信息函数*/if(m==2){system("cls");head=createlist(); /*调用建立链表函数*/}if(m==3){printf("统计结果如下\n");head=paixu(head); /*调用链表排序函数*/ jisuan(); /*调用计算函数*/shunxudayin(); /*调用顺序打印函数*/tongji1(); /*调用统计1函数*/tongji2(); /*调用统计2函数*/}if(m==4){p1=head;while(p1!=NULL) /*判断遍历链表结束条件*/{p2=p1->next;free(p1); /*释放空间*/p1=p2;}break;}}return 0; /*结束程序*/}5)调试分析过程描述:测试数据:01 milk drink 2.5 box 502 apple fruit 3 kilo 2测试输出结果:存在问题的思考:源代码出错,漏了一些分号导致程序频频出错,在进行编写时注意小地方别出错!否则会影响大局!6)总结:学习体会与收获:通过这个超市管理系统程序设计实验,我从理论知识跨越到实践上,感到收效良多,从崇拜计算机到学会控制计算机,在心理上不再觉得计算机是万能的,人的大脑才是万能的,算法才是万能的数学才是万能的,在这次实验中,实现一个完整的程序大大加深了我对C语言课程的兴趣!对C语言课程设计的认识以及自己的建议:C语言课程设计就是通过编译实现需要的功能的一种程序的设计,建议自己以后在这方面多下功夫,真正实现自己编译以个完整的C程序,实现自己的梦想和未来!如有侵权请联系告知删除,感谢你们的配合!。

小超市管理系统可运行代码

小超市管理系统可运行代码
{
case 1:Add();break;
case 2:Delet();break;
}
getchar();
return;
}
void Add()
{
printf("\t请输入所添加商品的商品编号:");
scanf("%ld",goods[n].num);
strcpy(goods[i].name,goods[i+1].name);
strcpy(goods[i+1].name,p1);
temp=goods[i].num;
goods[i].num=goods[i+1].num;
goods[i+1].num=temp;
printf("\n\t请输入所添加商品的名称:");
scanf("%s",goods[n].name);
printf("\n\t请输入所添加商品的类别:");
scanf("%s",goods[n].sort);
printf("\n\t请输入所添加商品的数量:");
scanf("%d",goods[n].count);
printf("\t 7→查询商品信息\n");
printf("\t 8→浏览商品信息\n");
printf("\t 9→保存商品信息\n");
printf("\t请选择您所需要的操作(或选择(0)退出)\n");
scanf("%d",&m);

基于C语言的超市系统

基于C语言的超市系统

#include<stdio.h>#include<conio.h>#define N 2struct goods{char code[20] ;char name[20];long price;long shuliang ;char pdate[10] ;char gdate[10] ; } g[N];void import()/*lurushangpinxinxi*/{ int i;FILE *fp;fp=fopen("e:\\xbw.txt","wb+");for(i=0;i<N;i++){printf("enter information\n");printf("enter number\n");printf("enter code\n:");scanf("%s",&g[i].code);printf("enter name:");scanf("%s",&g[i].name);printf("enter price:");scanf("%ld",&g[i].price);printf("enter shuliang:");scanf("%ld",&g[i].shuliang);printf("enter product date:");scanf("%s",&g[i].pdate);printf("enter guarantee date:");scanf("%s",&g[i].gdate);fwrite(&g[i],sizeof(struct goods),1,fp);}fclose(fp);printf("next order:");}void search()/*chaxunshangpinxinxi*/{ FILE *fp;if((fp=fopen("e:\\xbw.txt","r+"))==NULL) {printf("cannot open file");exit(0);}else{int a;char haoma[20];printf("please enter code:");scanf("%s",haoma);fread(&g[i],sizeof(struct goods),1,fp);for(a=0;a<N;a++)if(strcmp(haoma,g[a].code)==0)printf("%s %s %ld %ld %s %s\n",g[a].code,g[a].name,g[a].price,g[a].shuliang,g[a].pdate,g[a].gdate);printf("next oder:");} fclose(fp);}void check()/*jianyanshangpinshifouguoqi fanhuichangshang*/ { int m;char today[10];printf("please enter today:");scanf("%s",today);for(m=0;m<N;m++)if(strcmp(today,g[m].gdate)>0)printf("stop sale: %s\n",g[m].name);printf("next order:");}main(){ int key;printf("please enter goods information:1\n" );printf("search goods information:2\n");printf("check goods:3\n");printf("exit systm:0\n");printf("next order:\n");while(1){scanf("%d",&key);if(key==0)break;switch(key){case 1:import();break;case 2:search();break;case 3:check();break;case 0:exit(0);default:printf("error:\n");}}}。

c超市商品信息管理系统数组版

c超市商品信息管理系统数组版

#include <stdio.h> #include <stdlib.h>#include <string.h>int SNum[100];char SName[100][20];char pub[100][20];int Anamber[100];float price[100];int Bnamber[100];void a();void b();void c();void d();void e();int main(){int n;int w=0;printf("************欢迎使用超市商品信息管理系统**********\n\n"); printf("1.**************录入商品信息*************\n\n");printf("2.**************修改商品信息*************\n\n");printf("3.**************查询商品信息*************\n\n");printf("4.**************删除商品信息*************\n\n");printf("5.**************统计商品信息*************\n\n");printf("6.**************退出管理系统*************\n\n");printf("请输入需要进行操作前的编号:\n");scanf("%d",&n);do{if(n>6||n<0){printf("\n输入错误,请重新输入!\n");scanf("%d",&n);}else{w=1;}}while(w==0);switch(n){case 1:a();break;case 2:b();break;case 3:c();break;case 4:d();break;case 5:e();break;case 6:exit(0);}return 0;}void a (){FILE *fp;int t;if((fp=fopen("s.txt","a+"))==NULL){printf("无法打开此文件");}printf("商品编号、商品名称、商品品牌、库存数量、售价、已售数量\n");printf("请按照上面的格式录入商品信息\n");scanf("%d %s %s %d %f %d",&SNum[0],&SName[0][0],&pub[0][0],& Anamber [0],&price[0],& Bnamber [0]);fprintf(fp,"%d %s %s %d %f %d\n",SNum[0],SName[0],pub[0], Anamber[0],price[0], Bnamber[0]);fclose(fp);printf("是否继续录入商品信息?(1/0)\n");scanf("%d",&t);if(t==1){a();}else{main();}}void b(){FILE *fp;int num;int i;int t=0;int m;int temp;if((fp=fopen("s.txt","rt+"))==NULL){printf("不能打开此文件\n");}printf("请输入你要修改的商品编号\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],& Bnamber [t]);}for (i=0;i<t+1; i++) {if(num==SNum[i]){printf("2-商品名称\n");printf("3-商品品牌\n");printf("4-库存数量\n");printf("5-售价\n");printf("6-已售数量\n");aaa:printf("请输入要修改的选项前的编号:\n"); scanf("%d",&temp);switch (temp) {case 1:printf("请输入要修改的内容:\n");scanf("%d",&SNum[i]);break;case 2:printf("请输入要修改的内容:\n");scanf("%s",&SName[i][0]);break;case 3:printf("请输入要修改的内容:\n");scanf("%s",&pub[i][0]);break;case 4:printf("请输入要修改的内容:\n"); scanf("%d",& Anamber [i]); break;case 5:printf("请输入要修改的内容:\n"); scanf("%f",&price[i]);break;case 6:printf("请输入要修改的内容:\n"); scanf("%s",& Bnamber [i]); break;default:printf("输入错误,"); goto aaa;break;}}}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL){}for(i=0;i<t;i++){fprintf(fp,"%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]);}fclose(fp);printf("修改成功,是否继续修改?(1/0)");scanf("%d",&m);if(m==1){b();}else{main();}}void c(){int num,a;char name[20];char apub[20];int i;int t=0;int m;FILE *fp;printf("1-按商品名称查询,2-按品牌名查询,3-按照商品编号查询\n"); printf("请输入要进行操作前的编号:\n");scanf("%d",&num);if((fp=fopen("s.txt","r"))==NULL){printf("不能打开此文件\n");}for(t=0;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],SName[t],pub[t],&Anamber[t],&pric e[t],&Bnamber[t]) ;}if(num==1){printf("请输入你要查询的商品名:\n");scanf("%s",&name[0]);printf("商品编号商品名称商品品牌库存数量售价已售数量\n");for(i=0;i<t+1;i++){if((strcmp(SName[i],name))==0)printf("%5d%8s%8s%9d%8.1f%5d\n",SNum[i],SName[i],pub[i],Anamber[i], price[i],Bnamber [i]);}}else if(num==2){//输入商品品牌,在商品信息文件中统计其不同商品名称的库存量,并输出库存量最高的那个商品的信息int max=0,n;printf("请输入你要查询的商品品牌:\n");scanf("%s",&apub[0]);printf("商品编号商品名称商品品牌库存数量售价已售数量\n");for(i=0;i<t+1;i++){if((strcmp(pub[i],apub))==0){printf("%5d%8s%8s%9d%8.1f%5d\n",SNum[i],SName[i],pub[i],Anamber[i] ,price[i],Bnam ber [i]);if (Anamber[i]>max)max=Anamber[i];n=i;}}printf("库存量最高的那个商品的信息:\n%5d%8s%8s%9d%8.1f%5d\n",SNum[n],SName[n],pub[n],Anamber[n],price[n] ,Bnamber[n] );}else if(num==3){printf("请输入你要查询的商品编号:\n");scanf("%d",&a);printf("商品编号商品名称商品品牌库存数量售价已售数量\n");for(i=0;i<t+1;i++){if(SNum[i]==a)printf("%5d%8s%8s%9d%8.1f%5d\n",SNum[i],SName[i],pub[i],Anamber[i], price[i],Bnamber [i]);}}else{printf("输入错误!\n");c();}printf("是否继续查询?(1/0)\n"); scanf("%d",&m);if(m==1){c();}else{main();}}void d(){FILE *fp;int num;int i;int t=0;int m;if((fp=fopen("s.txt","rt+"))==NULL){printf("不能打开此文件\n");}printf("请输入你要删除的商品编号\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],&Bn amber[t]);}for (i=0;i<t+1; i++)if(num==SNum[i]){SNum[i]=0;SName[i][0]=0;pub[i][0]=0;Anamber[i]=0;Bnamber[i]=0;}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL){printf("不能打开此文件\n");}for(i=0;i<t;i++){fprintf(fp,"%d %d %d %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]); } fclose(fp);printf("删除成功,是否继续删除?(1/0)\n");scanf("%d",&m);if(m==1) {d();}else {main(); }}void e() {FILE *fp; int num; int x,b; int n;int y=10; int i;int t=0;int m;double s,sum;if((fp=fopen("s.txt","rt+"))==NULL){printf("不能打开此文件\n");}printf("请选择相应的编号\n");printf("1-出售,2-进货\n");scanf("%d",&x);if(x==1){{printf("出售\n");printf("请输入商品编号和名称\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],& Bnamber [t]);}for (i=0;i<t+1; i++) {if(num==SNum[i]){printf("请输入商品数量\n"); scanf("%d",&n);if(n> Anamber[i]){printf("输入错误,请重新输入"); e();}Anamber[i]= Anamber[i]-n; Bnamber [i]=Bnamber [i]+n; sum=price[i]*Bnamber [i];b=Anamber[i];s=n*price[i];printf("商品编号商品名称商品品牌库存数量售价已售数量当前销售价格已销售总价\n");printf("%d %s %s %d %f %d %f %f\n",SNum[i],SName[i],pub[i], Anamber[i],price[i],Bnamber [i],s,sum);if("b<y");printf("商品库存量较低,请及时补充\n");}}}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL){printf("不能打开此文件\n");}for(i=0;i<t;i++){fprintf(fp,"%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i] ,Bnamber [i]);}fclose(fp);printf("修改成功,是否继续?(1/0)"); scanf("%d",&m);if(m==1){e();}else{main();}}if(x==2){{printf("进货\n");printf("请输入商品编号\n");scanf("%d",&num);for(;!feof(fp);t++){fscanf(fp,"%d%s%s%d%f%d",&SNum[t],&SName[t][t],&pub[t][0],&Anamber[ t],&price[t],& Bnamber [t]);}for (i=0;i<t+1; i++){if(num==SNum[i]){printf("请输入商品数量\n");scanf("%d",&n);Anamber[i]=Anamber[i]+n;printf("%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]);}else{printf("商品不存在,请添加该商品信息\n");printf("是否添加?1-是/2-否\n");scanf("%d",&n);if(n==1){a();}else{e();}}}}fclose(fp);if((fp=fopen("s.txt","wt"))==NULL) {printf("不能打开此文件\n");}for(i=0;i<t;i++){fprintf(fp,"%d %s %s %d %f%d\n",SNum[i],SName[i],pub[i],Anamber[i],price[i],Bnamber [i]);}fclose(fp);printf("修改成功,是否继续?(1/0)");scanf("%d",&m);if(m==1){e();}else{main();}}}。

C语言实现超市管理系统

C语言实现超市管理系统

C语⾔实现超市管理系统本⽂实例为⼤家分享了C语⾔实现超市管理系统的具体代码,供⼤家参考,具体内容如下超市管理系统1.包括管理员和顾客2.管理员有登⼊,录⼊商品信息,显⽰所有商品信息功能3.顾客有购物车和结算功能4.购物车具有显⽰商品列表,显⽰购物车商品,往购物车添加商品的功能函数void UpdateKu();//更新购物车信息函数void calculate();//计算所购商品价格并修改保存int menu1();//打印主菜单函数int menu2();//打印管理员菜单函数int menu3();//打印顾客函数void CreateGoods();//录⼊商品信息函数void ShowGoods();//显⽰库存信息函数void ShopCart();//对购物车进⾏操作int ShopCartMenu();//打印购物车菜单void ShowCart();//显⽰购物列表void add();//在购物车⾥添加商品建⽴库存函数void CreateGoods(){//⼿动建⽴库存信息FILE *fp;//定义⽂件指针int i;printf("请输⼊需要录⼊的商品个数:\n");scanf("%d",&n);//输⼊数量printf("请依次输⼊货物信息:\n");printf("--------------------------------------------\n");for(i=0;i<n;i++){//向⽂件中写⼊信息printf("第%d个商品:\n",i+1);printf("货号:");fflush(stdin);//清空输⼊流gets(goods[i].ID);//输⼊货号printf("品名:");fflush(stdin);//清空输⼊流gets(goods[i].brand);//输⼊品名printf("进价: ");fflush(stdin);//清空输⼊流scanf("%lf",&goods[i].inprice);//输⼊进价printf("售价:");fflush(stdin);//清空输⼊流scanf("%lf",&goods[i].outprice);//输⼊售价printf("数量:");fflush(stdin);//清空输⼊流scanf("%d",&goods[i].storage);//输⼊数量printf("保质期:");fflush(stdin);//清空输⼊流gets(goods[i].date);//输⼊货号printf("\n");}if((fp=fopen("kucun.txt","w"))==NULL){//判断⽂件是否创建失败printf("创建⽂件失败。

超市商品管理系统C语言版(文件读取)

超市商品管理系统C语言版(文件读取)

超市商品管理系统C语言版(文件读取)#include#include#include//------------------------------------------------------------- //Max count of good,def 100 temporary//------------------------------------------------------------- #define MAX 100#define false -1#define true 1//声明一个计数器int CurrentCnt;//------------------------------------------------------------- //Good Information Definition//------------------------------------------------------------- struct GoodInfo {char good_id[30];char good_name[30];char good_price[10];char good_discount[10];int good_amount;int good_remain;};struct GoodInfo *Goods[MAX];//------------------------------------------------------------- //read a goodinfo from file//------------------------------------------------------------- struct GoodInfo *readGoodInfo(FILE* fp){struct GoodInfo *pGoodInfo = (struct GoodInfo*)malloc(sizeof(struct GoodInfo));//开辟空间fscanf(fp,"%s",&pGoodInfo->good_id);fscanf(fp,"\t%s",&pGoodInfo->good_name);fscanf(fp,"\t%s",&pGoodInfo->good_price);fscanf(fp,"\t%s",&pGoodInfo->good_discount);fscanf(fp,"\t%d",&pGoodInfo->good_amount);fscanf(fp,"\t%d\n",&pGoodInfo->good_remain);//将信息存入结构return pGoodInfo;}//-------------------------------------------------------------//check whether the file exists or not//-------------------------------------------------------------int check_nullfile(){FILE *fp = fopen("E:\\goodinfo.txt","r");//file not existif(!fp){printf("商品信息初始化文件不存在!\n请您放到E盘根目录!\n");FILE *fp = fopen("E:\goodinfo.txt","w");fclose(fp);}//file already existelse{int temp;//res for try to read file if file null feof() can't jarge if file is nullint res = fscanf(fp,"%d",&temp);fclose(fp);if(res<=0){printf("文件为空,请确保文件中存有商品信息\n");return false;}elsereturn true;}}//------------------------------------------------------------- //initialize//------------------------------------------------------------- void info_init(){int i;for(i=0; i<="" p="">Goods[i] = NULL;}int res = check_nullfile();FILE *fp = fopen("E:\\goodinfo.txt","r");int j = 0;while( res && !feof(fp) ){Goods[j] = readGoodInfo(fp);j++;CurrentCnt++;}fclose(fp);}//------------------------------------------------------------- // search a goodinfoint info_search(){int i;char name[30];scanf("%s",&name);for(i=0;i<="">{if(Goods[i]==NULL)//跳过已被释放内存的空指针i++;if(strcmp(name,Goods[i]->good_name)==0)//若商品名与输入相同则返回下标return i;}if(i==CurrentCnt)//未找到商品return false;}//-------------------------------------------------------------//modify a goodinfo//-------------------------------------------------------------void info_change(int i){printf("输入新的商品信息(以换行区分信息条目):\n");scanf("%s",&Goods[i]->good_id);scanf("%s",&Goods[i]->good_name);scanf("%s",&Goods[i]->good_price);scanf("%s",&Goods[i]->good_discount);scanf("%d",&Goods[i]->good_amount);scanf("%d",&Goods[i]->good_remain);printf("修改商品信息成功!\n");}//delete a goodinfo//-------------------------------------------------------------void info_dele(int i){if(i!=false){free(Goods[i]);//释放空间Goods[i]=NULL;//指向空指针}printf("删除商品信息成功!\n");}//-------------------------------------------------------------//output//-------------------------------------------------------------void info_output(int i){printf("目前商品信息:\n");printf("商品id:%s商品名称:%s商品价格:%s\n",Goods[i]->good_id,Goods[i]->good_name,Goods[i]->g ood_price);printf("商品折扣:%s商品数量:%d商品余数:%d\n",Goods[i]->good_discount,Goods[i]->good_amount,Go ods[i]->good_remain);}//-------------------------------------------------------------//insert one goodinfo//-------------------------------------------------------------void info_insert(){ //开辟空间struct GoodInfo *newgoods=(struct GoodInfo*)malloc(sizeof(struct GoodInfo));scanf("%s",&newgoods->good_id);scanf("\n%s",&newgoods->good_name);scanf("\n%s",&newgoods->good_price);scanf("\n%s",&newgoods->good_discount);scanf("\n%d",&newgoods->good_amount);scanf("\n%d",&newgoods->good_remain);Goods[CurrentCnt]=newgoods;CurrentCnt++;printf("商品信息插入完成!\n");}//-------------------------------------------------------------//write one goodinfo into file//-------------------------------------------------------------void writeGoodInfo(FILE* fp,struct GoodInfo* pGoodInfo) { fprintf(fp,"%s\t",pGoodInfo->good_id);fprintf(fp,"%s\t",pGoodInfo->good_name);fprintf(fp,"%s\t",pGoodInfo->good_price);fprintf(fp,"%s\t",pGoodInfo->good_discount);fprintf(fp,"%d\t",pGoodInfo->good_amount);fprintf(fp,"%d\n",pGoodInfo->good_remain);}//-------------------------------------------------------------//write all goodinfos into file//-------------------------------------------------------------void info_flush(){int i;FILE *fp = fopen("E:\\goodinfo.txt","w");for(i=0; i<="" p="">if(Goods[i])writeGoodInfo(fp,Goods[i]);}fclose(fp);}//------------------------------------------------------------- //free goodinfo memory//------------------------------------------------------------- void freeGoodInfo(){int i;for(i=0;i<currentcnt;i++)< p="">free(Goods[i]);}//------------------------------------------------------------- //main entry//------------------------------------------------------------- int main(){int i;int choice;char name[30];info_init();for(;;){printf("超市商品管理系统\n""*****************************************\n""1.商品信息的修改:\n""2.删除某个商品信息:\n""3.查找商品信息:\n""4.插入某个商品信息\n""其他数字,退出系统\n""****************************************\n" "请输入您的选择:");scanf("%d",&choice);switch(choice){case 1:printf("输入您要修改的商品名称:");i=info_search();if(i!=false)info_change(i);elseprintf("您要修改的商品不存在\n"); break;case 2:printf("输入您要删除的商品名称:");i=info_search();if(i!=false)info_dele(i);elseprintf("您要删除的商品不存在\n"); break;case 3:printf("输入你要查询的商品名称:");i=info_search();if(i!=false)info_output(i);elseprintf("您要查询的商品不存在\n"); break;case 4:printf("输入你要插入的商品信息(以换行区分信息条目):\n"); info_insert();break;default:break;}if(choice!=1&&choice!=2&&choice!=3&&choice!=4) break;}info_flush();//存盘freeGoodInfo();//释放内存return 0;}</currentcnt;i++)<>。

超市管理系统源程序

超市管理系统源程序

超市管理系统源程序#include <stdio.h>#include <string.h>#define MAX 20#define N 3#define PAGE 2#define PRINT1 printf("---------------------\n")#define PRINT2 printf("商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n")#define PRINT3 printf("%4d%s%s%8d%15%-%2d-%2d%10d\n",goods[i].num,goods [i].name,goods[i].kind,goods[i].out_price,goods[i].pro_t ime.year,goods[i].pro_time.month,goods[i].pro_time.date, goods[i].save_day)int sum;/*记录商品数目*/struct date /*日期结构体类型*/{int year;int month;int date;}struct goods_type /*商品结构体类型*/{int sum;char name[10];char kind[10];int amount;int goods_up;int goods_down;int in_price;int out_price;int in_num;struct date in_time;struct date pro_time;char factory[10];int save_day;int profit;}goods[MAX]; /*存放MAX种商品记录的结构体数据*/ save_message(jin sum) /*保存信息*/{FILE *fp;int i;if((fp=fopen("supermarket.txt","wb"))==NULL){printf("读文件错误!\n");return;}for(i=0;i<sum;i++)if(fwrite(&goods[i],sizeof(struct goods_type),1,fp)!=1) printf("写文件错误!\n");fclose(fp):}input message() /*输入模块*/{int i=0,s=MAX;clrscr();printf("\n\n 录入商品信息(最多%d 种)\n",s);printf("-------------------------\n");do{printf("\n 第%d种商品",i+1);printf("\n 商品号:");scanf("%d",&goods[i].num);if(goods[i].num==0) break;printf("\n 商品名称:");scanf("%s",goods[i].name);printf("\n 商品类别:");scanf("%s",goods[i].kind);printf("\n 商品总量:");scanf("%s",&goods[i].amout);printf("\n 商品上限:");scanf("%s",&goods[i].goods_up);printf("\n 商品下限:");scanf("%s",&goods[i].goods_down);printf("\n 进货价格:");scanf("%s",&goods[i].in_price);printf("\n 销售价格:");scanf("%s",&goods[i].out_price);printf("\n 进货数量:");scanf("%s",&goods[i].in_num);printf("\n 进货日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].in_time.year,&goods[i].in_tim e.month,&goods[i].in_time.date);printf("\n 商品名称:");printf("\n 生产日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_t ime.month,&goods[i].pro_time.date);printf("\n 生产厂家:");scanf("%s",goods[i].factory);printf("\n 保质期:");scanf("%s",goods[i].save_day);i++;}while(i<MAX);printf("\n --%d种商品信息输入完毕!--\n",i);sum=i;printf("\n 按任意键返回主菜单!");bioskey(0);}int read_message() /*读取信息*/{FILE *fp;int i=0;if((fp=fopen("supermarket.txt","rb"))==NULL){printf("\n\n*****暂时还没有任何库存信息,按任意键进入主菜单选择基本信息的录入!******\n");return;}while(feof(fp)!=1){fread(&goods[i],sizeof(struct goods_type),1,fp);if(goods[i].num==0) break;else i++;}fclose(fp);return(i);}output_message() /*输出模块*/{int i=0,j=0,count,page=1;clrscr();printf("\n\n --商品信息表-- 第%d页\n\n",page);PRINT2;PRINT1;do{if(goods[i].num!=0){j++;if(j%PAGE!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(goods[i+1].num!=0){printf("按任意键继续!");bioskey(0);clrscr();printf("\n\n --商品信息表-- 第%d页\n\n",++page);PRINT2;PRINT1;}}}i++;}while(goods[i].num!=0);printf("按任意键返回主菜单!");bioskey(0);}insert_message() /*添加商品信息*/{int i=sum,j,flag=0;char choice;clrscr();printf("\n\n 添加一种新商品\n");printf(" --------------------\n");do{goods[i].num=++sum;printf("\n 新商品号:%d",goods[i].num); printf("\n 商品名称:");scanf("%s",goods[i].name);printf("\n 商品类别:");scanf("%s",goods[i].kind);printf("\n 商品总量:");scanf("%s",&goods[i].amout);printf("\n 商品上限:");scanf("%s",&goods[i].goods_up);printf("\n 商品下限:");scanf("%s",&goods[i].goods_down);printf("\n 进货价格:");scanf("%s",&goods[i].in_price);printf("\n 销售价格:");scanf("%s",&goods[i].out_price);printf("\n 进货数量:");scanf("%s",&goods[i].in_num);printf("\n 进货日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].in_time.year,&goods[i].in_tim e.month,&goods[i].in_time.date);printf("\n 商品名称:");printf("\n 生产日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_t ime.month,&goods[i].pro_time.date);printf("\n 生产厂家:");scanf("%s",goods[i].factory);printf("\n 保质期:");scanf("%s",goods[i].save_day);printf("\n 要继续吗?(Y/N)");choice=getch();if(choice=='y'||choice=='Y'){printf("\n 继续!\n");i++;flag=1;}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}del_message() /*删除商品信息*/{;}revise_message() /*修改模块*/{int i=0,choice,revise_num,flag;do{clrscr();printf("\n 输入要修改的商品号:");scanf("%d",&revise_num);for(i=0;i<sum;i++)if(goods[i].num==revise_num){printf("\n --商品信息--\n");PRINT1;PRINT2;PRINT3;printf("\n 您要修改那一项?\n"); printf("\n 1.名称 \n");printf("\n 2.种类 \n");printf("\n 3.销售价格\n");printf("\n 4.生产日期\n");printf("\n 5.保质期 \n"); printf("\n 请选择(1-5)\n");scanf("%d",&choice);switch(choice){case 1;printf("\n 输入修改后的名称:");scanf("%s",&goods[i].name);break; case 2;printf("\n 输入修改后的种类:");scanf("%s",&goods[i].kind);break; case 3;printf("\n 输入修改后的销售价格:");scanf("%s",&goods[i].out_price);break;case 4;printf("\n 输入修改后的生产日期:");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_t ime.month,&goods[i].pro_time.date);break;case 5;printf("\n 输入修改后的保质期:");scanf("%s",&goods[i].save_day);break;PRINT1;PRINT2;PRINT3;break;}if(i==sum){printf("\n 该商品不存在!");bioskey(0);}printf("\n\n 继续修改吗?(Y/N)"); choice=getch();if(choice=='y'||choice=='Y'){flag=1;printf("\n 继续!\n");}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}renew_message() /*更新模块*/int choice;do{clrscr();printf("\n\n\n ********更新商品信息*******\n\n");printf(" 1.添加商品信息\n\n");printf(" 2.删除商品信息\n\n");printf(" 3.修改商品信息\n\n");printf(" 0.返回主菜单\n\n"); printf(" 请选择(0-3):\n\n"); scanf("%d",&choice);switch(choice){case 1 : insert_message();break;case 2 : del_message();break;case 3 : revise_message();break;case 0 : break;}}while(choice!=0);inquire_name(){int i,choixe,j=0,inquire_in_price;char inquire_name[10];clrscr();printf("\n 输入要查询的商品名称:");scanf("%s",inquire_name);for(i=0;i<sum;i++)if(strcmp(goods[i].name,inquire_name)==0&&goods[i].num!= 0){printf("\n --商品信息--\n"); PRINT1;PRINT2;PRINT3;}else j++;if(j==sum)printf("\n 该商品不存在!");bioskey(0);}{;}inquire_count_time(){;}inquire_message() /*查询模块*/{int choice;do{clrscr();printf("\n\n\n *****查询商品信息*******\n\n");printf(" 1.按商品名称查询\n\n");printf(" 2.按商品类别查询\n\n");printf(" 3.按进货量和进货价格查询\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3) ");scanf("%d",&choice);switch(choice){case 2 : inquire_kind(); ;break;case 3 : inquire_count_time(); ;break;case 0 : break;}}while(choice!=0);}count_profit() /*统计利润*/{int i,choice,j=0,count_num,profit;char inquire_name[10];clrscr();printf("\n 输入要统计的商品号:");scanf("%d",&count_num);for(i=0;i<sum;i++)if(goods[i].num==count_num){profit=goods[i].out_price-goods[i].in_price;printf("\n 商品利润 ");printf("\n -------------------\n ");printf("\n 商品号利润 ");printf("\n%25d%13d\n",goods[i].num,profit);else j++;if(j==sum)printf("\n 该商品不存在!");bioskey(0);}count_in_amount() /*统计进货量*/{;}count_full() /*统计库存量*/{;}count_message() /*统计模块*/{int choice;do{clrscr();printf("\n\n\n ********统计商品信息*******\n\n");printf(" 1.统计某商品的利润\n\n");printf(" 2.统计某商品的进货量\n\n");printf(" 3.统计同种名称不同货号商品库存量\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3):");switch(choice){case 1 : count_profit() ;break;case 2 : count_in_amount() ;break; case 3 : count_full() ;break;case 0 : break;}}while(choice!=0);}sort_amount() /*库存排行*/{struct goods_type *p,*q[MAX];int i,j,k;clrscr();printf(" 库存排行\n");printf("----------------------------\n");printf("\n 排名商品号商品名称商品类别库存量\n"); p=goods;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++){k=i;if(q[k]->amount<q[j]->amount)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i++)printf("\n%18d %6d %8d %11s %10d\n",i+1,q[i]->name,q[i]->kind,q[i]->amount);bioskey(0);}sort_profit() /*利润排行*/{;}sort_out_amount() /*销售量排行*/{;}sort_message() /*排行模块*/{int choice;do{clrscr();********\n\n");printf(" 1.库存量排行\n\n");printf(" 2.利润排行\n\n"); printf(" 3.销售量排行\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3)\n\n"); scanf("%d",&choice);switch(choice){case 1 : sort_amount(); ;break;case 2 : sort_profit(); ;break;case 3 : sort_out_amount(); ;break; case 0 : break;}}while(choice!=0);}main() /*主程序*/{int choice;sum=read_message();do{clrscr();printf("\n\n\n *********超市管理系统********\n\n");printf(" 1.录入商品信息 \n\n");printf(" 2.打印商品信息 \n\n");printf(" 3.更新商品信息 \n\n");printf(" 4.查询商品信息 \n\n");printf(" 5.统计商品信息 \n\n");printf(" 6.商品排行信息 \n\n");printf(" 请选择(0-6)");scanf("%d",&choice);switch(choice){case 1: input_message(); break;case 2: output_message(); break;case 3: renew_message(); break;case 4: inquire_message(); break;case 5: count_message(); break;case 6: sort_message(); break;case 0: break;}}while(choice!=0);save_message(sum);printf("\n-以上商品信息已保存!--(文件名:supermarket.txt)\n");}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf(&quot; ***************************************** \n&quot;);
printf(&quot; *************************************** \n&quot;);
printf(&quot;\n********************************************************************************&quot;);
printf(&quot; \t \t \t 《欢迎进入管理者系统!》\n&quot;);
genxinGoods();
break;
case 4:
printf(&quot;\n\t\t\t\t《进入统计模块》\n\n&quot;);
tongjiMenu();
break;
case 5:
printf(&quot;\n\t\t\t\t《进入排序模块》\n\n&quot;);
scanf(&quot;%s&quot;,&amp;strpassword);
/*第三步:比对用户名,密码是否正确,如果返回值为0,相等,登录成功。否则登录失败,返回登录界面*/
if((strcmp(strname,stroldname)==0) &amp;&amp; (strcmp(strpassword,stroldpassword)==0))
int tuichuMenu();
void insertGoods();
void printManagerGoods();
void printspendGoods();
void deleteGoods();
void genxinGoods();
void addGoods();
void spendgoods_num();
void spendgoods_type();
void spendgoods_name();
void main()
{
loginTitle();//调用登录界面
}
/*登录界面*/
void loginTitle()
{
int numOperator;//操作编号
char goods_name[50]; //商品名称
char goods_address[50]; //商品产地
char goods_type[50]; //商品种类
float goods_inputprice; //商品进价
float goods_outputprice; //商品售价
void goods_num();
void goods_type();
void goods_name();
void spendpaixumol();
void spendchaxunmol();
void spendlirunpai();
void spendkucunpai();
printf(&quot; \t \t ***感谢您本次的使用,再见!O(∩_∩)O***\n&quot;);
printf(&quot; \t \t ***************************************\n&quot;);
flag=0;
int goods_num; //商品进货量
};
struct arraysGoods GoodsDates[50]={ {2013,&quot;衬衫&quot;,&quot;北京&quot;,&quot;c&quot;,1.4,2.5,5},{2012,&quot;裤子&quot;,&quot;上海&quot;,&quot;b&quot;,1.3,2.5,6}, {2011,&quot;短袖&quot;,&quot;大连&quot;,&quot;a&quot;,1.1,2.5,7}};
int flag1 = 1;//循环标志位
/*循环登录界面*/
/*进入系统主界面*/
printf(&quot;\n\n\n&quot;);
printf(&quot; *************************************** \n&quot;);
struct arraysGoods GoodsDates2[50];
void loginTitle();
void loginManager();
void selectManagerMenu();
void spendPassager();
void spendPassagerMenu();
printf(&quot; ***************************************** \n&quot;);
printf(&quot; ** ***** * * ** \n&quot;);
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
struct arraysGoods
{
int goods_id; //商品编号
/*第二步:获取操作编号*/
printf(&quot;\t\t\t\t请输入操作编号: &quot;);
scanf(&quot;%d&quot;,&amp;numOperator);
/*第三步:判断选择菜单*/
switch(numOperator)
{
case 1:
printf(&quot;\n\t\t\t\t《请录入商品信息》\n&quot;);
{
/*第四步:调用管理者系统菜单界面*/
printf(&quot;\n\t\t\t\t&gt;&gt;&gt; 登录成功!&lt;&lt;&lt;\n\n&quot;);
selectManagerMenu();
}
else
{
/*第四步:调用登录界面*/
printf(&quot;\n\t\t\t\t&gt;&gt;&gt; 登录失败!请重新登录!&lt;&lt;&lt;&quot;);
void tongjiMenu();
void chaxunmol();
void paixumol();
void lirunpai();
void kucunpai();
void shuliangMenu();
void xiugaiGoods();
void thetype();
insertGoods();
break;
case 2:
printf(&quot;\n\t\t\t\t《输出商品信息》\n\n&quot;);
printManagerGoods();
break;
case 3:
printf(&quot;\n\t\t\t\t《进入更新模块》\n\n&quot;);
printf(&quot; ** * ** * * * * ** \n&quot;);
printf(&quot; ** *** * * * * ** \n&quot;);
return flag;
}
/*管理者系统密码管理界面*/
void loginManager()
{
char strname[20];//输入的用户名
char stroldname[20]=&quot;1&quot;;//原用户名
char strpassword[20];//输入的密码
printf(&quot; \t \t \t 《欢迎进入消费者系统!》\n&quot;);
spendPassager();
break;
case 3:
tuichuMenu();
flag1=0;
break;
default:
printf(&quot;\n\t\t\t&gt;&gt;&gt; 输入操作编号无效,请重新输入!&lt;&lt;&lt;\n\n&quot;);
printf(&quot; ** ** * * * * ** \n&quot;);
printf(&quot; ** ***** ** * ** ** \n&quot;);
printf(&quot;\n\n&quot;);
printf(&quot;\t\t 欢迎使用 SM 超市商品管理系统!(*^__^*) \n&quot;);
printf(&quot;\n&quot;);
do
{
printf(&quot;\t\t\t\t1.管理者系统\n\t\t\t\t2.消费者系统\n\t\t\t\t3.退出系统\n&quot;);
相关文档
最新文档