笔记本销售管理系统.doc_第1页
笔记本销售管理系统.doc_第2页
笔记本销售管理系统.doc_第3页
笔记本销售管理系统.doc_第4页
笔记本销售管理系统.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1.课程设计的目的和要求(代码在下面)目的:通过C+课程设计,使学生能更全面的掌握所学的知识,将课本的全部内容联系起来,使学生把所学的知识用到具体的工作和学习中。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,并培养基本的、良好的程序设计技能。要求:1. 明确课设任务,复习与查阅有关资料。2. 设计报告要清楚明了,带有明确注释。3.本次课程设计按照教学要求需要在三周时间内独立完成,学生要发挥自主学习的能力,充分利用课余时间,完成设计题目,不断测试,优化。 2.课程设计任务内容笔记本电脑产品信息包括:产品名称、品牌(或厂商)、产品型号、进价、库存数量。笔记本电脑销售信息包括:产品名称、品牌、产品型号、销售数量、售价、总金额(销售数量*售价)、销售日期(年.月.日)、客户名称。系统的主要功能包括:1. 创建笔记本电脑产品信息文件,根据提示输入若干笔记本电脑的信息,并将这些信息保存至一个文件中。2. 增加笔记本电脑信息,在原有笔记本电脑产品信息文件的基础上增加新的笔记本电脑信息,并保存至原产品信息文件中。3. 删除笔记本电脑信息,提示用户输入要进行删除操作的产品名称和产品型号,如果在产品信息文件中有该信息存在,则将对应的笔记本电脑信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。4. 修改笔记本电脑信息,提示用户输入要进行修改操作的产品名称和产品型号,如果在产品信息文件中有该息存在,则将提示用户输入要修改的选项,并将结果保存至原产品信息文件,并提示用户选择是否继续进行修改操作。5. 笔记本电脑销售管理,创建一个销售记录文件,每完成一次销售,就按销售信息的要求输入各项数据,并将该次的销售信息添加到文件中,同时修改相应的笔记本电脑产品信息文件(主要是修改其库存数量)。6. 按不同条件进行查询操作,输出满足条件的笔记本电脑信息。(1) 输入产品名称,在笔记本电脑产品信息文件中查找相应的笔记本电脑信息并输出。(2) 输入产品名称,在销售记录文件中进行查找,输出该笔记本电脑的所有销售信息。(3) 输入一个日期,输出该天所有笔记本电脑的销售信息。(4) 输入客户名称,输出与该客户有关的所有销售信息。7. 按不同条件进行统计工作。(1) 输入一个日期(年.月.日),在销售记录文件中统计该天笔记本电脑的总销售量、总销售金额,并计算该天的销售利润。(2) 输入一个日期(年.月),在销售记录文件中统计该月笔记本电脑的总销售量、总销售金额。(3) 输入一个日期(年.月),在销售记录文件中统计该月中各个品牌的笔记本电脑的总销售量,并按总销售量从高到低的顺序输出笔记本电脑品牌名称。(4) 输入品牌名称,在销售记录文件中统计其不同型号的销量,并输出销量最高的那个型号的笔记本电脑的信息。3.详细设计说明该题目要求将电脑的信息和销售信息全部存入文件,并且在用的时候从文件中调用。从文件中调用时应用到结构体数组,应注意到结构体数组的引用方式。对电脑信息进行删除、修改时,应注意把修改后的信息保存到原文件中,以供查询和统计功能对信息的使用。每一项功能都包含在一个函数中,这些函数在主函数中调用。4.软件使用说明第一次运行时需要先建立一个infor.txt,sel.txt的空文件,然后进行创建。以后执行就不需要了,直接用原来文件中的信息。通过提示信息进行操作。5.设计心得与体会通过课程设计,使自己认识到了自己的不足,对C+的运用还不熟悉,综合应用的能力不强。有些知识点记不牢,编程时要不断的翻课本。还出现一些低级错误,导致程序无法执行。我们要提高自己的实践能力,解决一些实际问题。6.参考文献C+ 程序设计7.附录:代码实现#include#include#includestruct information /定义结构体char name15;char brand15;char model15;int inprice;int num1;struct sellchar name15;char brand15;char model15;int num2;int outprice;int sumprice;struct dateint year; int month;int day;date1;char person20;int n,s,i,cn=0,sn=0;struct information infor1000;/定义结构体数组struct sell sel1000;void inputOnecomputer(void)/输入电脑信息存入文件FILE *fp;n=0; i=0;printf(产品名称:n);scanf(%s,);while(strcmp(,*)!=0)printf(品牌:);scanf(%s,infori.brand);printf(产品型号:);scanf(%s,infori.model);printf(进价:);scanf(%d,&infori.inprice);printf(库存数量:);scanf(%d,&infori.num1);printf(n);n+;i+;printf(产品名称:);scanf(%s,);if(fp=fopen(infor.txt,wb)=NULL)/创建文件 printf(can not open the file!); exit(0); for(i=0;in;i+) fwrite(&infori,sizeof(struct information),1,fp);/将电脑信息写入文件 fclose(fp);void add() /添加电脑信息 FILE *fp;if(fp=fopen(infor.txt,ab+)=NULL) printf(can not open the file!); exit(0); printf(n请输入产品名称n); scanf(%s,); printf(n请输入品牌n); scanf(%s,infori.brand); printf(n请输入产品型号n); scanf(%s,infori.model); printf(n请输入进价n); scanf(%d,&infori.inprice); printf(n请输入库存量n); scanf(%d,&infori.num1); fwrite(&infori,sizeof(struct information),1,fp); fclose(fp);printf(添加完成,继续选择nn);void del() /删除笔记本电脑信息FILE *fp;int x=1,j;char name15,model15;while(x) if(fp=fopen(infor.txt,rb+)=NULL) printf(can not open the file!); exit(0); for(i=0;in;i+) fread(&infori,sizeof(struct information),1,fp);/读取电脑信息 printf(请输入要删除的产品名称); scanf(%s,name); printf(请输入要删除的产品型号); scanf(%s,model); i=0; while(strcmp(,name)!=0)|(strcmp(infori.model,model)!=0) /找到名字和型号相同的电脑i+; printf(显示该电脑信息:n); printf(%s %s %s %d,,infori.brand,infori.model,infori.inprice);for(j=i+1;j=n) printf(无该产品名称); rewind(fp); for(i=0;in;i+) fwrite(&infori,sizeof(struct information),1,fp); printf(n已完成操作n继续删除请输入1,否则输入0); scanf(%d,&x); fclose(fp);struct information chname1;void modify() /修改电脑信息FILE *fp; int m=1,i,x=1; while(x) printf(请输入要修改的产品名称); scanf(%s,); printf(请输入要修改的产品型号); scanf(%s,chname1.model); if(fp=fopen(infor.txt,rb+)=NULL)printf(can not open the file!); exit(0);for(i=0;in;i+) fread(&infori,sizeof(struct information),1,fp);for(i=0;i=0&m=n)printf(未找到该产品n);rewind(fp);for(i=0;in;i+) fwrite(&infori,sizeof(struct information),1,fp);printf(继续修改请输入1,否则输入0n); scanf(%d,&x);/end whilefclose(fp);void manage() /创建笔记本电脑销售信息,存入文件。 FILE *fp1,*fp;i=0;s=0;if(fp=fopen(infor.txt,rb+)=NULL) printf(can not open the file!); exit(0); printf(请输入产品名称); scanf(%s,); while(strcmp(,*)!=0) printf(请输入品牌); scanf(%s,seli.brand); printf(请输入产品型号); scanf(%s,seli.model); printf(请输入销售数量); scanf(%d,&seli.num2); infori.num1=infori.num1-seli.num2; printf(请输入销售价格); scanf(%d,&seli.outprice); printf(请输入销售日期); printf(请输入年份); scanf(%d,&seli.date1.year); printf(请输入月份); scanf(%d,&seli.date1.month); printf(请输入天); scanf(%d,&seli.date1.day); printf(请输入客户名称); scanf(%s,seli.person); printf(n); i+; s+; printf(请输入产品名称); scanf(%s,); if(fp1=fopen(sell.txt,wb+)=NULL) printf(can not open the file!); exit(0); for(i=0;is;i+) fwrite(&seli,sizeof(struct sell),1,fp1); for(i=0;in;i+) fwrite(&infori,sizeof(struct sell),1,fp); fclose(fp1); fclose(fp); printf(添加完成,继续选择nn);void search() /按不同要求在信息记录和销售记录中查找FILE *fp1;char name115,name215,person15;int m=0;i=0;int year,month,day; while(1) printf(n 按产品名称查询笔记本电脑信息请输入1n); printf(n 按产品名称查询销售信息请输入2n); printf(n 按日期查询请输入3n); printf(n 按客户名称查询请输入4n); printf(n 查询结束请输入5n); scanf(%d,&m); getchar(); switch(m) case 1: /按名称在信息记录中查 printf(请输入要查询的产品名称n); scanf(%s,name1); for(i=0;i=n) printf(不存在该产品名称n); break; case 2: /按名称在销售记录中查 printf(请输入要查询的产品名称n); scanf(%s,name2); if(fp1=fopen(sell.txt,rb+)=NULL) printf(can not open the file!); exit(0); for(i=0;i=n) printf(未出售该产品n); break; case 3: /按日期查询 printf(请输入要查询的销售日期n); printf(请输入要查询的年份n); scanf(%d,&year); printf(请输入要查询的月份n); scanf(%d,&month); printf(请输入要查询的号数n); scanf(%d,&day); if(fp1=fopen(sell.txt,rb+)=NULL) printf(can not open the file!); exit(0); for(i=0;i=n) printf(此日期无销售产品!); break; case 4: /按客户名称查询 printf(请输入要查询的客户名称n); scanf(%s,person); if(fp1=fopen(sell.txt,rb+)=NULL) printf(can not open the file!); exit(0); for(i=0;i=n) printf(不存在该客户!); break; case 5:printf(查询完成,继续选择n);return; default:printf(按键错误,请重新选择); /end switch /end whilestruct sell paixu100,temp1,zuida100;void sell() /根据不同要求同记笔记本电脑信息FILE *fp1,*fp;int m=0,a=0,b=0,s1=0,s2=0,s3,s4=0,year,month,day,j=0,k=0;char name15;i=0;while(m!=5)printf(*输入年月日,在销售记录文件中统计该天笔记本电脑的总销售量,总销售金额,销售利润,请按1n);printf(n);printf(*输入年月,统计销售总量,总销售金额,请按2n);printf(n);printf(*输入一个日期(年.月),在销售记录文件中统计该月中各个品牌的笔记本电脑的总销售量,并按总销售量从高到低的顺序输出笔记本电脑品牌名称,请按3n);printf(n);printf(*输入品牌名称,在销售记录文件中统计其不同型号的销量,并输出销量最高的那个型号的笔记本电脑的信息请按4n);printf(n);printf(*输入结束,请按5n);printf(n);scanf(%d,&m);if(m=1&m=5)switch(m)case 1:printf(输入年:); scanf(%d,&year);printf(输入月:);scanf(%d,&month);printf(输入日:);scanf(%d,&day); if(fp=fopen(infor.txt,rb+)=NULL)printf(can not open the file!); exit(0); if(fp1=fopen(sell.txt,rb+)=NULL)printf(can not open the file!); exit(0);for(j=0;jn;j+)fread(&inforj,sizeof(struct information),1,fp);for(i=0;is;i+)fread(&seli,sizeof(struct sell),1,fp1);if(seli.date1.year=year)&(seli.date1.month=month)&seli.date1.day=day)s1=s1+seli.outprice*seli.num2; s2=s2+infori.inprice*seli.num2; a=a+seli.num2;s3=s1-s2;printf(销售量是%d,a);printf(n);printf(成本是%d,s2); printf(总销售金额是%d,s1);printf(n); printf(销售利润是%d,s3); printf(n);a=0;s1=0;s2=0;fclose(fp1); fclose(fp);break;case 2:printf(输入年:);scanf(%d,&year);printf(输入月:);scanf(%d,&month);if(fp1=fopen(sell.txt,rb+)=NULL)printf(can not open the file!);exit(0);for(i=0;is;i+)fread(&seli,sizeof(struct sell),1,fp1);if(seli.date1.year=year)&(seli.date1.month=month)s4=s4+seli.outprice*seli.num2;b=b+seli.num2;printf(销售总量是%d,b);printf(n);printf(总销售金额是%d,s4);printf(n);b=0;s4=0;fclose(fp1);break;case 3:printf(输入年:);scanf(%d,&year);printf(输入月:);scanf(%d,&month);if(fp1=fopen(sell.txt,rb+)=NULL)printf(can not open the file!);exit(0);for(i=0;is;i+)fread(&seli,sizeof(struct sell),1,fp1);if(seli.date1.year=year)&(seli.date1.month=month)strcpy(,);paixuk.num2=seli.num2;k+;for(i=0;ik;i+)for(k=0;kj-i;k+)if(paixuk.num2paixuk+1.num2)temp1=paixuk; paixuk+1=paixuk; paixuk=temp1;for(i=0;ik;i+)printf(%s,);break;case 4:printf(输入电脑名称:);scanf(%s,name);if(fp1=fopen(sell.txt,rb+)=NULL)printf(can not open the file!);exit(0);for(i=0;is)printf(无此品牌电脑!);for(i=0;ij;i+)if(zuidai.num2zuidai+1.num2)zuidai=zuidai+1;printf(%s %s %s %d %d %d %d %d %s,,zuidai.brand,zuidai.model,zuidai.num2,zuidai.outprice,zuidai.date1.year,zuidai.date1.month,zuidai.date1.day,zuidai.person);break;case 5: break;/end switch/end if/end while/=/int loadComputer()/从文件中读取电脑信息FILE *fp;int cn=0;fp=fopen(infor.txt,ab+);if(!fp) printf(file cant openn);exit(0);while(!feof(fp)fr

温馨提示

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

评论

0/150

提交评论