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

下载本文档

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

文档简介

1、1. 课程设计的目的和要求 ( 代码在下面 )目的:通 过 C+ 课 程 设 计 , 使 学 生 能 更 全 面 的 掌 握 所 学 的 知 识 , 将 课 本 的 全 部 内 容 联系起来,使学生把所学的知识用到具体的工作和学习中。通过课程设计,能 够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,并 培养基本的、良好的程序设计技能。要求:1. 明 确课 设任务, 复习与查 阅有关 资料 。2. 设 计报 告要清楚 明了,带 有明确 注释 。3. 本次课程设计按照教学要求需要在三周时间内独立完成,学 生要发挥自主学 习的能力,充分利用课余时间,完成设计题目,不断测试,优化。2

2、. 课程设计任务内容笔记 本电脑产 品信 息 包括 :产 品名 称、 品牌(或 厂商)、产 品型 号、 进价 、 库存数量。笔记本电脑销售信息包括:产 品名称、品 牌、产 品型号、销 售数量、售 价、 总金额(销售数量*售价)、销售日期(年.月. 日)、客 户名称。系统的主要功能包括:1. 创建笔记本电脑产品信息文件,根 据提示输入若干笔记本电脑的信息, 并将这些信息保存至一个文件中。2. 增加笔记本电脑信息 ,在原有笔记本电脑产 品信息文件的基础上 增加 新的笔记本电脑信息,并保存至原产品信息文件中。3. 删除笔记本电脑信息 ,提示用户输入要进行 删除操作的产品名称 和产 品型号,如 果在产

3、品信息文件中有该信息存在,则 将对应的笔记本电脑信息删 除,否则输出提示信息,并提示用户选择是否继续进行删除操作。4. 修改笔记本电脑信息 ,提示用户输入要进行 修改操作的 产品名称和产 品 型 号 ,如 果 在 产 品 信 息 文 件 中 有 该 息 存 在 ,则 将 提 示 用 户 输 入 要 修 改 的 选 项 , 并将结果保存至原产品信息文件,并提示用户选择是否继续进行修改操作。5. 笔记本电脑销 售管理,创建一个销售记录文件,每完成一次销售,就 按销售信息的要求输入各项数据,并 将该次的销售信息添加到文件中,同 时修 改相应的笔记本电脑产品信息文件(主要是修改其库存 数量)。6. 按

4、 不 同 条 件 进 行 查 询 操 作 , 输 出 满 足 条 件 的 笔 记 本 电 脑 信 息 。(1) 输入产品名称,在 笔记本电脑产品信息文件中查找相应的笔记本电脑 信息并输出。(2) 输入产品名称,在 销售记录文件中进行查 找,输 出该笔记本电脑的所 有销售信息。(3) 输 入 一 个 日 期 , 输 出 该 天 所 有 笔 记 本 电 脑 的 销 售 信 息 。(4) 输 入客 户名 称, 输出 与该客户 有关的 所有 销售 信息 。7. 按不同条件进 行统计工作。(1) 输入一个日期(年. 月.日),在销售记录文件中统计该天笔记本电脑 的总销售量、总销售金额,并计算该天的销售利

5、润。(2) 输入一个日期(年. 月),在销售记录文件中统计该月笔记本电脑的 总销售量、总销售金额。(3) 输入一个日期( 年. 月),在 销售记录文件中统计该月中各个品牌的笔 记本电脑的总销售量,并按总销售量从高到低的顺序输出笔记本电脑品牌名 称。(4) 输入品牌名称,在 销售记录文件中统计其不同型号的销量,并 输出销 量最高的那个型号的笔记本电脑的信息。3. 详细设计说明该 题 目 要 求 将 电 脑 的 信 息 和 销 售 信 息 全 部 存 入 文 件 ,并 且 在 用 的 时 候 从 文 件中调用。从 文件中调用时应用到结构体数组 ,应注意到结构体数组的引用方 式。对电脑信息进行删除、

6、修改时,应注意把修改后的信息保存到原文件中, 以供查询和统计功能对信息的使用。每一项功能都包含在一个函数中,这些函数在主函数中调用。4. 软件使用说明第 一 次 运 行 时 需 要 先 建 立 一 个 infor.txt,sel.txt的 空 文 件 , 然 后 进 行 创 建 。以后执行就不需要了,直接用原来文件中的信息。通过提示信息进行操作。5. 设计心得与体会通过课程设计,使自己认识到了自己的不足,对C+的运用还不熟悉,综合应用 的能力不强。有些知识点记不牢, 编程时要不断的翻课本。还出现一些 低级错误, 导致程序无法执行。我们要提高自 己的 实践能力, 解决一些实际问 题。6. 参考文

7、献C+ 程序设计7. 附录:代码实现#include #include #include struct 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 date int year;int month;int day;date1;char person20;int n,s,i,cn=0,sn=0;st

8、ruct 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,&inf

9、ori.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=

10、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);fwr

11、ite(&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)

12、,1,fp);printf(请 输 入 要 删 除 的 产 品 名 称 );scanf(%s,name);printf(请 输 入 要 删 除 的 产 品 型 号 );scanf(%s,model);i=0;while(strcmp(,name)!=0)|(strcmp(infori.model,mode l)!=0) / 找 到名 字和 型号 相同的 电脑 i+;printf(显 示 该 电 脑 信 息 :n);printf(%s %s %s %d,,infori.brand,infori.model,in fori.inprice);for(j=

13、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,chname1.

14、name);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

15、,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(请

16、输入产品型号);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.da

17、y);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);fc

18、lose(fp);printf(添 加 完 成 , 继 续 选 择 nn);void search()/按不同要求在信息记录和销售记录中查找FILE *fp1;char name115,name215,person15; int m=0;i=0;int year,month,day;while(1)printf(nprintf(n按 产 品 名 称 查 询 笔 记 本 电 脑 信 息 请 输 入 1n);按 产 品 名 称 查 询 销 售 信 息 请 输 入 2n);printf(n按 日 期 查 询 请 输 入 3n);printf(n按 客 户 名 称 查 询 请 输 入 4n);prin

19、tf(n查 询 结 束 请 输 入 5n);break;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

20、); 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:

21、 / 按客 户名 称查询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(

22、) /根 据 不 同 要 求 同 记 笔 记 本 电 脑 信 息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(* 输入一个日期(年. 月),

23、在销售记录文件中统计该月中各 个 品牌 的笔记本 电脑 的总 销售 量,并 按 总 销售 量从 高到低的 顺序输出 笔记本电 脑品牌名称,请按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);

24、 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.dat

25、e1.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);prin tf(成本是 d,s2);printf(总 销售 金 额 是 %d,s1);printf(n);printf(销 售 利 润 是 %d,s3);printf(n);a=0;s1=0;s2=0;fclose(fp1);fclose(fp);br

26、eak;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;pri

27、ntf(销售总量是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.

28、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

29、.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;in

温馨提示

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

评论

0/150

提交评论