湖北汽车工业学院C语言课程设计——商品销售信息管理系统源代码_第1页
湖北汽车工业学院C语言课程设计——商品销售信息管理系统源代码_第2页
湖北汽车工业学院C语言课程设计——商品销售信息管理系统源代码_第3页
湖北汽车工业学院C语言课程设计——商品销售信息管理系统源代码_第4页
湖北汽车工业学院C语言课程设计——商品销售信息管理系统源代码_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言课程设计商品销售信息管理系统 #include#include#include#includestruct product /定义商品数据结构 int num; /商品编号 char productname20; /商品名称 float price; /商品售价 char place30; /商品产地 int storage; /商品库存 struct product *next; *head,*p1,*p2; /定义主结构体数组和备用结构体数组及指针struct time /定义时间结构体int year;int month;int day;struct sell /定义销售数据结构 int ID; /顾客代码 char customername20; /顾客姓名 int num; /商品编号 int count; /销售数量 char date10; /日期 struct sell * next1; *head1; /定义头指针head,缓冲指针p1,以及尾指针p2/*函数申明*/void Enter_productmessage(); /导入商品信息void Creat(); /输入销售记录void Search_num(); /按编号查询销售历史void Search_customername(); /按顾客姓名查询购买历史void Printf_customername(); /显示顾客信息void Search_date(); /计算时间段内销售总额void Save_product(); /保存销售信息void Save_customername(); /保存顾客信息void Exit(); /退出程序/*主菜单*/int select()int c; printf(tt*欢迎使用商品销售管理程序*n);printf(tt T1123-5班 胡 军 一分耕耘 一分收获 n);printf(n-n);printf(n);printf(tt*n); printf(tt*欢迎使用商品销售管理系统*n); printf(tt* *n); printf(tt* 1:导入商品信息 *n); printf(tt* 2:输入销售记录 *n); printf(tt* 3:按编号查询销售历史 *n); printf(tt* 4: 按顾客姓名查询购买历史 *n); printf(tt* 5:计算时段内各销售总额 *n); printf(tt* 6:显示顾客信息 *n); printf(tt* 7:保存销售信息 *n); printf(tt* 8:保存顾客信息 *n);printf(tt* 0:退出 *n); printf(tt*n); printf(n-n); printf(tt请输入您的选择(08的整数): );scanf(%d,&c);return c;/*主函数*/int main()for(;)switch(select()case 1:system(cls);Enter_productmessage();break;case 2:system(cls);Creat();break;case 3:system(cls);Search_num();break;case 4:system(cls);Search_customername();break;case 5:system(cls);Search_date();break;case 6:system(cls);Printf_customername();break;case 7:system(cls);Save_product();break;case 8:system(cls);Save_customername();break; case 0:system(cls);Exit();break;default : system(cls); printf(nnnnnn);printf(tt*n); printf(tt* 输入错误!请重新输入您的选择(08的整数) *n);printf(tt* 请按Enter键返回! *n);printf(tt*n); getchar();getchar();system(cls);return 0;/*/int judgech(char *a) /判断是否为汉字int i,flag;for(i=0;ai!=0;i+)if(ai=0)flag=0;break;else flag=1; return flag;int judgedate(char date10) /判断日期是否合法int i,year,month,day,s1=0; /日期格式输入正确则s1=1,否则s1=0for(i=0;i0&day0&day0&day0&daynext=p1;p1-next=NULL;p2=p1;fscanf(fp,%d%s%f%s%d,&p2-num,p2-productname,&p2-price,p2-place,&p2-storage); while(k=1)if(p2-num10|p2-numnum);k=1;else k=0;while(j=1)if(judgech(p2-productname)=0)printf(tt第%d个商品名称错误!请重新输入(汉字):,i+1); rewind(stdin);scanf(%s,p2-productname);j=1;else j=0;while(o=1)if(p2-price0):,i+1); rewind(stdin); scanf(%f,&p2-price);o=1; else o=0;while(c=1)if(judgech(p2-place)=0) printf(tt第%d个商品产地格式错误!请重新输入(汉字):,i+1); rewind(stdin);scanf(%s,p2-place);c=0; else c=0;while(v=1)if(p2-storage!=1000) printf(t*n); printf(tt第%d个商品数量错误!请输入1000:,i+1); rewind(stdin);scanf(%d,&p2-storage);v=1;else v=0;printf(t%-12d%-15s %-15.2f%-15s%-12dn,p2-num,p2-productname,p2-price,p2-place,p2-storage); fclose(fp); void comp() FILE *fp;int i=0,n,k=1,m=1,c=1,l=1,d=1;char filename20,a;printf(t请输入商品信息保存路径:);rewind(stdin);gets(filename);p1=p2=head=(struct product*)malloc(sizeof(struct product);if(fp=fopen(filename,a+)=NULL) printf(tt*n); printf(tt* 不能打开文件!请检查文件路径! *n); printf(tt*n); getchar(); system(cls); Enter_productmessage(); printf(nnn); printf(tt*n);printf(tt* 若输入路径与从文件导入商品信息路径相同!*n); printf(tt* 并已导入十个商品信息,请不要再导入! *n); printf(tt* 注意商品编号不要和已导入的编码重复! *n);printf(tt*n);printf(nnn);getchar();system(cls);printf(t已从文件导入的个数和要输入的个数和不超过十!nn);printf(t请输入要导入的销售记录个数:);scanf(%d,&n);if(n0)dop1=(struct product*)malloc(sizeof(struct product); p2-next=p1;p1-next=NULL; p2=p1; printf(*商品信息*n); printf( 编号(整数) 名称(汉字) 价格(数字) 产地(汉字) 库存数量n); scanf(%d%s%f%s%d,&p2-num,p2-productname,&p2-price,p2-place,&p2-storage); while(k=1)if(p2-num10|p2-numnum);k=1;else k=0;while(m=1)if(judgech(p2-productname)=0)printf(tt商品名称错误!请重新输入(汉字):); rewind(stdin);scanf(%s,p2-productname);m=1;else m=0;while(l=1)if(p2-price0):); rewind(stdin); scanf(%f,&p2-price);l=1; else l=0;while(c=1)if(judgech(p2-place)=0) printf(tt商品产地格式错误!请重新输入(汉字):); rewind(stdin);scanf(%s,p2-place);c=1; else c=0;while(d=1)if(p2-storage!=1000) printf(t*n); printf(tt 商品数量错误!请输入1000:); rewind(stdin);scanf(%d,&p2-storage);d=1;else d=0;p2=head-next;fprintf(fp,n%-6d%-6s%-6.2f%-6s%-6dn,p2-num,p2-productname,p2-price,p2-place,p2-storage);printf(n%-6d%-6s%-6.2f%-6s%-6dn,p2-num,p2-productname,p2-price,p2-place,p2-storage); printf(tt是否继续输入信息(Y/N)?n);getchar(); a=getchar();while(a=Y|a=y);fclose(fp); /关闭文件夹if(n=0) printf(tt不从键盘输入入信息!);getchar(); getchar();system(cls); fclose(fp); /关闭文件夹 void Enter_productmessage() /导入销售信息 int a;printf(t*n); printf(t* 请输入10种产品的信息-编号、名称、价格、产地、数量: *n);printf(t* 1:通过文件导入(推荐)! *n);printf(t* 2: 通过键盘输入! *n);printf(t*n); printf(t 请输入您的选择(1或2): ); scanf(%d,&a);getchar();system(cls);if(a!=1&a!=2)printf(tt输入错误!请重新输入您的选择(1或2):); scanf(%d,&a);switch(a) case 1:system(cls); file();break; case 2:system(cls); comp();break; printf(*n);printf(t*n);printf(t* 数据类信息操作成功!请按Enter键继续! *n);printf(t*n); getchar();getchar();system(cls); void Creat() /输入销售信息函数 int i=0,k=1,code; char a; struct sell *p3,*p4; srand(0); code=1+rand()%90; p3=p4=head1=(struct sell *)malloc(sizeof(struct sell); p3=head1; printf(tt请输入销售记录:n); /提示输入记录 printf(-n); do p3=(struct sell *)malloc(sizeof(struct sell); p4-next1=p3; p3-next1=NULL; p4=p3; printf( 顾客姓名(汉字) 商品编号(1-10的整数) 销售数量(数字) 销售日期(YYYY-MM-DD)n); printf(-n); scanf(%s%d%d%s,p4-customername,&p4-num,&p4-count,p4-date); /输入记录 do if(judgech(p4-customername)=0) printf(t*n); printf(tt顾客名字输入错!请重新输入顾客名字(汉字):); scanf(%s,p4-customername); rewind(stdin); k=1; else k=0; while(k=1); do if(p4-num10|p4-numnum); rewind(stdin); k=1; else k=0; while(k=1); do if(p4-count1000|p4-countcount);rewind(stdin);k=1;else k=0; while(k=1); doif(judgedate(p4-date)!=1) printf(t*n);printf(t 输入日期不合法!请重新输入(YYYY-MM-DD):); scanf(%s,p4-date); rewind(stdin);k=1;else k=0; while(k=1); p4-ID=code+i; i+; printf(nn); printf(是否继续输入销售记录(Y/N)?n); getchar(); a=getchar(); while(a=Y|a=y); system(cls); printf(nnnn); printf(t*n); printf(t* 销售信息输入成功!按Enter键继续! *n); printf(t*n); getchar(); getchar(); system(cls); return; void Search_num() /根据产品编号查询产品的销售历史int num,flag=1,i=0;struct sell *p3;struct product *p;printf(tt请输入商品编号(1-10的整数):);scanf(%d,&num);getchar();system(cls);printf( 顾客姓名 商品编号 销售数量 销售总额 销售日期n);printf( -n);p3=head1;p=head;while(p3!=NULL) if(p3-num=num)p=head;while(p!=NULL)if(p-num=num)break;elsep=p-next;printf( %-15s%-13d%-13d%-13.2f%-10sn,p3-customername,p3-num,p3-count,p-price*p3-count,p3-date);flag=0;p3=p3-next1;if(flag=1) printf(tt*n); printf(tt* 无此编码商品销售记录!请查实后再输入! *n);printf(tt* 请按Enter键返回! *n); printf(tt*n);getchar();system(cls);return;printf(-n);printf(tt*n); printf(tt* 销售记录查询完毕!请按Enter键返回! *n);printf(tt*n); getchar();getchar();system(cls);return;void Search_customername() /根据顾客姓名查询购买历史 int k=1,m=0;float a=0; char name20,b;struct product *p; struct sell *p3;p3=head1;p=head;printf(tt*n); printf(ttt请输入顾客姓名(汉字):); scanf(%s,name);getchar();system(cls);if(head1-next1=NULL)printf(tt*n);printf(tt* 销售记录为空!请按Enter键返回! *n);printf(tt*n);getchar(); getchar();system(cls);return ;do if(judgech(name)=0) printf(t*n); printf(tt顾客名字输入错!请重新输入顾客名字(汉字):); rewind(stdin); scanf(%s,name); rewind(stdin); k=1; else k=0; while(k=1);if(judgech(name)=1)printf(顾客姓名(汉字) 顾客代码 商品编号 购买数量 购买总额 购买日期(YYYY-MM-DD)n); printf(-n);while(m!=1) if(strcmp(name,p3-customername)=0) m=1; while(p!=NULL) if(p3-num=p-num) printf(%5s%15d%10d%10d%15.2f%14sn,p3-customername,p3-ID,p3-num,p3-count,p3-count*p-price,p3-date);break; else p=p-next;else p3=p3-next1;if(p3=NULL)break;if(m=1)printf(-n); printf(t*n); printf(t* 查询完毕!请按Enter键返回! *n);printf(t*n); getchar();system(cls); return; if(m=0) printf(tt*n); printf(tt* 不存在此顾客!请按Enter键继续! *n); printf(tt*n);printf(tt是否记录该顾客销售记录!n);printf(tt请输入选择(Y/N):);rewind(stdin); b=getchar(); if(b=n|b=N)getchar();system(cls); return;if(b=y|b=Y) getchar(); Creat(); void Search_date() /计算时间段内各个商品的销售总额 int n=0;float temp=0; char a10,b10,c10;struct sell *p3; struct product *p;p3=head1-next1;p=head-next;getchar(); system(cls);if(head1-next1=NULL)printf(tt*n);printf(tt* 无销售记录!请按Enter键返回! *n);printf(tt*n);getchar();system(cls);return ; printf(tt请输入开始日期(YYYY-MM-DD):); gets(a); do if(judgedate(a)!=1) printf(tt*n); printf(tt 输入日期不合法!请重新输入(YYYY-MM-DD):); gets(a); system(cls);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论