C语言课程设计 职工信息管理系统.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
12
积分
还剩页未读,继续阅读
关 键 词:C语言课程设计
职工信息管理系统
语言
课程设计
职工
信息管理
系统
资源描述:
中国地质大学课程设计报告
中国地质大学
课 程 设 计 报 告 书
所属课程名称 C程序设计
题 目 职工信息管理系统
院 (系)
班 级
学 号
学生姓名
指导教师
辅导教师
中国地质大学
2010年9月6日
中国地质大学课程设计报告
课 程 设 计( 论 文 )任 务 书
工程学院 专 业 052081 班
一、课程设计(论文)题目 职工信息管理系统
二、课程设计(论文)工作:自 2010年 08月 28 日起至 2010年 09月 08 日止。
三、课程设计(论文)的内容要求:
1、设计内容:
制作职工信息管理系统,职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不重复),并实现数据录入、数据删除和数据浏览以及数据查询等一些功能。
2、课程设计的要求:
A.系统以菜单方式工作
B.职工信息录入功能(职工信息用文件保存)--输入
C.职工信息浏览功能 --输出
D.查询和排序功能:(至少一种查询方式) --算法
E.按工资查询
F.按学历查询等
G.职工信息删除,修改功能(任选项)
2010 年 9月 6 日
一、需求分析
1.能够对职工的基本情况进行输入、修改、增加以及删除和存盘。
2.能够对职工信息的浏览。
3.能够实现对职工的查询。
4.能够对职工的基本工资情况进行设定。
5.能够将职工信息和基本工资信息以文档形式保存
6.程序能够以菜单形式出现
中国地质大学课程设计报告
二、概要分析
职工信息管理系统设计
职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不重复),试设计一职工信息管理系统,使之能提供以下功能:
ü 系统以菜单方式工作
ü 职工信息录入功能(职工信息用文件保存)--输入
ü 职工信息浏览功能 --输出
ü 查询和排序功能:(至少一种查询方式) --算法
ü 按工资查询
ü 按学历查询等
ü 职工信息删除,修改功能(任选项)
下面是功能框架图:
三、详细设计以及调试分析
A.详细设计
1,创建了一个结构体employee,它包含num(工号),name(姓名),sex(性别),age(年龄),xueli(学历),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...
1.c
g:\1.c(55) : error C2143: syntax error : missing ';' before 'type'
g:\1.c(56) : error C2143: syntax error : missing ';' before 'type'
g:\1.c(61) : error C2065: 'n' : undeclared identifier
g:\1.c(64) : error C2065: 'flag' : undeclared identifier
g:\1.c(90) : error C2065: 'a' : undeclared identifier
Error executing cl.exe.
1.obj - 5 error(s), 0 warning(s)
开始由于在主函数的调用过程中把子函数的调用放在了变量的定义之前,导致程序无法运行,后来改正错误,程序可以正常运行。另外在程序中还出现各种小错误,这里不一一列举。通过调试我发现调试是一个漫长而枯燥的过程 ,很锻炼人的耐心。
四、程序使用指南
1.打开程序出现菜单选项
2,选择录入职工信息,按提示录入
3.通过选项依次实现对职工信息的浏览,查询,删除,增加和修改。
五.源代码
#include #include #include #include #define N 100
struct employee
{
int num;//工号
char name[10];//姓名
char sex; //性别
int age;//年龄
char xueli[30];//学历
int wage;//工资
char addr[30];//住址
long int tel;//电话
}em[100];
void menu();
void input();
void save(int);
void display();
void del();
void add();
void search();
void search_num();
void search_xueli();
void search_tel();
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 main()
{
int n,flag;
char a;
menu();
do
{
printf("请选择你需要操作的步骤(1--7):\n");
scanf("%d",&n);
if(n>=1&&n<=7)
{
flag=1;
break;
}
else
{
flag=0;
printf("您输入有误,请重新选择!");
}
}
while(flag==0);
while(flag==1)
{
switch(n)
{
case 1:printf("◆◆◆输入职工信息◆◆◆\n");printf("\n");input();break;
case 2:printf("◆◆◆浏览职工信息◆◆◆\n");printf("\n");display();break;
case 3:printf("◆◆◆按职工号或学历查询职工信息◆◆◆\n");printf("\n");search();break;
case 4:printf("◆◆◆删除职工信息◆◆◆\n");printf("\n");del();break;
case 5:printf("◆◆◆添加职工信息◆◆◆\n");printf("\n");add();break;
case 6:printf("◆◆◆修改职工信息◆◆◆\n");printf("\n");modify();break;
case 7:exit(0);break;
default :break;
}
getchar();
printf("\n");
printf("是否继续进行(y or n):\n");
scanf("%c",&a);
if(a=='y')
{
flag=1;
system("cls");
menu();
printf("请再次选择你需要操作的步骤(1--7):\n");
scanf("%d",&n);
printf("\n");
}
else
exit(0);
}
}
void input()
{
int i,m;
printf("请输入需要创建信息的职工人数(1--100):\n");
scanf("%d",&m);
for (i=0;i=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您输入有误,请重新选择!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case 1:printf("按职工号查询\n");search_num();break;
case 2:printf("按学历查询\n");search_xueli();break;
case 3:main();break;
default:break;
}
}
}
void search_num()
{
int num;
int i,t;
int m=load();
printf("请输入要查找的职工号(20001111---20009999):\n");
scanf("%d",&num);
for(i=0;i8||c<1)
printf("\n选择错误,请重新选择!\n");
}
flag=0;
}
}
if(flag==1)
printf("\n对不起,查无此人!\n");
do
{
switch(c)
{
case 1:printf("职工号改为: ");
scanf("%d",&num);
em[i-1].num=num;
break;
case 2:printf("姓名改为: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
break;
case 3:printf("性别改为: ");
getchar();
scanf("%c",&sex);
em[i-1].sex=sex;
break;
case 4:printf("年龄改为: ");
scanf("%d",&age);
em[i-1].age=age;
break;
case 5:printf("学历改为: ");
scanf("%s",xueli);
strcpy(em[i-1].xueli,xueli);
break;
case 6:printf("工资改为: ");
scanf("%d",&wage);
break;
case 7:printf("住址改为: ");
scanf("%s",addr);
strcpy(em[i-1].addr,addr);
break;
case 8:printf("电话改为: ");
scanf("%ld",&tel);
em[i-1].tel=tel;
break;
}
printf("\n");
printf("\n是否确定所修改的信息?\n 是 请按1 ; 不,重新修改 请按2: \n");
scanf("%d",&b);
}
while(b==2);
printf("\n浏览修改后的所有职工信息:\n");
printf("\n");
save(m);
display();
printf("\n继续修改请按1,不再修改请按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}
}
六、总结
开始看到题目时,一点头绪都没有,无从下手。后来通过看书了解到了结构化设计方法,顿时豁然开朗。于是我按照题目要求把一个大系统分成模块,一个模块一个模块地编程序,这样就相当于在做小题目,问题简化多了。编模块时,开始也无从下手,经过反复思考后,终于有点思路了,后来越来越熟练,逐渐得心应手起来。我的程序很烦琐,编得很痛苦,连续奋战了几天,终于调试成功。虽然很烦琐,但我无怨无悔,因为我通过学习,学会了调试一个较长程序的基本方法,学会了用流程图表示算法,不仅初步了解了C++的使用,还进一步掌握和提高了利用C语言进行程序设计的能力。
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C语言课程设计 职工信息管理系统.doc
链接地址:https://www.renrendoc.com/p-23927574.html