1、C语言课程设计汇报 姓 名: 全部 鹏 班 号: 031102 学 号: 1003091 院 系: 材化学院 专 业: 应用化学 指导老师: 吴 杰 成 绩: 年 7 月目 录一 题目要求二 需求分析三 具体设计 1.主函数 2.各功效模块设计四 运行结果五 实习感想六 附录(源代码)代理商信息管理系统一、题目要求 基础功效:代理商信息采集,浏览 ,查询;代理商品信息输入,浏览,修改,查询,统计等。 二、 需求分析 (1) 实现代理商信息采集和代理商品信息输入功效,要提供结构体输入操作;(2) 实现统计功效,要提供对应统计操作;(3) 实现查询功效,要提供查找操作;(4) 实现修改功效,要提供
2、修改操作;(5) 另外,还要提供键盘式选择菜单以实现功效选择。 三、总体设计 整个系统应设计为代理商信息采集,浏览,查询;代理商品信息输入,浏览,修改,查询,统计等模块。数据结构采取结构体数组。 代理商信息管理系统代理商信息采集代理商信息浏览代理商信息查询代理商品信息输入代理商品信息浏览代理商品信息修改代理商品信息查询代理商品信息统计四、 具体设计1. 主函数【步骤图】 依据n值调用各功效模块函数输入n,判定n是否是1-?显示一系列功效选项 NYY 【程序】int main() struct acmer agent100 ; int n, i, k ; printf(请输入要统计代理商数目:
3、) ; scanf(%d, &n) ; printf(请输入代理商信息:n) ; for(i = 1 ; i = n ; i+) input(i, agent) ; menu(); while(scanf(%d, &k),k!=0) switch(k) case 1:for(i = 1;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
4、5:sort(n,agent); for(i = 1;i = n ; i+) printf(%d,i); output(i, agent); menu();break; case 6:n = add(n,agent); menu();break; case 7:n=cancel(n,agent);menu();break; default:printf(errorn) ;menu(); return 0 ; 2.各功效模块设计(1) 输入模块但看各数据信息,数字、年、月、日能够用整型,而姓名、代理商编号、联络方法、销售量能够用字符型数组。数据信息存放在文件中,一条统计对应一个代理商,既符合习惯
5、也方便信息管理.把年月日作为结构体组员,存放在data结构体中,把姓名、代理商编号、联络方法、销售量、代理商品信息作为另一个结构体组员,存放在acmer结构体中。struct data int year ; int month ; int day ; ; struct acmer int number ; char name20 ; char agentnum20 ; char phonum20 ; char goods20; struct data time ; ;(2) 代理商数目添加模块int add(int n,struct acmer agent ) int k,i; printf(
6、请输入要添加代理商数目:); scanf(%d, &k); for(i = n+1 ; i = n+k ; i+) input(i,agent); return n+k ; (3) 删除代理商编号模块int cancel(int n,struct acmer agent ) char x20; int i,j,flag,t; t = n ; printf(请输入要删除代理商编号(按000结束删除):); while(scanf(%s,x)!=EOF) flag = 0; if(strcmp(x,000) = 0) break; for(i = 1 ; i = n ; i+) if(strcmp
7、(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 ; (4) 代理商信息统计模块 void sort(int n,struct acmer agent) struct acmer 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;
8、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结束统计:n); while(scanf(%d, &x),x!=4) printf(请输入k: ); scanf(%d, &k); switch(x) case 1:for(i = 1 ; i k) output(i,agent) ;break; case 2:sort(n,agent); for(i =
9、1 ; i = k ; i+) output(i,agent);break; default:printf(errorn) ; (5) 代理商信息修改模块 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(代理商品信息: ) ;scanf(%s, agenti.goods) ; break; if(flag
10、 = 0) printf(没有此人信息n); else printf(修改成功n); (6) 代理商信息查询模块void search(int n,struct acmer agent) int k,i,flag=1; char x20; printf(1按姓名查找); printf(2按编号查找); printf(请选择查找方法:); scanf(%d, &k); if(k = 1) printf(请输入要查找代理商姓名:); scanf(%s, x); for(i = 1 ; i = n;i+) if(strcmp(x, agenti.name) = 0) flag = 0; output
11、(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); 五、 上机操作下面是各个模块界面图1. 主菜单函数2输入模块3. 输出模块4. 统计模块5. 查找模块6. 代理商品信息修改7. 排名8. 添加9. 删除六、 源程序见附
12、录七、 总结“实践是检验真理唯一标准”,历史告诉们要重视实践.只有经过实践我们才能够了解到我们对知识到底掌握多少,我们还欠缺那些.经过时间我们又能够加深和巩固知识.C语言实习正是这么一个过程.我C语言课程学习不够好,实习时候很吃力。编写用是结构化设计法,而我调试时候发觉了好多问题。有时候因为一个很小错误造成程序无法运行,让我明白了编程细心关键性。经过该实例学习,使我深入了解和利用结构化程序设计思想和方法,学会了用步骤图表示算法。在老师和同学们帮助下,我才能够清楚知道我还有那些不足地方.短短一周时间里我学习到了很多以前课堂上没有学习到或没有记住东西,有初步了解了C语言简单应用,获益匪浅.再此我要郑重感谢老师和同学们,有你们热心激励,耐心无私帮助,我这次实习才能得以顺利完成.
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100