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

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

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

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

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

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

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();

//菜单函数

voidinput();

//录入函数

voidsave(intm);

//保存文件函数

voiddisplay();

//浏览函数

voiddel();

//删除函数

voiddel_name();

//按姓名删除函数

voiddel_num();

//按职工号删除函数

voidadd();

//添加函数

voidsearch();

//查询函数

voidsearch_num();

//按职工号码查询函数

voidsearch_xueli();

//按学历查询函数

voidsearch_tel();

//按号码查询函数

voidmodify();

//修改函数

voidmodify_num();

//按员工号修改函数

voidmodify_name();

//按姓名修改函数

3.选择功能,用到了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("

输入职工信息"

\n"

input();

break;

case2:

浏览职工信息"

display();

case3:

查询职工信息"

search();

case4:

删除职工信息"

del();

case5:

添加职工信息"

add();

case6:

修改职工信息"

modify();

case7:

exit(0);

default:

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<

stdio.h>

//标准输入输出函数库

string.h>

//字符串函数库

stdlib.h>

structemployee

{

intnum;

//职工号

charname[20];

//姓名

charsex;

//性别

intage;

//年龄

charxueli[30];

//学历

intwage;

//工资

charaddr[30];

//家庭住址

chartel[20];

//联系电话

}employee[100];

//定义一个结构体

intmain()//函数主体

voidmenu();

intn,flag;

chara;

menu();

请选择你需要操作的步骤(1--7):

scanf("

%d"

&

n);

do

while(flag==1)

switch(n)

◆◆◆输入职工信息◆◆◆\n"

◆◆◆浏览职工信息◆◆◆\n"

◆◆◆查询职工信息◆◆◆\n"

◆◆◆删除职工信息◆◆◆\n"

◆◆◆添加职工信息◆◆◆\n"

◆◆◆修改职工信息◆◆◆\n"

getchar();

是否继续进行(yorn):

%c"

a);

if(a=='

y'

system("

cls"

//清屏

//调用菜单函数

请再次选择你需要操作的步骤(1--7):

else

exit(0);

}

voidmenu()//菜单函数

************欢迎进入职工信息管理系统**********\n"

1.录入职工信息"

2.浏览职工信息\n"

3.查询职工信息"

4.删除职工信息\n"

5.添加职工信息"

6.修改职工信息\n"

7.退出\n"

********************谢谢使用******************\n"

voidinput()//录入函数

inti,m;

请输入需要创建信息的职工人数(1--100):

m);

for(i=0;

i<

m;

i++)

请输入职工号:

"

employee[i].num);

请输入姓名:

%s"

employee[i].name);

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

employee[i].sex);

请输入年龄:

employee[i].age);

请输入学历:

employee[i].xueli);

请输入工资:

employee[i].wage);

请输入住址:

employee[i].addr);

请输入电话:

employee[i].tel);

\n创建完毕!

save(m);

voidsave(intm)//保存文件函数

inti;

FILE*fp;

if((fp=fopen("

employee_list.txt"

"

wb"

))==NULL)

printf("

cannotopenfile\n"

i++)//将内存中职工的信息输出到磁盘文件中去

if(fwrite(&

employee[i],sizeof(structemployee),1,fp)!

=1)

filewriteerror\n"

fclose(fp);

intload()//导入函数

inti=0;

if((fp=fopen("

rb"

do

fread(&

employee[i],sizeof(structemployee),1,fp);

i++;

while(feof(fp)==0);

return(i-1);

//循环过程中跳出循环时i自动加一,所以要减去一

voiddisplay()//浏览函数

intm=load();

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

for(i=0;

i++)//m为输入部分的职工人数

%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);

voiddel()//删除函数

intt,flag;

\n按职工号删除请按1;

按姓名删除请按2;

进入主函数请按3\n"

t);

if(t>

t<

=3)

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

switch(t)

{

按职工号删除\n"

del_num();

按姓名删除\n"

del_name();

main();

default:

voiddel_name()//按姓名删除函数

inti,j,n,t,flag;

\n原来的职工信息:

display();

//调用浏览函数

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

name);

for(flag=1,i=0;

flag&

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

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

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

if(n==1)

for(j=i;

j<

m-1;

j++)

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

//strcpy(str1,str2)把str2指向的字符串复制到str1中去

employee[j].num=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);

//把下一员工的信息复制到上一个员工信息的位置中去

if(!

flag)//flag取逻辑反,及flag==0

m=m-1;

\n对不起,查无此人!

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

//调用保存函数

\n不在删除请按0,返回删除菜单请按1,继续按姓名删除请按2\n"

case0:

voiddel_num()//按职工号删除函数

请输入要删除的职工的职工号:

num);

if(employee[i].num==num)

\n不在删除请按0,返回删除菜单请按1,继续按职工号删除请按2\n"

voidadd()//添加函数

intn;

intcount=0;

fp=fopen("

emploee_list.txt"

a"

请输入想增加的职工数:

for(i=m;

(m+n);

\n请输入新增加职工的信息:

请输入职工号:

employee[i].num)

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

当前位置:首页 > 总结汇报 > 实习总结

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

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