收藏 分享(赏)

c语言程序设计23754.doc

上传人:dreamzhangning 文档编号:2726385 上传时间:2018-09-26 格式:DOC 页数:18 大小:169KB
下载 相关 举报
c语言程序设计23754.doc_第1页
第1页 / 共18页
c语言程序设计23754.doc_第2页
第2页 / 共18页
c语言程序设计23754.doc_第3页
第3页 / 共18页
c语言程序设计23754.doc_第4页
第4页 / 共18页
c语言程序设计23754.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、C 语言程序设计班级:计科 1 班 姓名:陈志光 学号:410240104一、 课程设计目的1.通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固C语言程序设计课程学习的内容,掌握工程软件设计的基本方法。2.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。为后续各门计算机课程的学习打下坚实基础。为毕业设计和以后工作打下必要基础。二、课程设计内容针对某企业的员工,对其信息进行系统的管理。三、需求分析对所开发系统功能、性能的描述,想要实现的目标。此系统可对该厂员工进行信息的录入,修改,删除,添加,查询,排序等功能。用户可通过提示选择进入某一功能界面,然后进行

2、对员工的信息管理。每一功能模块都充分为用户考虑,编排详细。使用户可以方便快捷的了解员工信息,及时有效的对员工进行信息的管理。四、概要设计1系统结构图(功能模块图)对系统进行分析,给出系统结构图;分析:此系统,为方便客户输入,以及使程序清晰化,因而本人采用模块法,将每一功能模块化,使程序中各函数间调用更加明了。以下为系统模块图。2功能模块说明对各个模块进行功能的描述。录入模块:输入该厂现有员工信息并保存与文件中,方便日后进行排序,更新,统计,打印等操作。输出模块:将所有员工信息,或所需员工信息输出于屏幕上,用于打印或查询员工信息。更新模块:此模块又分为删除,添加,修改三个模块。删除模块:对已退休

3、或离开该厂的员工进行删除操作。添加模块:添加新入厂的员工信息并保存起来。修改模块:找到该员工并,选择所要修改的选项。排序模块:本程序只对员工年龄进行从小到大排序。查询模块:此模块分为按姓名,年龄,工作查询。姓名查询模块:输入要查找的姓名,找到就输出其信息。找不到则输出无此人。年龄查询模块:输入要查找的年龄,找到就输出其信息。找不到则输出无此人。工作查询模块:输入要查找的工作,找到就输出其信息。找不到则输出无此人。统计模块:此模块分为,统计年龄,性别和工作。统计年龄:输入要统计的年龄,查找并输出,若无此年龄则输出暂无此年龄员工。统计性别:输入要统计的性别,查找并输出,若无此性别则输出暂无此性别员

4、工。统计工作:输入要统计的工作,查找并输出,若无此工作则输出暂无此工作员工。保存模块:将现有信息保存于文件中,以防丢失。系统模块图五、详细设计及运行结果流程图, 函数之间相互调用的图示 ,程序设计及编码, 运行结果。录入模块输出模块更新模块查询模块退出系统添加员工信息删除员工信息修改员工 信息按姓名查询按年龄 查寻王氏企业员工信息管理系统按工作查询输入 i 的值,进入相应模块按任意键返回主界面主函数:i=1 i=6 i=2 i=3 i=4 i=5 i=0输出模块:出模块:否录入模块:是 否是 否是判断 i 值录入模块输出模块更新模块查询模块排序模块统计模块退出系统开始输入 i保存模块结束i=0

5、inin-1输出信息结束判断 i 值删除模块添加模块修改模块退出系统i=0返回主界面结束开始输入 i查询模块: 统计模块:i=1 i=3 i=2 i=0 i=1 i=2 i=3 i=0否 否是 是六、调试情况,设计技巧及体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。自我评价:本人自我觉得此系统还不错,程序简洁明了,功能齐全,而且充分而且从未有过死循环,用户一旦输错,立即会有提示,此程序相当的健壮。因本人定义了全局变量,使操作更加简单易行,使用了结构体数组,避开链表那样的复杂操作。但不足之处便是没有链表那样节省内存。如有机会下次可能会用链表。2、在设计过程中的感受。在把字符一个

6、个敲上屏幕时,坐在那一动不动相当的枯燥,一想到过会儿就能看到自己亲自编的程序,就只能忍吧 。当看到模块一个个运行后与预料中的完全一样时,郁闷的心情立马被一种成就感替代。就想赶紧编完看看自己判断 i 值年龄查询姓名查询工作查询退出系统i=0返回主界面结束开始输入 i判断 i 值统计工作统计年龄统计性别退出系统i=0返回主界面结束开始输入 i的杰作。然而也会遇到自己解决不了的问题,就只能去求老师了。这次最大的感受就是当你竭尽全力的干一件事时,就没有能挡住你的困难。八、附录:源代码#include#include#define MAX 100char filename20; /*文件名*/FILE

