c语言程序设计Word格式.docx
- 文档编号:22828532
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:15
- 大小:17.68KB
c语言程序设计Word格式.docx
《c语言程序设计Word格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
(3)请老师检查,向老师演练此程序,并能回答老师提出的相关问题。
三、需求分析:
(1)根据职工信息管理的需要,建立一个“职工信息管理系统”,系统具有输入、查询、修改、删除、等基本功能;
以方便对职工信息的各项管理操作。
每一条记录包括一个职工的工号、姓名、性别,年龄,职位。
系统的各个功能模块都用函数的形式来实现;
可以将职工信息保存在文件中,并从文件中读取出来。
有一个清晰美观界面来调用各个功能。
(2)创建该职工信息管理系统目的就是能够对学生基本信息进行创建、追加、查询、修改、删除、等功能,这样可以简化许多人工做起来很复杂的问题。
譬如:
“排序”,有了此程序只需将信息输入,计算机就可自动执行,省时、省力。
另外,它还可以重复使用,方便、快捷。
四、概要设计
(1)主函数结构图:
#include<
stdlib.h>
string.h>
#defineMAX200
structemployee
{
charno[10];
//职工号
charname[15];
//姓名
charsex[10];
//性别
intage;
//年龄
intgongzi;
//工资
inttele;
//电话号码
charxueli[20];
//学历
charaddr[50];
//住址
};
structdata
intcount;
//当前职工数组中职工的个数
structemployeeem[MAX];
//职工数组
}dd;
voidmenu()
system("
cls"
);
printf("
\n"
\t\t\t****************\n"
\t\t\t**\n"
\t\t\t*职工信息管理系统*\n"
\t\t\t*0909-1*\n"
\t\t\t*[0]退出*\n"
\t\t\t*[1]查看职工信息*\n"
\t\t\t*[2]输入职工信息*\n"
\t\t\t*[3]删除职工信息*\n"
\t\t\t*[4]修改职工信息*\n"
\t\t\t*[5]按职工号查询职工信息*\n"
\t\t\t*[6]按学历查询职工信息*\n"
}
//等待用户按回车后回到主菜单
voidto_menu()
charc1,c2;
\n\n\n按回车键返回主菜单..."
scanf("
%c%c"
&
c1,&
c2);
menu();
//查看所有信息
voidview_data()
inti;
职工号\t姓名\t性别\t年龄\t工资\t电话\t学历\t住址"
\n-------------------------------------------------------------------\n"
for(i=0;
i<
dd.count;
i++)
printf("
%s\t%s\t%s\t%d\t%d\t%d\t%s\t%s\n"
dd.em[i].no,dd.em[i].name,dd.em[i].sex,dd.em[i].age,dd.em[i].gongzi,dd.em[i].tele,dd.em[i].xueli,dd.em[i].addr);
//将数据从结构体数组保存到文件中
voidsave_data()
FILE*fp;
inti,k;
k=dd.count;
fp=fopen("
c:
/dada.txt"
"
w"
fwrite(&
k,sizeof(int),1,fp);
k;
fwrite(&
dd.em[i],sizeof(structemployee),1,fp);
fclose(fp);
//输入记录
voidadd_data()
structemployeeemp;
intb;
intk;
inti,j;
while
(1)
{
j=0;
\n请输入职工信息:
"
\n职工号\t姓名\t性别\t年龄\t工资\t电话\t学历\t住址"
\n---------------------------------------------------------------\n"
scanf("
%s%s%s%d%d%d%s%s"
emp.no,&
emp.name,&
emp.sex,&
emp.age,&
emp.gongzi,&
emp.tele,&
emp.xueli,&
emp.addr);
for(i=0;
{
if(strcmp(dd.em[i].no,emp.no)==0)
printf("
\n输入职工号重复,请重新输入!
j=1;
break;
}
if(j==1)
continue;
if(j==0)
{
strcpy(dd.em[k].no,emp.no);
strcpy(dd.em[k].name,emp.name);
strcpy(dd.em[k].sex,emp.sex);
dd.em[k].age=emp.age;
dd.em[k].gongzi=emp.gongzi;
dd.em[k].tele=emp.tele;
strcpy(dd.em[k].xueli,emp.xueli);
strcpy(dd.em[k].addr,emp.addr);
dd.count++;
}
\n\n继续添加职工信息[1-yes0-no]:
%d"
b);
if(b==0)break;
save_data();
//将数据从文件读到结构体数组中
voidread_data()
k=0;
if(access("
0)==-1)//如果文件不存在
fp=fopen("
fclose(fp);
r"
fread(&
dd.count=k;
fread(&
emp,sizeof(structemployee),1,fp);
strcpy(dd.em[i].no,emp.no);
strcpy(dd.em[i].name,emp.name);
strcpy(dd.em[i].sex,emp.sex);
dd.em[i].age=emp.age;
dd.em[i].gongzi=emp.gongzi;
dd.em[i].tele=emp.tele;
strcpy(dd.em[i].xueli,emp.xueli);
strcpy(dd.em[i].addr,emp.addr);
voiddelete_data()
\n请输入要删除职工号:
%s"
no);
k=-1;
if(strcmp(dd.em[i].no,no)==0)
k=i;
break;
if(k==-1)
\n\n没有找到该职工(职工号-%s)!
no);
else
for(i=k;
dd.count-1;
strcpy(dd.em[i].no,dd.em[i+1].no);
strcpy(dd.em[i].name,dd.em[i+1].name);
strcpy(dd.em[i].sex,dd.em[i+1].sex);
dd.em[i].age=dd.em[i+1].age;
dd.em[i].gongzi=dd.em[i+1].gongzi;
dd.em[i].tele=dd.em[i+1].tele;
strcpy(dd.em[i].xueli,dd.em[i+1].xueli);
strcpy(dd.em[i].addr,dd.em[i+1].addr);
}
dd.count--;
save_data();
\n\n删除(职工号-%s)成功!
//修改职工记录
voidedit_data()
inti,k,age=0,gongzi=0,tele=0;
charno[10],name[15],sex[10],addr[50],xueli[20];
\n请输入要修改职工的职工号:
\n请输入职工数据:
\n姓名\t性别\t年龄\t工资\t电话\t学历\t住址"
\n--------------------------------------------------------------------\n"
%s%s%d%d%d%s%s"
name,&
sex,&
age,&
gongzi,&
tele,&
xueli,&
addr);
strcpy(dd.em[k].no,no);
strcpy(dd.em[k].name,name);
strcpy(dd.em[k].sex,sex);
dd.em[k].age=age;
dd.em[k].gongzi=gongzi;
dd.em[k].tele=tele;
strcpy(dd.em[k].xueli,xueli);
strcpy(dd.em[k].addr,addr);
\n\n修改职工记录(职工号-%s)成功!
//查询(职工号)
voidquery_data_no()
\n请输入要查询的职工号:
if(k==0)
{
printf("
\n-----------------------------------------------------------------\n"
}
//查询(学历)
voidquery_data_xueli()
\n请输入要查询的职工学历:
xueli);
if(strcmp(dd.em[i].xueli,xueli)==0)
\n\n没有找到该职工(学历-%s)!
xueli);
//主函数
voidmain()
intfun;
read_data();
请输入功能号[0-6]:
fun);
switch(fun)
case0:
break;
case1:
view_data();
case2:
add_data();
case3:
delete_data();
case4:
edit_data();
case5:
query_data_no();
case6:
query_data_xueli();
if(fun==0)break;
to_menu();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)