课程设计报告
设计者:苏龙
班级序号:055071-12
学号:20071001569
课程设计报告
一 C语言课程设计的目的
设计一职工信息管理系统,使之能提供以下功能: (1) 系统以菜单方式工作
(2) 职工信息录入功能(职工信息用文件保存) (3) 职工信息浏览功能
(4) 职工信息查询功能,查询方式可按学历查询或按职工号查询 (5) 职工信息删除修改功能(可选项)
二 课程设计报告正文
1题目要求
设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能: (6) 系统以菜单方式工作
(7) 职工信息录入功能(职工信息用文件保存) (8) 职工信息浏览功能
(9) 职工信息查询功能,查询方式可按学历查询或按职工号查询 (10) 职工信息删除修改功能(可选项)
2需求分析
根据题目要求,由于职工信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应
提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择。
3总体设计
根据上面的需求分析,可以将这个系统设计分为以下模块:数据添加、数据查找、数据修改、数据删除、数据输出。系统功能模块如下:
职工信息管理系统 数据添加 数据查找 数据修改 数据删除 数据输出 4详细设计
1 主函数
主函数设计要简洁,只提供部分函数的调用。其中各功能模块用菜单方式选择。
【程序】
void main() { int m;
while(1)
{ printf(\ ______________________________________\\n\ printf(\ 欢迎进入中国地质大学(武汉)员工信息系统\\n\ printf(\ 设计者:055071-12苏龙 学号20071001569\\n\ printf(\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n\ printf(\添加,请按1\ printf(\查找,请按2\ printf(\修改,请按3\ printf(\删除,请按4\ printf(\输出,请按5\
printf(\退出,请按0\\n\ scanf(\if(m>=0&&m<=5) {
switch(m) {
case 1: append(); break;
case 2: search(); break;
case 3: modify(); break;
case 4: delete(); break;
case 5: output(); break;
case 0: exit(); }
printf(\操作完毕,请再次选择!\} else
printf(\选择错误,请再次选择!\} }
2 数据添加 【程序】
void append() {
if((fp=fopen(\ {
printf(\不能打开该文件!\exit(); }
printf(\请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、工资、电话、地址)\\n\
scanf(\d,one.position,one.wanges,one.tel,one.addr);
fprintf(fp,%um,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);
fclose(fp); }
3 数据查找 数据查找共分为职工号、姓名等方式查找 【程序】
void search() {
int l;
printf(\*姓名查找按:1*\\n\printf(\*学历查找按:2*\\n\printf(\*职工号查按:3*\\n\
scanf(\if(l>0&&l<4) {switch(l) {
case 1:nameway(); break;
case 2:xueliway(); break;
case 3:numway(); break; }
printf(\操作完毕!!!\}
else printf(\输入有误!!!\}
void nameway() {
int k=0; char nam[8];
printf(\请输入您要查找的职工姓名:\scanf(\
if((fp=fopen(\ {
printf(\不能打开文件!\exit(); }
while(!feof(fp)) {
fscanf(fp,\.record,one.position,one.wanges,one.tel,one.addr);
if(strcmp(nam,one.name)==0) {
printf(\已查到,记录为:\
printf(\m,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);
k=1; } }
if(k==0)
printf(\对不起,查无此人!。\fclose(fp); }
void xueliway() {int j=0;
char xueli[10];
printf(\输入你要查询的学历\\n\scanf(\
if((fp=fopen(\ {
printf(\不能打开文件!\exit(); }
while(!feof(fp)) {
fscanf(fp,\.record,one.position,one.wanges,one.tel,one.addr);