课程设计实验报告
- 格式:doc
- 大小:395.00 KB
- 文档页数:30
课程设计实验报告
————————————————————————————————作者: ————————————————————————————————日期:
ﻩ
C语言课程设计实验报告
班级姓名学号
实验课程 C 实验名称人事管理系统
任课教师
实验成绩实验日期2012/2/1
5-22
一、目的(本次课程设计所涉及并要求掌握的知识点。)
通过此程序能实现职工信息的输入,
保存,添加,删除,查询,修改,排序, 统计等。
二、使用环境(本次上机实践所使用的平台和相关软件。)
软硬件
软件:Microsoft Visual C++ 6.0
硬件:windows,及相关硬件设备。
三、内容与设计思想
(1 .设计思路2.主要数据结构3 .主要代码结构4 .主要代码段分析。) (1)菜单模块用键盘式选择菜单以实现功能选择,从而进行想要进行的操作来实现其功能。
(2)数据输入模块用键盘式输入人事信息并把人事信息写入人事档案文件。(3)数据添加模块用追加的方式把新增的人事信息写入人事档案文件。
(4)数据删除模块根据人事信息编号查找要删除的人事信息,从文件中读一条记录,查看编号是否删除,如果是,则舍弃,不再写入文件;否则重新写入文件。(5)数据查询模块(编号) 把编号作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
(6)数据查询模块(姓名)把姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
(7)数据修改模块查找要修改的记录,修改之。先读记录,若是要修改的记录,则修改信息,把修改后的信息写入文件;否则直接写入文件。
(8)数据排序模块通过菜单选择年龄或者来院时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。
(9)数据统计模块通过菜单选择统计字段:在职人数、党员人数、女工人数、高学历人数、高职称人数。
(10)结束程序模块通过菜单选择退出来结束整个程序的操作。
具体函数
voiddesplaymenu();//菜单函数
void insert_per(); //输入人事信息
void save_per();//将人事信息保存到文件
void read_per(); //读文件
void save_add(); //保存添加的信息
void add_per(); //添加新的人事信息
voiddel_per();//用编号查询人事信息并删除void search_No(); //用编号查询人事信息
void search_name(); //用姓名查询人事信息
void revise_per(); //用编号查询人事信息并修改void save_revise(); //保存修改后的信息
void sortarray_age();//用年龄将人事信息排序
voidsum_sex(); //统计女工人数
int main() //主函数
源代码
#include
#include #define N100 void menu(); void build(); void add(); void modify(); void modify_data(); voiddel(); void snum(); void browse(); void order(); void data(); void numduty(); void menu() { ﻩint n,w1; do ﻩ{ printf("\n\t\t\t\t菜\t单\n"); ﻩprintf("\n\t\t0\t新建档案信息\n\n"); printf("\t\t1\t删除信息\n\n"); ﻩprintf("\t\t2\t追加信息\n\n"); ﻩprintf("\t\t3\t搜索查找信息\n\n"); printf("\t\t4\t浏览所有信息\n\n"); ﻩprintf("\t\t5\t修改信息\n\n"); ﻩprintf("\t\t6\t信息排序\n\n"); ﻩﻩprintf("\t\t7\t信息统计\n\n"); printf("\t\t8\t离开\n\n"); printf("\t\t请选择要进行的操作[]\b\b"); ﻩﻩscanf("%d",&n); ﻩif(n<0||n>8){w1=1;getchar();} ﻩelse w1=0; } while(w1==1); ﻩswitch(n) { ﻩcase 0:build();break;//建立 case1:del();break;//删除 ﻩcase2:add();break;//追加 ﻩcase3:search();break;//搜索 ﻩcase4:browse();break;//浏览 ﻩcase 5:modify();break;//修改 case6:order();break;//排序 ﻩcase 7:data();break;//统计 case8:exit(); ﻩdefault:{("输入错误!请重新输入");menu();} ﻩ} } structpersonnelArcheiveInfo { charnum[10];//编号 charname[10];//姓名 char sex;//性别 charage;//年龄 char job[10];//职务