C 课程设计之职工信息管理系统.doc_第1页
C 课程设计之职工信息管理系统.doc_第2页
C 课程设计之职工信息管理系统.doc_第3页
C 课程设计之职工信息管理系统.doc_第4页
C 课程设计之职工信息管理系统.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#include#includeint main();void save(int N);int load();void change();void input();/录入工人的信息void print();void find_edu();void find_num();void find();int menu();void del();int i,c=0;struct Workersint job_num;char name10;char sex6;int eages;char education20;int salary;char address20;char number15;worker100;void input()/录入工人的信息int N;printf(输入工人的个数:);scanf(%d,&N);for(i=0;iN;i+)printf(输入第%d个工人的信息: n,i+1);printf(职工号t姓名t性别t年龄t学历t工资t住址t电话 n);scanf(%d%s%s%d%s%d%s%s,&workeri.job_num,,workeri.sex,&workeri.eages,cation,&workeri.salary,workeri.address,workeri.number);printf(n);fflush(stdin);save(N);void save(int N)/将工人的信息存入磁盘FILE *fp;if(fp=fopen(worker.dat,wb)=NULL)printf(cannot open filen);exit(0);for(i=0;iN;i+)if(fwrite(&workeri,sizeof(struct Workers),1,fp)!=1)printf(file write errorn);fclose(fp);int load()/读盘里的信息FILE *fp;i=0;if(fp=fopen(worker.dat,rb)=NULL)printf(cannot open filen);exit(0);dofread(&workeri,sizeof(struct Workers),1,fp);i+;while(!feof(fp);fclose(fp);return(i-1);void print()/浏览工人信息if(c=0)c=load();for(i=0;ic;i+)printf(输出第%d个工人的信息: n,i+1);printf(职工号t姓名t性别t年龄t学历t工资t住址t电话 n);printf(n%dt%st%st%dt%st%dt%st%sn,workeri.job_num,,workeri.sex,workeri.eages,cation,workeri.salary,workeri.address,workeri.number);printf(n);void find_edu()/按工号查询工人信息int t,flag=0;if(c=0)c=load(); char edu20; printf(请输入需要查询的学历:); scanf(%s,edu); for(i=0;ic;i+)if(strcmp(cation,edu)=0) printf(%dt%st%st%dt%st%dt%st%s,workeri.job_num,,workeri.sex,workeri.eages,cation,workeri.salary,workeri.address,workeri.number);printf(n);flag=1;if(flag=0)printf(n对不起,没有找到此工人!n);printf(n继续查询学历请按1,返回查询函数请按2n);scanf(%d,&t);switch(t)case 1:find_edu();break;case 2:find();break;printf(n);void find_num()/按学历查询工人信息int t,flag=0; if(c=0)c=load(); int num1; printf(请输入需要查询的职工号:); scanf(%d,&num1); for(i=0;i0&a4)flag=1;break;elseflag=0;printf(您输入有误,请重新输入!);while(flag=0);while(flag=1)switch(a)case 1:find_num();break;case 2:find_edu();break;case 3:main();break;int menu()/创建菜单int b;printf(t*菜单*n);printf(t* 1. 工人信息录入 *n);printf(t* 2. 浏览工人信息 *n);printf(t* 3. 查询工人信息 *n);printf(t* 4. 删除工人信息 *n);printf(t* 5. 修改工人信息 *n);printf(t* 0. 退出 *n);printf(t*n);do printf(n 输入你的选择项(05):n); scanf(%d,&b); while(b5);return b;void del() /删除函数if(c=0) c=load();int j,flag=0,num,a;char ch1,ch2;printf(n 原来的职工信息:n);print(); /调用浏览函数printf(n);printf(请输入要删除的工人的工号:n);fflush(stdin);scanf(%d,&num);for(i=0;ic;i+)if(workeri.job_num=num)printf(已找到该工人,输出工人的信息:n);printf(职工号t姓名t性别t年龄t学历t工资t住址t电话 n);printf(n%dt%st%st%dt%st%dt%st%sn,workeri.job_num,,workeri.sex,workeri.eages,cation,workeri.salary,workeri.address,workeri.number);printf(n确实要删除此人信息请按Y/y,不删除请按N/nn);fflush(stdin);scanf(%c,&ch1);if(ch1=y|ch1=Y)for(j=i;jc-1;j+)workerj = workerj+1;printf(你要保存你的修改吗? 保存请按1 不保存请按0n);scanf(%d,&a);if(a=1)c=c-1;save(c); /调用保存函数c=load();printf(n浏览改变后的所有工人信息:n);print();elseprintf(谢谢你的使用!);if(ch1=n|ch1=N)printf(谢谢使用!n);flag=1;if(flag=0)printf(对不起,没有找到此工人!n);printf(n继续删除请按Y/y,不再删除请按N/n:n);fflush(stdin);scanf(%c,&ch2);switch(ch2)case Y:del();break;case y:del();break;case N:break;case n:break;void change() /修改函数char sex110,name120,education120,address130,number115;char ch1,ch2;int job_num1,eages1,salary1,num,a;int b,i,t,flag=0;if(c=0)c=load(); /调用load函数printf(n 输出原来的职工信息:n);print(); / 调用浏览函数printf(请输入要修改的工人的工号:n);fflush(stdin);scanf(%d,&num);for(i=0;ic;i+)if(workeri.job_num=num)printf(n已找到此人,原始记录为:n);printf(n职工号t姓名t性别t年龄t学历t工资t住址t电话 n);printf(n%dt%st%st%dt%st%dt%st%sn,workeri.job_num,, workeri.sex,workeri.eages,cation,workeri.salary,workeri.address,workeri.number);printf(n确实要修改此人信息请按Y/y ; 不修改请按N/nn);fflush(stdin);scanf(%c,&ch1);if(ch1=y|ch1=Y)doprintf(n*n);printf(t需要进行修改的选项n t1.职工号 * 2.姓名n t3.性别 * 4.年龄n t5.学历 * 6.工资n t7.住址 * 8.电话n);printf(n*n);do printf(n 输入你的选择项(18):n); scanf(%d,&b); while(b8);switch(b) /因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人case 1 :printf(工人的工号改为n);scanf(%d,&job_num1);workeri.job_num=job_num1;break;case 2 :printf(工人的名字改为n);scanf(%s,name1);strcpy(,name1);break;case 3 :printf(工人的性别改为n);scanf(%s,sex1);strcpy(workeri.sex,sex1);break;case 4 :printf(工人的年龄改为n);scanf(%d,&eages1);workeri.eages=eages1;break;case 5 :printf(工人的学历改为n);scanf(%s,education1);strcpy(cation,education1);break;case 6 :printf(工人的工资改为n);scanf(%d,&salary1);workeri.salary=salary1;break;case 7 :printf(工人的地址改为n);scanf(%s,address1);strcpy(workeri.address,address1);break;case 8 :printf(工人的电话改为n);scanf(%s,number1);strcpy(workeri.number,number1);break;printf(n是否还要继续修改的信息?n 继续请按Y/y ; 不重新修改 请按N/n: n);fflush(stdin);scanf(%c,&ch2);while(ch2=y|ch2=Y);printf(n你要保存你的修改吗? 保存请按1 不保存请按0n);scanf(%d,&a);if(a=1)save(c); /调用保存函数printf(n浏览修改后的职工信息:n);printf(n职工号t姓名t性别t年龄t学历t工资t住址t电话 n);printf(n%dt%st%st%dt%st%dt%st%sn,workeri.job_num,, workeri.sex,workeri.eages,cation,workeri.salary,workeri.address,workeri.number);elseprintf(谢谢你的使用!);if(ch1=n|ch1=N)printf(谢谢使用!);flag=1;if(!flag)printf(n对不起,没有找到此工人!n);printf(n继续修改请按1,不再修改请按2n);scanf(%d,&t);switch(t)case 1:change();break;case 2:break;int main()printf(n按任意一键进入菜单.);getch();putchar(10);while(1)switch(menu() /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论