7、*fp;int n; /*当前该厂人数*/struct date /*时间结构体*/ int year;int mouth;int day; ;struct person /*员工信息结构体*/ char name10; /*姓名*/int age; /*年龄*/char job10; /*工作*/char sex10; /*性别*/char address20; /*地址*/char phone10; /*电话*/struct date in_time; /*入厂时间*/t,workerMAX;/*录入模块*/void input()int i; clrscr();printf(“nn 请输

8、入文件名 n“);scanf(“%s“,filename);printf(“开始输入员工的信息n“);printf(“n 请输入现有员工人数n“);scanf(“%d“,if(fp=fopen(filename,“w“)=NULL) printf(“不能建立!n“);exit();for(i=0;iworkerj.age) t=workeri;workeri=workerj;workerj=t;printf(“姓名t 年龄t 工作t 性别t 地址t 电话 t 入厂时间 n“);for(i=0;in;i+)printf(“%st%dt%st%st%st%st%d-%d-%d n“,workeri

9、.name,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);printf(“按任意键返回主菜单 n“);getch();/*按年龄统计*/void count_age() int i,j; int agekey;j=0;clrscr();printf(“ 输入要统计员工的年龄 n“);scanf(“%d“,for(i=0;in;i+)if(workeri.age=agekey) pri

10、ntf(“-员工信息-n“);printf(“姓名 t 年龄t 工作t 性别t 地址t 电话t 入厂时间 n“);printf(“%st%dt%st%st%st%st%d-%d-%d n“,workeri.name,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(“暂无该年龄段员工n“);printf(“按任意键返回主菜单n“);getch(

11、);/*按职务统计*/void count_job() int i,j; char jobkey10;j=0;clrscr();printf(“输入要统计的员工职务n“);scanf(“%s“,jobkey);for(i=0;in;i+)if(strcmp(workeri.job,jobkey)=0) printf(“-员工信息-n“);printf(“姓名t 年龄t 工作t 性别t 地址t 电话t 入厂时间 n“);printf(“%st%dt%st%st%st%st%d-%d-%d n“,workeri.name,workeri.age,workeri.job,workeri.sex,wo

12、rkeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(“暂无该职务或该职务暂时无人n“);printf(“按任意键返回主菜单n“);getch();/*按性别统计*/void count_sex() int i,j; char sexkey10;j=0;clrscr();printf(“输入要统计的员工性别n“);scanf(“%s“,sexkey);for(i=0;in;i+)if(strcmp(workeri.sex,

13、sexkey)=0) printf(“-员工信息-n“);printf(“姓名t 年龄t 工作t 性别t 地址t 电话t 入厂时间 n“);printf(“%st%dt%st%st%st%st%d-%d-%d n“,workeri.name,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(“暂无该性别员工n“);printf(“按任意键返回主

14、菜单n“);getch();/*统计模块*/void count() int i; do clrscr();printf(“nnn *统计员工信息*nn“);printf(“ 按 1,统计某年龄职工nn“);printf(“ 按 2,统计某职务员工nn“);printf(“ 按 3,统计某性别职工nn“);printf(“ 按 0,返回主菜单nn“);printf(“ 请选择 (0-3):n“);scanf(“%d“,switch(i) case 1: count_age(); break;case 2: count_job(); break;case 3: count_sex(); brea

15、k;case 0: break;while(i!=0);/*主函数*/main() int choice;read_message();do clrscr();printf(“nn *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*n“);printf(“ #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#n“);printf(“ * *n“);printf(“ #-欢迎进入王氏企业员工管理系统-#n“);printf(“ * *n“);pri

16、ntf(“ #-按 1,录入员工信息 -#n“);printf(“ * *n“);printf(“ #-按 2,更新员工信息 -#n“);printf(“ * *n“);printf(“ #-按 3,查询员工信息 -#n“);printf(“ * *n“);printf(“ #-按 4,排列员工信息 -#n“);printf(“ * *n“);printf(“ #-按 5,统计员工信息 -#n“);printf(“ * *n“);printf(“ #-按 6,输出员工信息 -#n“);printf(“ * *n“);printf(“ #-按 0,退出系统-#n“);printf(“ * *n“

17、);printf(“ #*#*#*#*#*#*# 制作者:王增 QQ:815604901 *#*#*#*#n“);printf(“ #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#n“);scanf(“%d“,switch(choice) case 1: input(); break;case 2: renew(); break;case 3: inquire(); break;case 4: line(); break;case 5: count(); break;case 6: output(); break;c

18、ase 0: break;while(choice!=0);save();printf(“现有员工数 :%dn“,n);printf(“n 以上信息已保存!文件名为:%sn“,filename);四、解决方案1、首先进行需求分析,搞清楚系统功能和任务;2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统

19、内部其他模块的接口;4、根据分析编写 C 语言代码。五、进度安排课程设计时间为两周,分为五个阶段完成:1、 分析设计阶段。在老师的指导下自主学习和钻研问题,明确设计要求,找出现实方法。按照需求分析、总体设计、详细设计几个步骤进行。这一阶段前1-2 天完成;2、 编码调试阶段。根据设计分析方案编写 C 语言代码,然后调试该代码,实现课题要求的功能。这一阶段在 3-7 天完成;3、 总结报告阶段。总结设计工作,写出课程设计说明书,包括需求分析、总体设计、详细设计、编码、测试的步骤和内容。这一阶段在 8-9 天完成;4、 考核阶段。六、写课程设计总结课程设计报告要求总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结和参考资料等。七、参考资料C 程序设计(第三版) 谭浩强 著 清华大学出版社C 程序设计题解与上机指导(第三版 ) 谭浩强 编著 清华大学出版社参考文献1 张福祥. C 语言程序设计M. 辽宁大学出版社,2010.12 张福祥C 语言程序设计实验实训与习题解答 M沈阳:辽宁大学出版社, 2010.13 牛莉,刘远军等计算机等级考试辅导教程M北京:中国铁道出版社,2008致 参考文献中的内容为五号宋体。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报