职工信息管理系统C语言课程设计+源代码.docx

上传人:b****6 文档编号:4571203 上传时间:2022-12-06 格式:DOCX 页数:17 大小:65.43KB
下载 相关 举报
职工信息管理系统C语言课程设计+源代码.docx_第1页
第1页 / 共17页
职工信息管理系统C语言课程设计+源代码.docx_第2页
第2页 / 共17页
职工信息管理系统C语言课程设计+源代码.docx_第3页
第3页 / 共17页
职工信息管理系统C语言课程设计+源代码.docx_第4页
第4页 / 共17页
职工信息管理系统C语言课程设计+源代码.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

职工信息管理系统C语言课程设计+源代码.docx

《职工信息管理系统C语言课程设计+源代码.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统C语言课程设计+源代码.docx(17页珍藏版)》请在冰豆网上搜索。

职工信息管理系统C语言课程设计+源代码.docx

职工信息管理系统C语言课程设计+源代码

课程设计报告

(本科)

课程:

高级语言课程设计

学号:

姓名:

班级:

教师:

时间:

计算机科学与技术系

设计名称:

职工信息管理系统

设计内容、目的与要求:

目的:

要求熟练掌握C语言的基本知识和编辑技能。

基本掌握结构化程序设计的基本思路和方法。

通过编写学生的C语言职工信息管理系统,便于对职工的信息进行管理。

通过对职工C语言信息管理系统设计,训练综合运用函数的自定义,数组,结构体等,并提高程序设计的能力。

要求:

设计一个职工信息管理系统,使之能提供以下功能:

1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

2、输入功能:

职工信息录入(职工信息用文件保存),可以一次完成若干条记录的输入。

3、浏览功能:

完成对全部职工信息的显示。

4、查找功能:

完成按职工的职工号查询职工的相关信息,并显示。

完成按职工的学历查询职工的相关信息,并显示。

完成按职工的电话号码查询职工的相关信息,并显示。

5、删除功能:

通过输入职工的姓名完成对该名职工的信息进行删除。

通过输入职工号完成对该名职工的信息进行删除。

6、添加功能:

完成添加新职工的信息的任务。

7、修改功能:

通过输入职工的姓名完成对该名职工的信息进行修改。

通过输入职工号完成对该名职工的信息进行修改。

8、退出职工信息管理系统。

计划与进度安排:

2012年12月8日至2012年12月15日仔细看数据库相关知识,通过上网查资料找思路。

2012年12月16日至2012年12月20日完成设计思路并作出草稿,把主函数和各调用函数模块编出来。

2012年12月21日至2013年1月1日逐步实现各模块的功能化,把整个程序大体功能都实现。

2013年1月2日至2013年1月6日修改并完善各功能,写好电子实验报告,并准备提交验收。

设计过程、步骤(可加页):

一.功能结构

二、设计说明

1.这个程序要用到结构体.

structemployee{…………};

2.函数的声明和调用:

voidmenu();择功能,用到了do..while语句和switch,do..while是进行循环的,switch是用来选择的

do

{

if(n>=1&&n<=7)

{

flag=1;

break;

}

else

{

flag=0;

printf("您输入有误,请重新选择!

");

}

}

while(flag==0);

switch(n)

{

case1:

printf("输入职工信息");printf("\n");input();break;

case2:

printf("浏览职工信息");printf("\n");display();break;

case3:

printf("查询职工信息");printf("\n");search();break;

case4:

printf("删除职工信息");printf("\n");del();break;

case5:

printf("添加职工信息");printf("\n");add();break;

case6:

printf("修改职工信息");printf("\n");modify();break;

case7:

exit(0);break;

default:

break;

}

4.定义的函数完成功能的实现:

录入职工信息,浏览职工信息,查询职工信息,修改职工信息,添加职工信息,删除职工信息。

5.执行程序。

结果与分析(可以加页):

功能上有对职工信息的增加,删除,浏览,查询,修改等简单的功能.

使用说明及运行实例

1.运行程序,进入职工信息管理系统的主菜单:

图1:

进入主菜单界

2.输入数字“1”进行录入职工信息:

图2:

录入职工信息

3.输入“y”返回主菜单(界面同图1)。

4.输入“2”浏览职工信息:

图3:

浏览职工信息

5.输入“y”后继续,输入“3”进行查询职工信息:

图4:

按职工号查询职工信息

5:

按学历查询职工信息

图6:

按电话号码查询职工信息

6.进入主菜单,输入“4”进行删除职工信息:

图7:

按姓名删除职工信息

图8:

按职工号删除职工信息

7.进入主菜单输入“5”进行添加职工信息:

图9:

添加职工信息

8.进入主菜单输入“6”进行修改职工信息:

图10:

按姓名修改职工信息

图11:

按职工号修改职工信息

9.进入主菜单输入”7”退出职工信息管理系统:

图12:

退出系统

优点是:

基本实现了程序的多功能,对与查询职工信息提供了三种方法,对与修改和删除职工信息提供了两种方法,功能多种多样。

旗帜变量的使用也是优点之一;这个程序用到了的结构体,整个程序简单,易懂。

缺点是:

保存职工信息有限,程序段比较臃长。

设计体会与建议:

通过这次的课程设计,我更加了解C语言,学会更好的使用C语言函数调用和结构体等,把学过的知识运用于实践中,而不仅仅停留于对课本的单纯理解;这次设计也让我知道我懂的太少,要学习的东西还有很多。

想完成一项功能就要用很复杂的语句去实现,所以整个程序变的很长,复杂,但是结构体,数组,指针等的灵活运用又可使程序变的易懂。

另外,团队的合作也是成功的一部分!

在编写代码时一开始没有运用有意义的函数名和变量,结果找起来和修改好麻烦,也使别人看不懂。

在整个课程设计中,我认为最重要的就是耐心和细心。

细心,就是在编写过程中注意拼写,仔细编写程序;耐心,就是程序编译中出现很多错误的时候能够耐心去修改,只有这样,才能很好的完成程序。

虽然在整个过程中出现了不少错误,但最终还是圆满完成了,此次程序设计的经历让我学到了太多,以前好多不懂的也都理解了。

也学会了作为大学生我们也应该学会不仅从课堂上学习知识,还应该学会自学。

 

附录:

#include<>del入职工信息");

printf("2.浏览职工信息\n");

printf("3.查询职工信息");

printf("4.删除职工信息\n");

printf("5.添加职工信息");

printf("6.修改职工信息\n");

printf("7.退出\n");

printf("********************谢谢使用******************\n");

printf("\n");

printf("\n");

}

