




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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、look3、l
4、ook4的功能是完成分别对客户信息,商品信息、供应商信息以及订单信息的浏览操作。order函数的功能是完成对订单信息的排序作用。menu函数的功能是增加系统界面的美观性以及功能的多次调用。wait函数的功能是为用户浏览信息预留充分时间。(四) 详细设计1、系统功能结构框图公司销售管理系统 订单信息管理供应商信息管理产品信息管理客户信息管理查询删除修改添加查询删除修改添加查询删除修改添加查询删除修改添加2、数据类型定义typedef struct guest/客户信息管理系统char name30;int age;char gender15;char tel30;guest;typedef st
5、ruct 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 supply1suppl
6、y 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(link4 &a
7、mp;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(link1 T)
8、: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 struct
10、 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.gender
11、,&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->data.
12、name);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")=NULL)pr
13、intf("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);while
14、(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",p-&
15、gt;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)printf(&
16、quot;并无此人!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); brea
17、k;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")=NU
18、LL)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("err
19、or!");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("请输入
20、需删除客户姓名:");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)printf
21、("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("请输入查找客户姓名:");scan
23、f("%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("-n
24、");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 birth30;go
25、ods;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->data.pric
26、e);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)printf(&qu
27、ot;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.add,p-&
29、gt;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、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 revise2(l
31、ink2 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;case 4
33、: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")=NULL)p
34、rintf("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")=NUL
35、L)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)link2 p
36、,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=fopen("
37、;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=fopen(&qu
38、ot;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%-12s%-12
40、sn","产品名","产品价格","产地","生产日期","保质期");printf("-n");printf("%-12s",p->);printf("%-12.2f",p->data.price);printf("%-12s",p->data.add);printf("%-12s",p->data.birth);printf("%-
41、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 p,s;FIL
43、E *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->next=p;s=
44、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",&yn);whi
45、le(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("%-18s&
46、quot;,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");return 0;pr
47、intf("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("请输入新的联系方式:&q
48、uot;); 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.tel);if(
49、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 close
50、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)printf("
51、;并无此供应商!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 file!n
52、");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;printf(&qu
53、ot;删除成功!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("%-12s%-
54、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;link3 r1
55、;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->data
56、.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,"%st&quo
57、t;,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 i=0;work=T;while(work->next)work=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提升远程教育质量在线协作工具的作用与实践
- 教育行业绿色供应链的构建与实践
- 美食文化历史展览行业跨境出海项目商业计划书
- 2025年新疆维吾尔自治区中考历史真题(解析版)
- 书报刊强度耐久性测试创新创业项目商业计划书
- 仿皮带防水涂层处理创新创业项目商业计划书
- 薯条天堂行业深度调研及发展项目商业计划书
- 体育场馆及设施建筑在线平台行业深度调研及发展项目商业计划书
- 2025年中国超薄板剖切机市场调查研究报告
- 2025年中国自动喷漆机市场调查研究报告
- 批判性思维实践手册
- 《建立特种设备“日管控、周排查、月调度”工作机制》专题培训
- 《破产重整》课件
- 提高治疗室物品放置规范率
- 膝关节骨关节炎的临床护理
- 《职场沟通技巧》课件
- 辽宁大学《生态学》2023-2024学年第一学期期末试卷
- 《Maya 2022三维动画制作标准教程(全彩版)》第08章 渲染与输出
- 2024秋国开《人工智能专题》专题测验1-3答案
- 《我国上市公司财务舞弊探析案例-长园集团为例》14000字(论文)
- DB12-T 3035-2023 建筑消防设施维护保养技术规范
评论
0/150
提交评论