c语言职工信息管理系统设计.docx

上传人:b****3 文档编号:1469202 上传时间:2022-10-22 格式:DOCX 页数:15 大小:142KB
下载 相关 举报
c语言职工信息管理系统设计.docx_第1页
第1页 / 共15页
c语言职工信息管理系统设计.docx_第2页
第2页 / 共15页
c语言职工信息管理系统设计.docx_第3页
第3页 / 共15页
c语言职工信息管理系统设计.docx_第4页
第4页 / 共15页
c语言职工信息管理系统设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言职工信息管理系统设计.docx

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

c语言职工信息管理系统设计.docx

c语言职工信息管理系统设计

课程设计(大作业)报告

 

课程名称:

C语言课程设计

设计题目:

职工信息管理系统设计

院系:

xxx

班级:

xxxx

设计者:

xx

学号:

xxxx

指导教师:

xxx

设计时间xxxx

 

信息技术学院

昆明学院课程设计(大作业)任务书

姓名:

x院(系):

x

专业:

x学号:

x

任务起止日期:

x

课程设计题目:

职工信息管理系统

 

课程设计要求:

职工信息包括职工号、姓名、性别、年龄、学历(研究生\本科\专科)、工资、住址、电话等。

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

1.系统以菜单方式工作

2.职工信息录入功能(职工信息用文件保存)

3.职工信息浏览功能

4.职工信息查询功能

查询方式:

按学历查询等;

按职工号查询等.

5.职工信息删除、修改功能

工作计划及安排:

2011年6月18日,拿到题目后,分析题目,并且到网上下载相关的参考资料。

2011年6月19日,画出系统总设计图和程序总流程图,并且以小组成员的形式,对所有函数进行分析,分工合作。

2011年6月20日,小组成员各自编写各自的函数,并实现相应的功能。

2011年6月21日,对各自缩写函数的程序进行调试与测试,并根据相应的运行结果,对错误的运行结果进行相应的调试并修改其程序代码,以真正实现其功能。

2011年6月22日,小组成员将各自写的函数进行讨论分析后,把各自的函数合并在一起,并把程序的完整代码写出来,进行调试与测试,运行其结果。

最后,完成课程设计报告。

 

指导教师签字

年月日

课程设计(大作业)成绩

学号:

x姓名:

x指导教师:

x

课程设计题目:

职工信息管理系统

总结:

通过这五天的C程序实训,我们小组既发现了许多不足,也学到了许多以前不懂的知道。

使我们对这门课程有了更深一步的理解,对我们以后的学习有了重要的作用。

其中,通过网络我查询了system这个函数的功能,system(“cls”)功能是实现“清除屏幕”,system(“pause”)功能是实现“暂停批文件的的处理并显示信息”。

通过对这两个函数的使用,使我对“菜单的使用”有了更深一步的认识与理解。

并且我们小组通过老师对我们的帮助,对一些“缓冲区中垃圾的处理”也有了进一步的认识,其中对fflush(stdin),getch()等函数的应用,使程序运行起来更加地顺畅,使程序更加的简练。

而在我所编程的“查询函数”,“删除函数”,“修改函数”中大量的运用到了switch函数,使我对该函数的作用有了深刻地认识,并且对其中运用到的字符的复制,比较,用flag作标记,函数的调用,结构体数组等知识进行了巩固和更深一步的学习。

以后我们还将对此进行深入了解,进一步提升自己的综合知识的运用,在次我们小组成员对老师给予我们的帮助表示感谢!

指导教师评语:

 

成绩:

 

填表时间:

2012年6月22日指导教师签名:

 

昆明学院

C语言课程设计报告

设计题目:

职工信息管理系统设计

小组成员:

x

指导教师:

x

所在院系:

x

年级班级:

x

 

x

 

 

一、课程设计目的与要求

1.课程设计目的

