代理商信息管理系统_第1页
代理商信息管理系统_第2页
代理商信息管理系统_第3页
代理商信息管理系统_第4页
代理商信息管理系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、中国地质大学 本科生课程论文 课程名称 教师姓名 本科生姓名 本科生学号 本科生专业 所在院系 类别: 日期: 课程设计评语 对课程论文的评语 平时成绩: 课程论文成绩: 总成绩: 评阅人签名: 注:1无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录 课程设计评语 2 目 录 3 1 课程论文题目 4 3 功能模块图 4 4 数据结构设计 5 5 算法设计 6 6 程序代码 11 7 程序运行结果 16 8 编程中遇到的困难及解决方法 18 9 总结心得及良好建议 18 10 致谢 18 1 课程论文题目 题

2、目:代理商信息管理系统 【要求】 基本功能:代理商信息的采集,浏览,查询;代理商品信息的 输入,浏览,修改,查询,统计等。 2. 程序设计思路 按照题目要求,需要分别实现代理商和代理商品的相关功能,如信息采集、 浏览、查询、修改等。从需要记录的各类数据信息来看,数字、年、月、日可以 用整型,而姓名、代理商编号、联系方式、销售量可以用字符型数组,所以我的 设计思路就从一维数组开始,数据结构采用结构体数组,把年月日作为结构体成 员,存放在data结构体中,把姓名、代理商编号、联系方式、销售量、代理商品 信息作为另一个结构体成员,存放在 acmer结构体中。然后为了实现各功能,我 发现用一个函数写下

3、来难度就大,所以就考虑用不同的模块好功能函数,然后通 过main函数调用。同时,设计了一个 menu函数来实现键盘式菜单选择功能。 需求分析 (1) 实现代理商信息采集和代理商品信息输入功能,要提供结构体的输入操作; (2) 实现统计功能,要提供相应的统计操作; (3) 实现查询功能,要提供查找操作; (4) 实现修改功能,要提供修改操作; 另外,还要提供键盘式选择菜单以实现功能选择。 3. 功能模块图 4 数据结构设计 data结构体及acmer结构体设计如下: struct data int year ; int mon th ; int day ; ; struct acmer int

