C语言-编程实例-改编的C版职工管理系统
%s",&choice); } if(toupper(choice)=='N'||(choice)=='n') { printf("输入完毕,任意键返回\n"); getch(); return; } }
void input() { FILE *fp; int i=0; char choiceinput='y'; if((fp=fopen("employee.txt","w"))==NULL) return; while(choiceinput=='y'||choiceinput=='Y') { i ; total ; printf("第%d个职工\n",i); printf("\n"); printf("请你输入工号:\n");//输入工号 scanf("%d",&em[i].num); printf("\n"); printf("请你输入职位:\n");//输入职位 printf("1董事长 2总经理 3副总经理\n"); printf("4部门经理 5工程师 6秘书\n"); printf("7技术员 8领班 9员工\n"); scanf("%d",&em[i].position); printf("\n"); printf("请你输入姓名:\n");//输入姓名 scanf("%s",em[i].name); printf("\n"); printf("请你输入性别以(m男f女):\n");//输入性别 scanf("%s",em[i].sex); printf("\n"); printf("请你输入文化程度:\n");//输入文化程度 printf("1专家 2博士 3硕士 4学士 5其他\n"); scanf("%d",&em[i].cult); printf("\n"); printf("请你输入工资:\n");//输入工资 scanf("%d",&em[i].salary); printf("\n"); printf("请你输入身体情况:\n");//身体情况 printf("1好 2一般 3差\n"); scanf("%d",&em[i].state); printf("请你输入工作年月:\n"); scanf("%s",em[i].day); printf("\n"); printf("是否继续输入?(y/n)\n"); scanf("%s",&choiceinput); fwrite(&em[i],sizeof(suct employee),1,fp); } if(toupper(choiceinput)=='N') //字符大小写转换 { fclose(fp); printf("输入完毕,任意键返回\n"); getch(); return; } }
void display()//显示职工信息 { FILE *fp; int i; if((fp=fopen("employee.txt","r"))==NULL) return; printf("输出结果:\n"); printf("工号 职位 姓名 性别 文化程度 工资 身体情况\n"); printf("\n"); for(i=0;fread(&em[i],sizeof(suct employee),1,fp)!=0;i ) { printf("\n"); printf("工号: %d\n",em[i].num); printf("职位: %d\n",em[i].position); printf("1董事长 2总经理 3副总经理\n"); printf("4部门经理 5工程师 6秘书\n"); printf("7技术员 8领班 9员工\n"); printf("姓名: %s\n",em[i].name); printf("性别: %s\n",em[i].sex); printf("其中(m男f女)\n"); printf("文化程度: %d\n",em[i].cult); printf("1专家 2博士 3硕士 4学士 5其他\n"); printf("工资: %d\n",em[i].salary); printf("身体情况: %d\n",em[i].state); printf("1好 2一般 3差\n"); printf("工作年月: %s",em[i].day); printf("\n"); } printf("\n"); printf("完毕按任意键返回\n"); getch(); //文件里用 fclose(fp); return; }
void change() { FILE *fp; int i; char chname[8]; int choicechange; ro a[N]; printf("请你输入要修改的人的姓名:\n"); scanf("%s",&chname); if((fp=fopen("employee.txt","w "))==NULL) { printf("不能够打开这个文件\n"); return; } for(i=0;i<N;i ) { if(scmp(chname,em[i].name)==0) { printf("这是你要修改的人的信息\n"); printf("工号:%d 职位:%d 姓名:%s 性别:%s 文化程度:%d 工资:%d 身体:%d\n",em[i].num,em[i].position,em[i].name,em[i].sex,em[i].cult,em[i].salary,em[i].state); printf("--------------------------------------------------------\n"); printf("请你输入要修改的部分:\n"); printf("========================================================\n"); printf("1修改职位\n"); printf("2修改文化程度\n"); printf("3修改工资\n"); printf("4修改身体情况\n"); printf("0退出系统\n"); printf("========================================================\n"); printf("请选择\n"); scanf("%d",&choicechange); switch(choicechange) { case 1: em[i].position=changeposition(); break; case 2: em[i].cult=changecult(); break; case 3: em[i].salary=changesalary(); break; case 4: em[i].state=changestate(); break; case 0: return; default : printf("输入有错误"); } a[i]=em[i]; } else { a[i]=em[i]; } } for(i=0;i<total;i ) { em[i]=a[i]; } i=0; fwrite(&em[i],sizeof(suct employee),total,fp); fclose(fp); printf("操作完成按任意键返回\n"); getch(); return; }
int changeposition() { int newposition; printf("请你输入新职位:\n"); printf("1董事长 2总经理 3副总经理\n"); printf("4部门经理 5工程师 6秘书\n"); printf("7技术员 8领班 9员工\n"); scanf("%d",&newposition); return(newposition); }
int changecult() { int newcult; printf("请你输入新的文凭:\n"); printf("1专家 2博士 3硕士 4学士 5其他\n"); scanf("%d",&newcult); return(newcult); }
int changesalary() { int newsalary; printf("请你输入新的工资:\n"); scanf("%d",&newsalary); return(newsalary); }
int changestate() { int newstate; printf("请你输入现在的身体情况:\n"); printf("1好 2一般 3差\n"); scanf("%d",&newstate); return(newstate); }
void add()//追加一个职工信息 { suct employee emp; FILE *fp; int i=0; if((fp=fopen("employee.txt","ab "))==NULL) { printf("不能够打开这个文件\n"); getch(); return; } printf("请你输入新人的内容:\n"); printf("请你输入工号:\n");//输入工号 scanf("%d",&emp.num); printf("请你输入职位:\n");//输入职位 printf("1董事长 2总经理 3副总经理\n"); printf("4部门经理 5工程师 6秘书\n"); printf("7技术员 8领班 9员工\n"); scanf("%d",&emp.position); printf("请你输入姓名:\n");//输入姓名 scanf("%s",emp.name); printf("请你输入性别以(m男f女):\n");//输入性别 scanf("%s",emp.sex); printf("请你输入文化程度:\n");//输入文化程度 printf("1专家 2博士 3硕士 4学士 5其他\n"); scanf("%d",&emp.cult); printf("请你输入工资:\n");//输入工资 scanf("%d",&emp.salary); printf("请你输入身体情况:\n");//身体情况 printf("1好 2一般 3差\n"); scanf("%d",&emp.state); printf("请你输入工作年月:\n"); scanf("%s",emp.day); fwrite(&emp,sizeof(suct employee),1,fp); rewind(fp); printf("插入完毕,按任意键返回\n"); getch(); total=total 1; fclose(fp); return; }
void del()//删除一个职工信息 { int i=0; char delname[8]; FILE *fp; if((fp=fopen("employee.txt","w"))==NULL) { printf("文件为空,不能够打开\n"); printf("按任意键返回\n"); getch(); return; } printf("请你输入要删除的人的姓名:\n");//删除的职工的信息 scanf("%s",delname); for(i=0;i<N;i ) { if(scmp(em[i].name,delname)==0) { total--; for(;i<N;i ) { em[i]=em[i 1]; } } } i=0; fwrite(&em[i],sizeof(suct employee),total,fp); fclose(fp); }
void query() { FILE *fp; int i=0; char quename[8]; if((fp=fopen("employee.txt","r"))==NULL) { printf("不能够打开文件,按任意键返回\n"); getch(); return; } printf("请你输入要查询的人的姓名\n"); scanf("%s",quename); for(i=0;fread(&em[i],sizeof(suct employee),1,fp)!=0;i ) { if(scmp(em[i].name,quename)==0) /*找到,并显示该职工记录*/ { printf("\t\t\n查询到的职工号或姓名为的信息如下:\n"); printf("以下是你要查询的人的信息\n"); printf("工号: %d\n",em[i].num); printf("职位: %d\n",em[i].position); printf("1董事长 2总经理 3副总经理\n"); printf("4部门经理 5工程师 6秘书\n"); printf("7技术员 8领班 9员工\n"); printf("姓名: %s\n",em[i].name); printf("性别: %s\n",em[i].sex); printf("其中(m男f女)\n"); printf("文化程度: %d\n",em[i].cult); printf("1专家 2博士 3硕士 4学士 5其他\n"); printf("工资: %d\n",em[i].salary); printf("身体情况: %d\n",em[i].state); printf("1好 2一般 3差\n"); printf("工作年月: %s\n",em[i].day); printf("\n"); printf("查询完毕,按任意键返回\n"); getch(); fclose(fp); return; } } printf("没有这样的人,按任意键返回\n"); getch(); fclose(fp); return; }
void communicate() { int choicecommunicate; printf("欢迎进入通讯录系统\n"); printf("请你选择操作类型:\n"); printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf("1为输入通讯录信息\n"); printf("2为查询通讯录信息\n"); printf("3为修改通讯录信息\n"); printf("0为退出通讯录系统\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); scanf("%d",&choicecommunicate); switch(choicecommunicate) { case 1:inputcommunicate(); break; case 2:querycommunicate(); break; case 3:changecommunicate(); break; case 0: { printf("谢谢使用再见\n"); printf("按任意键返回\n"); getch(); return; } default: printf("输入有错\n"); } }
void inputcommunicate() { FILE *fp; int choiceincom='y'; int i=0; if((fp=fopen("empcom.txt","w"))==NULL) { 上一页 [1] [2] [3] [4] [5] 下一页
|