1、中国地质大学课程设计报告中国地质大学课 程 设 计 报 告 书所属课程名称 C 程序设计 题 目 职工信息管理系统 院 (系) 班 级 学 号 学生姓名 指导教师 辅导教师 中国地质大学2010 年 9 月 6 日中国地质大学课程设计报告课 程 设 计( 论 文 )任 务 书工程学院 专 业 052081 班一、课程设计(论文)题目 职工信息管理系统 二、课程设计(论文)工作:自 2010 年 08 月 28 日起至 2010 年 09 月 08 日止。三、课程设计(论文)的内容要求:1、设计内容: 制作职工信息管理系统,职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不
2、重复),并实现数据录入、数据删除和数据浏览以及数据查询等一些功能。 2、课程设计的要求: A.系统以菜单方式工作 B.职工信息录入功能(职工信息用文件保存)-输入 C.职工信息浏览功能 -输出 D.查询和排序功能:(至少一种查询方式) -算法 E.按工资查询 F.按学历查询等 G.职工信息删除,修改功能(任选项) 2010 年 9 月 6 日中国地质大学课程设计报告一、需求分析1.能够对职工的基本情况进行输入、修改、增加以及删除和存盘。2.能够对职工信息的浏览。3.能够实现对职工的查询。4.能够对职工的基本工资情况进行设定。5.能够将职工信息和基本工资信息以文档形式保存6.程序能够以菜单形式出
3、现中国地质大学课程设计报告二、概要分析职工信息管理系统设计职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不重复),试设计一职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)-输入 职工信息浏览功能 -输出 查询和排序功能:(至少一种查询方式) -算法 按工资查询 按学历查询等 职工信息删除,修改功能(任选项)下面是功能框架图:中国地质大学课程设计报告三、详细设计以及调试分析A.详细设计1,创建了一个结构体 employee,它包含 num(工号) ,name(姓名) ,sex (性别) ,age(年龄) , xueli(学
4、历) ,wage(工资),addr(住址) ,tel(电话)8 个基类,即为员工的基本信息。2,创建了主函数 main() ,用它调用子函数 menu() ,add() ,del() ,display() ,Input() ,load () ,modify() ,save () , search() ,search num() ,search xueli() 。通过主函数对子函数的调用实现程序的各项功能。B.调试分析void main() menu();int n,flag;char a;中国地质大学课程设计报告-Configuration: 1 - Win32 Debug-Compiling
5、.1.cg:1.c(55) : error C2143: syntax error : missing ; before typeg:1.c(56) : error C2143: syntax error : missing ; before typeg:1.c(61) : error C2065: n : undeclared identifierg:1.c(64) : error C2065: flag : undeclared identifierg:1.c(90) : error C2065: a : undeclared identifierError executing cl.ex
6、e.1.obj - 5 error(s), 0 warning(s)开始由于在主函数的调用过程中把子函数的调用放在了变量的定义之前,导致程序无法运行,后来改正错误,程序可以正常运行。另外在程序中还出现各种小错误,这里不一一列举。通过调试我发现调试是一个漫长而枯燥的过程 ,很锻炼人的耐心。 中国地质大学课程设计报告四、程序使用指南1打开程序出现菜单选项2,选择录入职工信息,按提示录入中国地质大学课程设计报告3.通过选项依次实现对职工信息的浏览,查询,删除,增加和修改。中国地质大学课程设计报告中国地质大学课程设计报告中国地质大学课程设计报告五.源代码#include #include #inclu
7、de #include #define N 100struct employeeint num;/工号char name10;/姓名char sex; /性别int age;/年龄char xueli30;/学历int wage;/工资char addr30;/住址long int tel;/电话em100; void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_xueli();void search_tel
8、();void modify(); void menu() printf(“ *欢迎使用查询系统*n“);printf(“n“);printf(“n“);printf(“ *职工信息管理*n“);printf(“ 1.录入职工信息“);printf(“ 2.浏览职工信息n“);printf(“ 3.查询职工信息“);printf(“ 4.删除职工信息n“); 中国地质大学课程设计报告printf(“ 5.增加职工信息“);printf(“ 6.修改职工信息n“);printf(“ 7.退出n“);printf(“ *谢谢使用*n“);printf(“n“);printf(“n“);void m
9、ain() int n,flag;char a;menu();do printf(“请选择你需要操作的步骤(1-7):n“);scanf(“%d“,if(n=1 flag=0;中国地质大学课程设计报告if(flag=1)printf(“n 对不起,查无此人!n“); do switch(c) case 1:printf(“职工号改为: “);scanf(“%d“,emi-1.num=num;break; case 2:printf(“姓名改为: “);scanf(“%s“,name);strcpy(emi-1.name,name); break; case 3:printf(“性别改为: “)
10、;getchar();scanf(“%c“,emi-1.sex=sex;break; case 4:printf(“年龄改为: “);scanf(“%d“,emi-1.age=age;break; case 5:printf(“学历改为: “);scanf(“%s“,xueli);strcpy(emi-1.xueli,xueli); break; case 6:printf(“工资改为: “);scanf(“%d“,break; case 7:printf(“住址改为: “);scanf(“%s“,addr);strcpy(emi-1.addr,addr);break; case 8:prin
11、tf(“电话改为: “);scanf(“%ld“,emi-1.tel=tel; break; printf(“n“);printf(“n 是否确定所修改的信息 ?n 是 请按 1 ; 不,重新修改 请按 2: n“); 中国地质大学课程设计报告scanf(“%d“, while(b=2);printf(“n 浏览修改后的所有职工信息 :n“);printf(“n“);save(m);display();printf(“n 继续修改请按 1,不再修改请按 0n“);scanf(“%d“,switch(t)case 1:modify();break;case 0:break;default :break;六、总结开始看到题目时,一点头绪都没有,无从下手。后来通过看书了解到了结构化设计方法,顿时豁然开朗。于是我按照题目要求把一个大系统分成模块,一个模块一个模块地编程序,这样就相当于在做小题目,问题简化多了。编模块时,开始也无从下手,经过反复思考后,终于有点思路了,后来越来越熟练,逐渐得心应手起来。我的程序很烦琐,编得很痛苦,连续奋战了几天,终于调试成功。虽然很烦琐,但我无怨无悔,因为我通过学习,学会了调试一个较长程序的基本方法,学会了用流程图表示算法,不仅初步了解了 C+的使用,还进一步掌握和提高了利用 C 语言进行程序设计的能力。