1、 本科生本科生 C 语言课程设计论文语言课程设计论文 课 程 名 称 C 语言课程设计 教 师 姓 名 本科生姓名 本科生学号 本科生专业 地质学 所 在 院 系 地球科学学院 日 期: 2013 年 12 月 26 日 目目 录录 目 录 2 1.课程论文题目 . 3 2.程序设计思路 . 3 3.功能模块图 4 4.程序代码 4 5.程序运行结果 . 30 6.课程设计总结 . 32 7.致谢 . 32 8.参考文献 32 一一 课程论文题目课程论文题目 某高校主要人员有:在职人员(行政人员、教师、一般员工) 、退休人员和临时工。现在, 需要存储这些人员的人事档案信息:编号、姓名、性别、年
2、龄、职务、职称、政治面貌、最 高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1) 添加删除功能:能根据学院人事的变动情况,添加删除记录; (2) 查询功能:能根据编号和姓名进行查询; (3) 编辑功能(高级) :根据查询对相应的记录进行修改,并存储; (4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高 学历高职称人数(硕士学位以上或者副教授以上) ) ,统计要求同时显示被统计者的 信息; (5) 排序功能:按照年龄、来院时间进行排序; (6) 保存功能:能对输入的数据进行相应的存储; 二二 程序设计思路程序设计思路 根据题目要求,人事信息
3、是存放在文件中的,所以应该提供相应的文件的输入输出的功能, 在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜 单式的选择方式选择程序的功能也是必须需的。 另外程序中要求存储的模块, 采用的方式均 为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存, 这样的方法容易理解、 容易编写, 但当文件中的数据量很大时, 这种方法也存在一定的难度, 在本程序中将 M 定为 2000,也即最多可储存的职工人数为 2000; 根据以上需求分析,将程序分成以下几个模块: 1.添加和删除 *添加人员信息并保存(1) *按名称和编号查询与删除记录并保存(2
4、) 2.查询与编辑 *按名称和编号查询 *重新编辑信息并保存 3. 统计 *统计在职人数 *统计党员人数 *统计女工人数 *统计硕士以上学历和副教授以上职称人数 *将统计得到的信息保存在 worker3.txt 文件中 4. 排序 *按年龄进行排序(1) *按来院时间进行排序(2) 三三 功能模块图功能模块图 四四 程序代码程序代码 1、 主函数: 主函数设计的比较简单,只提供输入、处理和输出部分的函数调用。其中各功能模块用 菜单方式选择。其流程图如下 程序 开始 显示一系列功能 根据 n 的值调用个功能模块 函数 结束 输入 n, 判断 是否是 04 N Y main() int n,w;
5、do puts(“tt*高校人事管理 *nnn“); puts(“tttt 1.添加或删除n“); puts(“tttt 2.查询与编辑n“); puts(“tttt 3.统计n“); puts(“tttt 4.排序n“); puts(“tttt 5.退出n“); puts(“tt*n“); printf(“选择你要的服务(1-5): bb“); scanf(“%d“, if(n5) w=1; getchar(); else w=0; while(w=1); switch(n) case 1:retify();main();break; case 2:sear_edit();main();break; case 3:stat();main();break; case 4:row();main();break; case 5:exit(0);break; struct worker int num; char name20; char sex10; int old; char zhicheng20; char zhiwei20; char mianmao20; char xueli20; int come_time; int work_time; int leibi