




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 课程设计报告(2014- 2015年度第2学期)实验名称: 数据结构与算法 题 目: 公司销售管理系统院 系: 控制与计算机工程 班 级: 信安1401班 学 号: 1141290114 姓 名: 刘建兴 指导教师: 林碧英 设计周数: 1周 成 绩: 日期:2015年7月 5 日 课程设计报告一、课程设计的目的与要求1 目的: 应用数据结构和算法来设计相应的程序,培养学生问题求解模块的框架设计和详细设计、相关程序实现和调试能力,完成创新能力和实践能力的训练。2 要求: 用高级程序设计语言C编码,用VC+开发平台调试二、设计正文(一) 课程设计题目公司销售管理系统(二)需求分析1、功能分析实
2、现对客户信息的管理:包括对客户的基本信息进行添加、修改、删除、查询、显示。实现产品信息管理:包括对产品的基本信息进行添加、修改、删除、查询、显示。实现供应商信息管理:包括对供应商的基本信息进行添加、修改、删除、查询、显示。实现定单信息管理:包括对定单的基本信息进行添加、修改、删除、查询、显示。2、数据分析除商品价格采用float型,商品数量、编号及年龄采用int型,链表结点采用结构体类型外,其余数据类型均为字符串型数据。另,采用线性链表对数据进行存储;3、需要用文件保存的数据客户信息、产品信息、供应商信息。(三) 概要设计函数init1、init2、init3、init4的功能是从本地的txt
3、文档中分别读取客户信息,商品信息和供应商信息,完成初始化操作。函数creat1、creat2、creat3、creat4的功能是完成分别对客户信息,商品信息、供应商信息以及订单信息的添加操作。函数del1、del2、del3、del4的功能是完成分别对分别客户信息,商品信息、供应商信息以及订单信息的删除操作。函数revise1、revise2、revise3、revise4的功能是完成分别对客户信息,商品信息、供应商信息以及订单信息的修改操作。函数find1、find2、find 3、find4的功能是完成分别对客户信息,商品信息、供应商信息以及订单信息的查询操作。函数look1、look2、
4、look3、look4的功能是完成分别对客户信息,商品信息、供应商信息以及订单信息的浏览操作。order函数的功能是完成对订单信息的排序作用。menu函数的功能是增加系统界面的美观性以及功能的多次调用。wait函数的功能是为用户浏览信息预留充分时间。(四) 详细设计1、系统功能结构框图公司销售管理系统 订单信息管理供应商信息管理产品信息管理客户信息管理查询删除修改添加查询删除修改添加查询删除修改添加查询删除修改添加2、数据类型定义typedef struct guest/客户信息管理系统char name30;int age;char gender15;char tel30;guest;typ
5、edef struct guest1guest data;guest1 *next;guest1,*link1;typedef struct goods/产品信息管理系统char name30;char side20;char add40;float price;char birth30;goods;typedef struct goods1goods data;goods1 *next;goods1,*link2;typedef struct supply/供应商信息管理char name30;char add40;char tel30;supply;typedef struct suppl
6、y1supply data;supply1 *next;supply1,*link3;typedef struct sheet/订单信息管理link1 p1; link2 q1;link3 r1;float price;int sum;int num;sheet;typedef struct sheet1sheet data;sheet1 *next;sheet1,*link4;3、基本操作init1(link1 &T):T为第一个链表的头指针。init2(link2 &T):T为第二个链表的头指针。init3(link3 &T):T为第三个链表的头指针。init4(l
7、ink4 &T):T为第四个链表的头指针。creat1(link1 T):T为第一个链表的头指针。creat2(link2 T):T为第二个链表的头指针。creat3(link3 T):T为第三个链表的头指针。creat4(link4 T,link1 T1,link2 T2,link3 T3):T为第四个链表的头指针,T1,T2,T3分别为第一,二,三个链表的头指针。del1(link1 T):T为第一个链表的头指针。del2(link2 T):T为第二个链表的头指针。del3(link3 T):T为第三个链表的头指针。del4(link4 T):T为第四个链表的头指针。find1(l
8、ink1 T):T为第一个链表的头指针。find2(link2 T):T为第二个链表的头指针。find3(link3 T):T为第三个链表的头指针。find4(link4 T):T为第四个链表的头指针。order(link4 T): T为第四个链表的头指针。(五) 测试结果三、课程设计总结或结论1 完成的工作实现了对客户信息的管理:包括对客户的基本信息进行添加、修改、删除、查询、显示。实现了产品信息管理:包括对产品的基本信息进行添加、修改、删除、查询、显示。实现了供应商信息管理:包括对供应商的基本信息进行添加、修改、删除、查询、显示。实现了定单信息管理:包括对定单的基本信息进行添加、修改、删除
9、、查询、显示。2 未完成的工作界面不够美观。3.所需做的改进继续美化界面。四、参考文献 1 林碧英1,新编数据结构及算法编程. 清华大学出版社, 2012年9月第一版附录(程序)#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#include <process.h>typedef struct guest/客户信息管理系统char name30;int age;char gender15;char tel30;guest;typedef
10、 struct guest1guest data;guest1 *next;guest1,*link1;void init1(link1 &T)link1 p,s;FILE *fp;T=s=new guest1;T->next=NULL;if(fp=fopen("1.txt","r")=NULL)printf("error!");exit(1);while(!feof(fp)p=new guest1;fscanf(fp,"%st%st%dt%st",p->,p->data
11、.gender,&p->data.age,p->data.tel);p->next=NULL;s->next=p;s=p;if(fclose(fp)printf("Can't close the file!n");exit(1);void creat1(link1 T)link1 p,s;FILE *fp;int yn;s=T;while(s->next!=NULL)s=s->next;dop=new guest1;printf("请输入客户姓名:");scanf("%s",p-&g
12、t;);printf("请输入客户性别:");scanf("%s",p->data.gender);printf("请输入客户年龄:");scanf("%d",&p->data.age);printf("请输入客户联系方式:");scanf("%s",p->data.tel);p->next=NULL;s->next=p;s=p;if(fp=fopen("1.txt","at")=
13、NULL)printf("error!");exit(0);fprintf(fp,"n%st%st%dt%s",p->,p->data.gender,p->data.age,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);printf("添加成功!n");printf("是否继续添加?(输入0或1):");scanf("%d",&yn
14、);while(yn);void look1(link1 T)link1 p;p=T->next;printf("%-12s%-12s%-12s%-12sn","姓名","性别","年龄","联系方式");printf("-n");while(p!=NULL)printf("%-12s",p->);printf("%-12s",p->data.gender);printf("%-12d&qu
15、ot;,p->data.age);printf("%-12s",p->data.tel);printf("n-n");p=p->next;int revise1(link1 T)link1 p;FILE *fp;char xiu25;int n;printf("请输入修改客户姓名:");scanf("%s",xiu);p=T->next;while(p!=NULL&&strcmp(p->,xiu)!=0)p=p->next;if(p=NULL)p
16、rintf("并无此人!n");return 0;printf("1.姓名2.性别3.年龄4.联系方式n");doprintf("请选择修改项:");scanf("%d",&n);switch(n)case 1:printf("请输入新的姓名:"); scanf("%s",p->); break;case 2:printf("请输入新的性别:"); scanf("%s",p->data.gender
17、); break;case 3:printf("请输入新的年龄:"); scanf("%d",&p->data.age); break;case 4:printf("请输入新的联系方式:"); scanf("%s",p->data.tel); break;printf("是否继续(0或1)?");scanf("%d",&n);while(n);p=T->next;if(fp=fopen("1.txt","w&qu
18、ot;)=NULL)printf("error!");exit(0);fprintf(fp,"%st%st%dt%s",p->,p->data.gender,p->data.age,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;while(p!=NULL)if(fp=fopen("1.txt","at")=NULL)printf(&q
19、uot;error!");exit(0);fprintf(fp,"n%st%st%dt%s",p->,p->data.gender,p->data.age,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;printf("修改成功!n");return 1;int del1(link1 T)link1 p,q;FILE *fp;char xiu25;printf(&q
20、uot;请输入需删除客户姓名:");scanf("%s",xiu);p=T;while(p->next!=NULL&&strcmp(p->next->,xiu)!=0)p=p->next;if(p->next=NULL)printf("并无此人!n");return 0;q=p->next;p->next=q->next;delete(q);p=T->next;if(fp=fopen("1.txt","w")=NULL
21、)printf("error!");exit(0);fprintf(fp,"%st%st%dt%s",p->,p->data.gender,p->data.age,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;while(p!=NULL)if(fp=fopen("1.txt","at")=NULL)printf("error
22、!");exit(0);fprintf(fp,"n%st%st%dt%s",p->,p->data.gender,p->data.age,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;printf("删除成功!n");return 1;int find1(link1 T)link1 p;char xiu25;printf("请输入查找客户姓名:"
23、;);scanf("%s",xiu);p=T->next;while(p!=NULL&&strcmp(p->,xiu)!=0)p=p->next;if(p=NULL)printf("并无此人!n");return 0;elseprintf("查询信息如下:n");printf("%-12s%-12s%-12s%-12sn","姓名","性别","年龄","联系方式");printf(&
24、quot;-n");printf("%-12s",p->);printf("%-12s",p->data.gender);printf("%-12d",p->data.age);printf("%-12s",p->data.tel);printf("n-n");return 1;typedef struct goods/产品信息管理系统char name30;char side20;char add40;float price;char bir
25、th30;goods;typedef struct goods1goods data;goods1 *next;goods1,*link2;void creat2(link2 T)link2 p,s;FILE *fp;int yn;s=T;while(s->next!=NULL)s=s->next;dop=new goods1;printf("请输入产品名:");scanf("%s",p->);printf("请输入产品价格:");scanf("%f",&p->da
26、ta.price);printf("请输入产地:");scanf("%s",p->data.add);printf("请输入生产日期:");scanf("%s",&p->data.birth);printf("请输入保质期:");scanf("%s",p->data.side);p->next=NULL;s->next=p;s=p;if(fp=fopen("2.txt","at")=NULL)pri
27、ntf("error!");exit(0);fprintf(fp,"n%st%.2ft%st%st%s",p->,&p->data.price,p->data.add,p->data.birth,p->data.side);if(fclose(fp)printf("Can't close the file!n");exit(0);printf("添加成功!n");printf("是否继续(0或1)?");scanf("%d
28、",&yn);while(yn);void init2(link2 &T)link2 p,s;FILE *fp;T=s=new goods1;T->next=NULL;if(fp=fopen("2.txt","r")=NULL)printf("error!");exit(1);while(!feof(fp)p=new goods1;fscanf(fp,"%st%ft%st%st%st",p->,&p->data.price,p->data.
29、add,p->data.birth,p->data.side);p->next=NULL;s->next=p;s=p;if(fclose(fp)printf("Can't close the file!n");exit(1);void look2(link2 T)link2 p;p=T->next;printf("%-18s%-18s%-18s%-18s%-18sn","产品名","产品价格","产地","生产日期","保质期&
30、quot;);printf("-n");while(p!=NULL)printf("%-18s",p->);printf("%-18.2f",p->data.price);printf("%-18s",p->data.add);printf("%-18s",p->data.birth);printf("%-18s",p->data.side);printf("n-n");p=p->next;int re
31、vise2(link2 T)link2 p;FILE *fp;char xiu25;int n;printf("请输入修改产品名:");scanf("%s",xiu);p=T->next;while(p!=NULL&&strcmp(p->,xiu)!=0)p=p->next;if(p=NULL)printf("并无此产品!n");return 0;printf("1.产品名2.产品价格3.产地4.生产日期5.保质期n");doprintf("请选择修改项
32、:");scanf("%d",&n);switch(n)case 1:printf("请输入新的产品名:"); scanf("%s",p->); break;case 2:printf("请输入新的产品价格:"); scanf("%f",&p->data.price); break;case 3:printf("请输入新的产地:"); scanf("%s",p->data.add); break
33、;case 4:printf("请输入新的生产日期:"); scanf("%d",&p->data.birth); break;case 5:printf("请输入新的保质期:"); scanf("%s",p->data.side); break;printf("是否继续(0或1)?");scanf("%d",&n);while(n);p=T->next;if(fp=fopen("2.txt","w")
34、=NULL)printf("error!");exit(0);fprintf(fp,"%st%.2ft%st%st%s",p->,p->data.price,p->data.add,p->data.birth,p->data.side);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;while(p!=NULL)if(fp=fopen("2.txt","at&quo
35、t;)=NULL)printf("error!");exit(0);fprintf(fp,"%st%.2ft%st%st%s",p->,p->data.price,p->data.add,p->data.birth,p->data.side);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;printf("修改成功!n");return 1;int del2(link2 T)
36、link2 p,q;FILE *fp;char xiu25;printf("请输入需删除产品名:");scanf("%s",xiu);p=T;while(p->next!=NULL&&strcmp(p->next->,xiu)!=0)p=p->next;if(p->next=NULL)printf("并无此产品!n");return 0;q=p->next;p->next=q->next;delete(q);p=T->next;if(fp=fope
37、n("2.txt","w")=NULL)printf("error!");exit(0);fprintf(fp,"%st%.2ft%st%st%s",p->,p->data.price,p->data.add,p->data.birth,p->data.side);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;while(p!=NULL)if(fp=fo
38、pen("2.txt","at")=NULL)printf("error!");exit(0);fprintf(fp,"%st%.2ft%st%st%s",p->,p->data.price,p->data.add,p->data.birth,p->data.side);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;printf("删除成功!n
39、");return 1;int find2(link2 T)link2 p;char xiu25;printf("请输入查找产品名:");scanf("%s",xiu);p=T->next;while(p!=NULL&&strcmp(p->,xiu)!=0)p=p->next;if(p=NULL)printf("并无此产品!n");return 0;elseprintf("查询信息如下:n");printf("%-12s%-12s%-12s%-
40、12s%-12sn","产品名","产品价格","产地","生产日期","保质期");printf("-n");printf("%-12s",p->);printf("%-12.2f",p->data.price);printf("%-12s",p->data.add);printf("%-12s",p->data.birth);printf(&
41、quot;%-12s",p->data.side);printf("n-n");return 1;typedef struct supply/供应商信息管理char name30;char add40;char tel30;supply;typedef struct supply1supply data;supply1 *next;supply1,*link3;void init3(link3 &T)link3 p,s;FILE *fp;T=s=new supply1;T->next=NULL;if(fp=fopen("3.txt&q
42、uot;,"r")=NULL)printf("error!");exit(1);while(!feof(fp)p=new supply1;fscanf(fp,"%st%st%st",p->,&p->data.add,p->data.tel);p->next=NULL;s->next=p;s=p;if(fclose(fp)printf("Can't close the file!n");exit(1);void creat3(link3 T)link3
43、p,s;FILE *fp;int yn;s=T;while(s->next!=NULL)s=s->next;dop=new supply1;printf("请输入供应商名:");scanf("%s",p->);printf("请输入所在地:");scanf("%s",p->data.add);printf("请输入客户联系方式:");scanf("%s",p->data.tel);p->next=NULL;s->ne
44、xt=p;s=p;if(fp=fopen("3.txt","at")=NULL)printf("error!");exit(0);fprintf(fp,"n%st%st%s",p->,p->data.add,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);printf("是否继续(0或1)?");scanf("%d",&
45、yn);while(yn);printf("添加成功!n");void look3(link3 T)link3 p;p=T->next;printf("%-28s%-18s%-18s%n","供应商","所在地","联系方式");printf("-n");while(p!=NULL)printf("%-28s",p->);printf("%-18s",p->data.add);printf("
46、;%-18s",p->data.tel);printf("n-n");p=p->next;int revise3(link3 T)link3 p;FILE *fp;char xiu25;int n;printf("请输入修改供应商名:");scanf("%s",xiu);p=T->next;while(p!=NULL&&strcmp(p->,xiu)!=0)p=p->next;if(p=NULL)printf("并无此供应商!n");retu
47、rn 0;printf("1.姓名2.所在地3.联系方式n");doprintf("请选择修改项:");scanf("%d",&n);switch(n)case 1:printf("请输入新供应商名:"); scanf("%s",p->); break;case 2:printf("请输入新的所在地:"); scanf("%s",p->data.add); break;case 3:printf("请输入新的
48、联系方式:"); scanf("%s",p->data.tel); break;printf("是否继续(0或1)?");scanf("%d",&n);while(n);p=T->next;if(fp=fopen("3.txt","w")=NULL)printf("error!");exit(0);fprintf(fp,"%st%st%s",p->,p->data.add,p->data.t
49、el);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;while(p!=NULL)if(fp=fopen("3.txt","at")=NULL)printf("error!");exit(0);fprintf(fp,"n%st%st%s",p->,p->data.add,p->data.tel);if(fclose(fp)printf("Can't
50、 close the file!n");exit(0);p=p->next;printf("修改成功!n");return 1;int del3(link3 T)link3 p,q;FILE *fp;char xiu25;printf("请输入需删除供应商名:");scanf("%s",xiu);p=T;while(p->next!=NULL&&strcmp(p->next->,xiu)!=0)p=p->next;if(p->next=NULL)print
51、f("并无此供应商!n");return 0;q=p->next;p->next=q->next;delete(q);p=T->next;if(fp=fopen("3.txt","w")=NULL)printf("error!");exit(0);fprintf(fp,"%st%st%s",p->,p->data.add,p->data.tel);if(fclose(fp)printf("Can't close the
52、 file!n");exit(0);p=p->next;while(p!=NULL)if(fp=fopen("3.txt","at")=NULL)printf("error!");exit(0);fprintf(fp,"n%st%st%s",p->,p->data.add,p->data.tel);if(fclose(fp)printf("Can't close the file!n");exit(0);p=p->next;pri
53、ntf("删除成功!n");return 1;int find3(link3 T)link3 p;char xiu25;printf("请输入查找供应商名:");scanf("%s",xiu);p=T->next;while(p!=NULL&&strcmp(p->,xiu)!=0)p=p->next;if(p=NULL)printf("并无此产品!n");return 0;elseprintf("查询信息如下:n");printf("
54、%-12s%-12s%-12sn","供应商","所在地","联系方式");printf("-n");printf("%-12s",p->);printf("%-12s",p->data.add);printf("%-12s",p->data.tel);printf("n-n");return 1;typedef struct sheet/订单信息管理link1 p1; link2 q1;l
55、ink3 r1;float price;int sum;int num;sheet;typedef struct sheet1sheet data;sheet1 *next;sheet1,*link4;void init4(link4 &T)link4 p,s;FILE *fp;s=T;while(s->next!=NULL)s=s->next;if(fp=fopen("4.txt","r")=NULL)printf("error!");exit(1);while(!feof(fp)p=new sheet1;p-&
56、gt;data.p1=new guest1;p->data.q1=new goods1;p->data.r1=new supply1;fscanf(fp,"%dt",&p->data.num);fscanf(fp,"%st",p->data.p1->);fscanf(fp,"%st",p->data.p1->data.tel);fscanf(fp,"%st",p->data.q1->);fscanf(fp,"
57、%st",p->data.q1->data.add);fscanf(fp,"%dt",&p->data.sum);fscanf(fp,"%ft",&p->data.price);fscanf(fp,"%st",p->data.r1->);fscanf(fp,"%st",p->data.r1->data.tel);p->next=NULL;s->next=p;s=p;if(fclose(fp)printf("Can't close the file!n");exit(1);void order(link4 T)link4 work;int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级下美术教学设计-光的魅力-人教新课标
- 本土文化的地理特色试题及答案
- 咽峡炎的护理查房
- 水资源综合利用规划计划
- 行业新规对工作的影响计划
- 增加中小学生阅读活动计划
- 学校美术补习班开设方案计划
- 借助社交媒体增强品牌互动计划
- 生物学习动机的激发策略计划
- 转型升级中的生产管理挑战计划
- 2025年国家公务员录用考试公共基础知识预测押题试卷及答案(共七套)
- 2025-2030中国儿童服装行业市场发展分析及投资前景预测研究报告
- 部编版语文教材培训讲座-口语交际
- 2025年全国中小学生安全教育日专题
- 2025年工程力学笔试试题及答案
- 2025年电子设备装接工岗位职业技能资格证考试题(附答案)
- 2025年河南航空港发展投资集团有限公司社会招聘45人笔试参考题库附带答案详解
- 企业一季一课安全教育记录(2篇)
- 2025-2030年中国工业废水处理产业十三五发展规划及战略规划分析报告
- DB37T 5157-2020 住宅工程质量常见问题防控技术标准
- 烟气超低排放改造和增设脱硝项目资金申请报告写作模板定制
评论
0/150
提交评论