(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。

(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。

2.课程设计要求

职工信息包括职工号、姓名、性别、年龄、学历(研究生\本科\专科)、工资、住址、电话等。

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

1、系统以菜单方式工作

2、职工信息录入功能(职工信息用文件保存)

3、职工信息浏览功能

4、职工信息查询功能

查询方式

(1)按学历查询等

(2)按职工号查询等

5、职工信息删除、修改功能

二、总体设计

根据系统的要求,系统总体设计如图1所示。

图表1系统总设计

 

三、详细设计

1.结构体设计

结构体structemployee用于存放存放员工的资料,包括员工的基本信息:

工号,姓名,年龄,学历,工资,住址,电话号码。

structemployee

{

intnum;//工号

charname[15];//姓名

charsex;//性别

intage;//年龄

charedu[6];//学历

intwage;//工资

charaddr[20];//住址

chartel[12];//电话号码

};

2.函数设计

(1)主函数

main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。

(2)其他各功能函数

函数名

功能

voidmenu();

菜单选择

voidentry();

职工信息录入

voidbrowse();

职工信息浏览

voidquery();

职工信息查询

voidmodify();

职工信息修改

voiddelete();

职工信息删除

voidsave(intn);

记录保存为文件

intload();

从文件中读记录

图表2各功能函数表

3.程序流程

系统的执行应从功能菜单选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。

系统的流程图如图3所示:

图表3程序流程图

四、程序清单和执行结果

1.头文件

#include

#include

#include

structemployee

{

intnum;

charname[10];

charsex;

intage;

charedu[30];

intwage;

charaddr[30];

longinttel;

}em[100];/*定义一个结构体*/

/******以下是函数原型*******/

voidmenu();/*菜单选择函数*/

voidentry();/*录入职工信息函数*/

voidbrowse();/*浏览职工信息函数*/

voiddel();./*删除函数*/

voidquery();/*查询函数*/

voidquery_num();/*按职工号查询职工函数*/

voidquery_edu();/*按学历查询职工函数*/

voidmodify();/*定义各函数*/

voidsave(int)/*保存文件函数*/

intload()/*导入函数*/

 

2.源程序代码与运行结果

(1)查询函数

voidquery()

{intt,flag;

system("cls");

do

{printf("\n按职工号查询请按1;按学历查询请按2;,进入主函数按3\n");

scanf("%d",&t);

if(t>=1&&t<=4)

{flag=1;

break;

}

else

{flag=0;

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

");

}

}

while(flag==0);

while(flag==1)

{switch(t)

{case1:

printf("按职工号查询\n");query_num();break;

case2:

printf("按学历查询\n");query_edu();break;

case3:

main();break;

default:

break;

}

}

图表4运行结果一查询函数1

 

(2)删除函数

voiddel()

{

inti,j,n,t,flag;

system("cls");

intm=load();

charname[20];

printf("\n原来的职工信息:

\n");

browse();/*调用浏览函数*/

printf("\n");

printf("请输入要删除的职工的姓名:

\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

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

\n");

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

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].edu,em[i].wage,em[i].addr,em[i].tel);

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

scanf("%d",&n);

if(n==1)/*如果删除,则其他的信息都往上移一行*/

{

for(j=i;j

{

strcpy(em[j].name,em[j+1].name);

em[j].num=em[j+1].num;

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

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

strcpy(em[j].edu,em[j+1].edu);

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

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

em[j].tel=em[j+1].tel;

}

flag=0;

}

}

}

if(!

flag)

m=m-1;

else

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

\n");

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

\n");

save(m);/*调用保存函数*/

browse();/*调用浏览函数*/

printf("\n继续删除请按1,不再删除请按0\n");

scanf("%d",&t);

switch(t)

{

case1:

del();break;

case0:

break;

default:

break;

}

}

图表5运行结果二删除函数1

图表5运行结果二删除函数2

(3)修改函数

voidmodify()

{

intnum;

charname[10];

charsex;

intage;

charedu[30];

intwage;

charaddr[30];

longinttel;

intb,c,i,n,t,flag;

system("cls");

intm=load();/*导入文件内的信息*/

printf("\n原来的职工信息:

\n");

browse();/*调用浏览函数*/

printf("\n");

printf("请输入要修改的职工的姓名:

\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

if(strcmp(em[i].name,name)==0)

{

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

\n");

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

printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].n

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

当前位置:首页 > 人文社科 > 法律资料

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

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