C语言-编程实例-改编的C版职工管理系统
/*八、简单的职工管理系统 1.问题描述 对单位的职工进行管理,包括插入、删除、查找、排序等功能。 2.要求 职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。 (1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。 (2)删除一名职工:从职工管理文件中删除一名职工对象。 (3)查询:从职工管理文件中查询符合某些条件的职工。 (4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。 3.实现提示 职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 (2)对职工对象中的"姓名"按字典顺序进行排序。 (3)对排序后的职工对象进行增、删、查询、修改、排序等操作。 4.选做内容 将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。 */
#include <sio.h> #include <sing.h> #include <slib.h> #include <conio.h> #define N 100
typedef suct employee//职工基本情况 { int num;//工号 int position;//职位1为董事长2为总经理3为副总经理等 char name[8];//姓名 char sex[2];//性别f为女m为男 int age;//年龄 int cult;//文化程度1为专家2为博士3为硕士4为学士5为其他 int salary;//工资 int state;//健康情况分为good,general,bad char day[10];//工作年月 }ro; ro em[N];
typedef suct communication//职工通讯录 { char name[8]; char officetel[13]; char hometel[13]; char handtel[13]; char address[13]; char time[13]; }el; el empc[N];
void manage(); void query(); void communicate(); void input(); void display(); void change(); void del(); void add(); int changeposition(); int changecult(); int changesalary(); int changestate(); void inputcommunicate(); void querycommunicate(); void changecommunicate(); char *changetel1(); char *changetel2(); char *changetel3();
int total; int p;
char password[10]="talentxch";
void main() { int choice; char s[10]; int flag=0; int n=3; do { printf("请你输入密码:\n"); scanf("%s",s); if(!scmp(s,password))//若密码正确 { printf("恭喜你成功登陆了\n\n\n"); flag=1; break; } else { printf("输入有错误请重新输入:\n"); n--; } }while(n>0); if(!flag) { printf("你的输入次数已到再见\n"); } do { printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t欢迎进入职工管理系统中文版\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("\t\t请你选择操作类型:\n"); printf("======================================================\n"); printf(" \t\t1进入管理系统\n"); printf(" \t\t2进入查询系统\n"); printf(" \t\t3进入通讯录\n"); printf(" \t\t0退出系统\n"); printf("======================================================\n"); scanf("%d",&choice); switch(choice) { case 1:manage(); break; case 2:query(); break; case 3:communicate(); break; case 0: { printf("谢谢使用再见\n"); exit(0); } default: { printf("输入有错误请重新输入:\n"); return; } } }while(1); }
void manage() { int choicemanage; char choice='y'; while(choice=='y'||choice=='Y') { printf("\t\t欢迎进入管理系统\n"); printf("======================================================\n"); printf("\t\t请你选择操作类型:\n"); printf("\t\t1输入职工信息\n"); printf("\t\t2显示职工信息\n"); printf("\t\t3修改职工信息\n"); printf("\t\t4追加一个职工信息\n"); printf("\t\t5删除一个职工信息\n"); printf("\t\t0返回\n"); printf("======================================================\n"); scanf("%d",&choicemanage); switch(choicemanage) { case 1: input();//输入职工信息 break; case 2:display();//显示职工信息 break; case 3:change();//修改职工信息 break; case 4:add();//追加一个职工信息 break; case 5:del();//删除一个职工信息 break; case 0: printf("谢谢你的使用再见\n"); return; default:printf("你的输入有错请重新输入\n"); } printf("是否继续管理?(y/n)"); scanf(" [1] [2] [3] [4] [5] 下一页
|