4、nu mber ; char n ame20; char age ntnu m20; char phonu m20; char goods20; struct data time ; ; 5算法设计 1、主函数 main( ) 同时这 main 函数通过调用 menu 函数输入一个数字来选择调用什么函数以实现相应功能, 个功能是通过 switch( ) 的选择结构来调用。 int main() struct acmer agent100 ; int n, i, k ; printf( 请输入要统计的代理商数目: ) ; scanf(%d, getchar(); printf( 请输入代理商信息

5、: n) ; for(i = 1 ; i = n ; i+) input(i, agent) ; menu(); while(scanf(%d, i = n ; i+) output(i, agent);menu();break; case 2:stat(n,agent);menu();break; case 3:search(n,agent);menu();break; case 4:amend(n,agent);menu();break; case 5:sort(n,agent); for(i = 1;i agentnum)+; puts( 输入代理商编号 ); scanf(%s, put

6、s( 输入 goods); scanf(%s, /gets(agent+i)-goods); puts( 输入 name); scanf(%s, /gets(agent+i)-name); puts( 输入数量 ); scanf(%d, puts( 输入 phonum ); scanf(%s, void output(int i,acmer* agent) printf(%sn, puts(agent+i)-goods ); puts(agent+i)-name); printf(%dn,(agent+i)-number); puts(agent+i)-phonum); int add(int

7、 n,struct acmer agent ) int k,i; printf( 请输入要添加代理商的数目: n); scanf(%d, for(i = n+1 ; i = n+k ; i+) input(i,agent); output(i,agent); return n+k ; 4、删除代理商编号模块 int cancel(int n,struct acmer agent ) char x20; int i,j,flag,t; t = n ; printf( 请输入要删除代理商的编号(按 000 结束删除): n); while(scanf(%s,x)!=EOF) flag = 0; i

8、f(strcmp(x,000) = 0) break; for(i = 1 ; i = n ; i+) if(strcmp(x,agenti.agentnum) = 0) for(j = i+1 ;j=n ; j+) agenti = agenti+1; flag = 1; t-; break; if(flag = 0) printf( 没有此代理商的信息 n); return t ; 5、代理商信息统计模块 void sort(int n,struct acmer agent) struct acmer t ; int i, j; for(i = 1;i = n-1 ;i+) for(j =

9、 1 ; j = n-i;j+) if(agentj.numberagentj+1.number) t = agentj; agentj = agentj+1 ; agentj+1 = t ; void stat(int n,struct acmer agent) int k,i,x ; printf(1:销售量超过 k 的代理商 n) ; printf(2:排名前 k 的代理商 n); n); printf( 请选择要实现的统计功能 , 按 4结束统计: while(scanf(%d, scanf(%d, switch(x) case 1:for(i = 1 ; i k) output(i,

10、agent) ;break; case 2:sort(n,agent); for(i = 1 ; i = k ; i+) output(i,agent);break; default:printf(errorn) ; 6、代理商信息修改模块 void amend(int n,struct acmer agent ) int i,k,flag = 0 ; char x20; printf( 请输入要修改的代理商的编号 : ); scanf(%s,x); for(i = 1;i = n;i+) if(strcmp(x,agenti.agentnum)=0) flag =1; printf( 代理商

11、品信息 : ) ;scanf(%s, agenti.goods) ; break; if(flag = 0) printf( 没有此人的信息 n); else printf( 修改成功 n); 7、代理商信息查询模块 void search(int n,struct acmer agent) int k,i,flag=1; char x20; printf(1按姓名查找 ); printf(2按编号查找 ); printf( 请选择查找方式: ); scanf(%d, if(k = 1) printf( 请输入要查找代理商的姓名: ); scanf(%s, x); for(i = 1 ; i

12、= n;i+) if(strcmp(x, ) = 0) flag = 0; output(i,agent); break; if(flag = 1) printf( 没有此人的信息 n); if(k = 2) printf( 请输入要查找代理商的编号: ); scanf(%s, x); for(i = 1 ; i = n;i+) if(strcmp(x, agenti.agentnum) = 0) flag = 0; output(i,agent); break; if(flag = 1) printf( 没有此人的信息 n); 6程序代码 附录 #include #in

13、clude struct data int year ; int month ; int day ; ; struct acmer int number ; char name20 ; char agentnum20 ; char phonum20 ; char goods20; struct data time ; ; void menu() printf(1 输出 n) ; printf(2 统计 n); printf(3 查找 n); printf(4 代理商品信息修改 n) ; printf(5 排名 n) ; printf(6 添加 n); printf(7 删除 n); print

14、f( 输入数字选择想要实现的功能 ,按 0 结束程序: ); void input(int i, struct acmer agent ) printf( 姓名 : ) ; scanf(%s, ) ; printf( 代理商编号 : ) ; scanf(%s, agenti.agentnum) ; printf( 联系方式 : ) ; scanf(%s, agenti.phonum) ; printf( 销售量 : ) ; scanf(%d, printf( 代理商品信息 : ) ; scanf(%s, agenti.goods) ; printf( 加盟时间 : ) ;

15、 printf( 年: ) ; scanf(%d, printf( 月: ) ; scanf(%d, printf( 日: ) ; scanf(%d, void output(int i,struct acmer agent ) printf( 姓名: %s , ) ; printf( 代理商编号: %s , agenti.agentnum) ; printf( 联系方式: %s , agenti.phonum) ; printf( 销售量: %d , agenti.number) ; printf( 代理商品信息: %s , agenti.goods) ; printf

16、( 加盟时间: %d %d %dn, agenti.time.year,agenti.time.month,agenti.time.day) ; int add(int n,struct acmer agent ) int k,i; printf( 请输入要添加代理商的数目: ); scanf(%d, for(i = n+1 ; i = n+k ; i+) input(i,agent); shanchu return n+k ; int cancel(int n,struct acmer agent ) char x20; int i,j,flag,t; t = n ; printf( 请输入

17、要删除代理商的编号(按 000 结束删除):); while(scanf(%s,x)!=EOF) flag = 0; if(strcmp(x,000) = 0) break; for(i = 1 ; i = n ; i+) if(strcmp(x,agenti.agentnum) = 0) for(j = i+1 ;j=n ; j+) agenti = agenti+1; flag = 1; t-; break; if(flag = 0) printf( 没有此代理商的信息 n); return t ; void sort(int n,struct acmer agent) struct ac

18、mer t ; int i, j; for(i = 1;i = n-1 ;i+) for(j = 1 ; j = n-i;j+) if(agentj.numberagentj+1.number) t = agentj; agentj = agentj+1 ; agentj+1 = t ; void stat(int n,struct acmer agent) int k,i,x ; printf(1: 销售量超过 k 的代理商 n) ; printf(2: 排名前 k 的代理商 n); printf( 请选择要实现的统计功能 ,按 4 结束统计: while(scanf(%d, scanf(%

19、d, switch(x) case 1:for(i = 1 ; i k) output(i,agent) ;break; case 2:sort(n,agent); for(i = 1 ; i = k ; i+) output(i,agent);break; default:printf(errorn) ; void amend(int n,struct acmer agent ) int i,k,flag = 0 ; char x20; printf( 请输入要修改的代理商的编号 : ); scanf(%s,x); for(i = 1;i = n;i+) if(strcmp(x,agenti

20、.agentnum)=0) flag =1; printf( 代理商品信息 : ) ;scanf(%s, break; if(flag = 0) printf( 没有此人的信息 n); else printf( 修改成功 n); n); agenti.goods) ; void search(int n,struct acmer agent) int k,i,flag=1; char x20; printf(1 按姓名查找 ); printf(2 按编号查找 ); printf( 请选择查找方式: ); scanf(%d, if(k = 1) printf( 请输入要查找代理商的姓名: );

21、scanf(%s, x); for(i = 1 ; i = n;i+) if(strcmp(x, ) = 0) flag = 0; output(i,agent); break; if(flag = 1) printf( 没有此人的信息 n); if(k = 2) printf( 请输入要查找代理商的编号: ); scanf(%s, x); for(i = 1 ; i = n;i+) if(strcmp(x, agenti.agentnum) = 0) flag = 0; output(i,agent); break; if(flag = 1) printf( 没有此人的

22、信息 n); int main() struct acmer agent100 ; int n, i, k ; ) ; printf( 请输入要统计的代理商数目: scanf(%d, printf( 请输入代理商信息: n) ; for(i = 1 ; i = n ; i+) in put(i, age nt); men u(); while(sca nf(%d, i = n ; i+) output(i, age nt);me nu( );break; case 2:stat (n ,age nt);me nu( );break; case 3:search( n,age nt);me nu

23、( );break; case 4:ame nd(n, age nt);me nu( );break; case 5:sort (n, age nt); for(i = 1;i 月 :“ B 号-Fr信 氓舅=品 1 商方菁5 5 里 X - 片:1 销售量: r联系方式:叶销嘗埠 ; 笔:ff 理隹錨号= 00 Th -fl 名rr代理商编号: 0: 55 5 E -8S89924tB代理商品信息=f -858973460,弋理商品信息:rr 3输出模块 4.统计模块 主. pi 扌睪要实羽的# 5.查找模块 6.代理商品信息修改 能*按p結束程序: 7.排名 七m汀占哉m焉二巴;晶呈;阳仞

24、呵仁匸:施理 门姓名:f代理商编号=離 时间:22 2 1 苕各好代理商编号 ”片联系方式卜片销售畫-8S89?3460代理商品信息、:怛加盟 时间:砧石石 8.添加 9删除 T 8编程中遇到的困难及解决方法 虽然大一下学期学校开设了 C 语言的课程,但是作为一个非计算机专业的学 生,短短一个学期的学习,并不能保障我们在这次实习中游刃有余。实习总共 7 天,我在程序设计上就花将近 5 天的时间。面对一串串的代码、符号,我的程序 遭遇了编译错误、链接错误。好不容易可以正常运行了,却又在实现某些功能陷 入了无限循环的错误。经过老师耐心的指导和自己认真的查看,终于解决了所有 问题。在此期间,我还向学习这方面专业的

温馨提示

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

评论

0/150

提交评论