voidinput()um);

printf("请输入姓名:

");

scanf("%s",employee[i].name);

getchar();

printf("请输入性别(f--女m--男):

");

scanf("%c",&employee[i].sex);

printf("请输入年龄:

");

scanf("%d",&employee[i].age);

printf("请输入学历:

");

scanf("%s",employee[i].xueli);

printf("请输入工资:

");

scanf("%d",&employee[i].wage);

printf("请输入住址:

");

scanf("%s",employee[i].addr);

printf("请输入电话:

");

scanf("%s",employee[i].tel);

printf("\n");

}

printf("\n创建完毕!

\n");

save(m);

}

 

voidsave(intm)um,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

}

 

voiddel()ame,name)==0)

{

printf("\n已找到此人,原始记录为:

\n");

printf("职工号姓名性别年龄学历工资住址电话\n");

printf("%d%s%c%d%s%d%s%s\n",employee[i].num,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

printf("\n确实要删除此人信息请按1,不删除请按0\n");

scanf("%d",&n);

if(n==1)

{

for(j=i;j

{

strcpy(employee[j].name,employee[j+1].name);um=employee[j+1].num;

employee[j].sex=employee[j+1].sex;

employee[j].age=employee[j+1].age;

strcpy(employee[j].xueli,employee[j+1].xueli);

employee[j].wage=employee[j+1].wage;

strcpy(employee[j].addr,employee[j+1].addr);

strcpy(employee[j].tel,employee[j+1].tel);delum==num)

{

printf("\n已找到此人,原始记录为:

\n");

printf("职工号姓名性别年龄学历工资住址电话\n");

printf("%d%s%c%d%s%d%s%s\n",employee[i].num,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

printf("\n确实要删除此人信息请按1,不删除请按0\n");

scanf("%d",&n);

if(n==1)

{

for(j=i;j

{

strcpy(employee[j].name,employee[j+1].name);um=employee[j+1].num;

employee[j].sex=employee[j+1].sex;

employee[j].age=employee[j+1].age;

strcpy(employee[j].xueli,employee[j+1].xueli);

employee[j].wage=employee[j+1].wage;

strcpy(employee[j].addr,employee[j+1].addr);

strcpy(employee[j].tel,employee[j+1].tel);delum);

printf("\n");

printf("请输入姓名:

");

scanf("%s",employee[i].name);

getchar();

printf("请输入性别(f--女m--男):

");

scanf("%c",&employee[i].sex);

printf("请输入年龄:

");

scanf("%d",&employee[i].age);

printf("请输入学历:

");

scanf("%s",employee[i].xueli);

printf("请输入工资:

");

scanf("%d",&employee[i].wage);

printf("请输入住址:

");

scanf("%s",employee[i].addr);

printf("请输入电话:

");

scanf("%s",employee[i].tel);

printf("\n");

count=count+1;

printf("已增加的人数:

\n");

printf("%d\n",count);

}

printf("\n添加完毕!

\n");

m=m+count;

printf("\n浏览增加后的所有职工信息:

\n");

printf("\n");

save(m);

display();

fclose(fp);

}

 

voidsearch()um)

{

printf("\n已找到此人,其记录为:

\n");

printf("职工号姓名性别年龄学历工资住址电话\n");

printf("%d%s%c%d%s%d%s%s\n",employee[i].num,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

break;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("不在查询请按0,返回查询函数请按1,继续查询职工号请按2\n");

scanf("%d",&t);

switch(t)

{

case0:

main();break;

case1:

search();break;

case2:

break;

default:

break;

}

}

 

voidsearch_xueli()ueli,xueli)==0)

{

printf("\n已找到,其记录为:

\n");

printf("职工号姓名性别年龄学历工资住址电话\n");

printf("%d%s%c%d%s%d%s%s\n",employee[i].num,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

n++;

}

if(i==m&&n==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("不在查询请按0,返回查询函数请按1,继续查询学历请按2\n");

scanf("%d",&t);

switch(t)

{

case0:

main();break;

case1:

search();break;

case2:

break;

default:

break;

}

}

 

voidsearch_tel()el)==0)

{

printf("\n已找到此人,其记录为:

\n");

printf("职工号姓名性别年龄学历工资住址电话\n");

printf("%d%s%c%d%s%d%s%s\n",employee[i].num,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

break;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("不在查询请按0;返回查询函数请按1,继续查询电话号码请按2\n");

scanf("%d",&t);

switch(t)

{

case0:

main();break;

case1:

search();break;

case2:

break;

default:

break;

}

}

 

voidmodify()um)um,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

printf("\n确实要修改此人信息请按1;不修改请按0\n");

scanf("%d",&n);

if(n==1)

{

printf("\n需要进行修改的选项\n1.职工号2.姓名3.性别4.年龄5.学历6.工资7.住址8.电话\n");

printf("请输入你想修改的那一项序号:

\n");

scanf("%d",&c);

if(c>8||c<1)

printf("\n选择错误,请重新选择!

\n");

}

flag=0;

}

}

if(flag==1)

printf("\n对不起,查无此人!

\n");

do

{

switch(c)um=num;

break;

case2:

printf("姓名改为:

");

scanf("%s",name);

strcpy(employee[i-1].name,name);

break;

case3:

printf("性别改为:

");

getchar();

scanf("%c",&sex);

employee[i-1].sex=sex;

break;

case4:

printf("年龄改为:

");

scanf("%d",&age);

employee[i-1].age=age;

break;

case5:

printf("学历改为:

");

scanf("%s",xueli);

strcpy(employee[i-1].xueli,xueli);

break;

case6:

printf("工资改为:

");

scanf("%d",&wage);

employee[i-1].wage=wage;

break;

case7:

printf("住址改为:

");

scanf("%s",addr);

strcpy(employee[i-1].addr,addr);

break;

case8:

printf("电话改为:

");

scanf("%s",tel);

strcpy(employee[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不在修改请按0,返回修改函数请按1,继续修改职工号码请按2\n");

scanf("%d",&t);

switch(t)

{

case0:

main();break;

case1:

modify();break;

case2:

break;

default:

break;

}

}

 

voidmodify_name()ame,name)==0)um,employee[i].name,employee[i].sex,

employee[i].age,employee[i].xueli,employee[i].wage,employee[i].addr,employee[i].tel);

printf("\n确实要修改此人信息请按1;不修改请按0\n");

scanf("%d",&n);

if(n==1)

{

printf("\n需要进行修改的选项\n1.职工号2.姓名3.性别4.年龄5.学历6.工资7.住址8.电话\n");

printf("请输入你想修改的那一项序号:

\n");

scanf("%d",&c);

if(c>8||c<1)

printf("\n选择错误,请重新选择!

\n");

}

flag=0;

}

}

if(flag==1)

printf("\n对不起,查无此人!

\n");

do

{

switch(c)um=num;

break;

case2:

printf("姓名改为:

");

scanf("%s",name);

strcpy(employee[i-1].name,name);

break;

case3:

printf("性别改为:

");

getchar();

scanf("%c",&sex);

employee[i-1].sex=sex;

break;

case4:

printf("年龄改为:

");

scanf("%d",&age);

employee[i-1].age=age;

break;

case5:

printf("学历改为:

");

scanf("%s",xueli);

strcpy(employee[i-1].xueli,xueli);

break;

case6:

printf("工资改为:

");

scanf("%d",&wage);

employee[i-1].wage=wage;

break;

case7:

printf("住址改为:

");

scanf("%s",addr);

strcpy(employee[i-1].addr,addr);

break;

case8:

printf("电话改为:

");

scanf("%s",tel);

strcpy(employee[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不在修改请按0,返回修改函数请按1,继续修改职工姓名请按2\n");

scanf("%d",&t);

switch(t)

{

case0:

main();break;

case1:

modify();break;

case2:

break;

defaul

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1