c语言课程设计职工工资管理系统源代码.docx
c语言课程设计职工工资管理系统源代码 绝对可以完美运行,下面有运行图片 #include /调用库函数 #include /字符串处理 #include /控制台输入输出 #include /定义杂项函数及内存分配函数 #define N 2 /宏定义以3代替N /* 函数声明 */ void enter(); int menu(); void input(); void output(); void search(); void search_employeeid(); void search_name(); void edit(); void array(); void array_basesalary(); void array_postwage(); void array_totalwage(); void statistics(); void save(); void load(); /* 职工类型定义 */ struct employee char employeeid10; char name10; char sex10; int age; float basesalary; float postwage; float totalwage; ; /* 职工变量定义 */ struct employee empN; struct employee replace; struct employee *p=emp; /* 系统主函数 */ void main() int c; while(1) printf(" nnnn"); printf(" 欢迎进入职工工资管理系统nnn"); printf(" 1 进入管理系统nn"); printf(" 0 退出nn"); printf(" nnnn"); printf(" 请输入你选择:n"); scanf("%d",&c); switch(c) case 1: enter(); break; case 0: printf(" 谢谢使用!n"); exit(0); /* 功能:登陆函数,进行密码验证 */ void enter() char q; char key10,password10="china" int k=1,i; printf(" 请输入密码:n"); for(i=0;i2) if(strncmp(password,key,5)=0) continue; else printf(" 输入密码错误三次,系统将自动退出!n"); exit(0); /* 功能: 主菜单函数 参数:a 类型:int 说明: 变量 返回值: a */ int menu() int a ; printf("nn"); printf("|*欢迎进入职工工资管理系统*|n"); printf("| |n"); printf("| |n"); printf("| 1 职工信息输入|n"); printf("| |n"); printf("| 2 职工信息输出|n"); printf("| |n"); printf("| 3 职工信息查询|n"); printf("| |n"); printf("| 4 职工信息修改|n"); printf("| |n"); printf("| 5 工资排序|n"); printf("| |n"); printf("| 6 工资统计|n"); printf("| |n"); printf("| 0 退出|n"); printf("| |n"); printf("| |n"); printf("|*|n"); printf("nn"); printf(" 请输入你所选择的选项:"); scanf("%d",&a); while(a>6|aemployeeid); if(strcmp(p->employeeid,"0")!=0) printf(" 请输入职工姓名:n"); scanf("%s",p->name); printf(" 请输入职工性别: n"); scanf("%s",&p->sex); printf(" 请输入职工年龄: n"); scanf("%d",&p->age); printf(" 请输入职工基本工资:n"); scanf("%f",&p->basesalary); printf(" 请输入职工岗位工资:n"); scanf("%f",&p->postwage); printf(" 职工信息输入完成!nn"); else return; save(); /* 功能:职工信息输出 */ void output() int j; load(); p=emp; printf(" 进入职工信息输出模块nnn"); printf("-n"); printf("| 职工号|姓名|性别|年龄|基本工资|岗位工资|总工资|n"); printf("-n"); for(j=0;j=0&&jemployeeid)=0) j=k; pj.totalwage=pj.postwage+pj.basesalary; printf("-n"); printf("| 职工号|姓名|性别|年龄|基本工资|岗位工资 |总工资|n"); printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n",pj.employeeid,pj.nam e,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf("-n"); break; else printf(" not foundn"); return; /* 功能:按职工姓名查询函数 */ void search_name() char name10; int flog=0; int f,j; p=emp; printf("*按职工姓名查询职工信息 *nnn"); printf(" 请输入要查询职工的姓名: nn"); scanf("%s",name); for(f=0;fname)=0) j=f; pj.totalwage=pj.postwage+pj.basesalary; printf("-n"); printf("| 职工号|姓名|性别|年龄|基本工资|岗位工资 |总工资|n"); printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n",pj.employeeid,pj.nam e,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf("-n"); break; else printf(" not found nn"); return; getchar(); /* 功能:职工信息修改函数 */ void edit() char e10; int g=0,j; char flog; p=emp; printf(" 请输入你要修改职工的职工号:n"); scanf("%s",e); for(g=0;gemployeeid)=0) j=g; pj.totalwage=pj.postwage+pj.basesalary; printf("-n"); printf("| 职工号|姓名|性别|年龄|基本工资|岗位工资|总工资|n"); printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n",pj.employeeid,pj.name,pj.s ex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf("-n"); printf(" 是否要修改该职工信息?y(是)or n(否)?nn"); getchar(); scanf("%c",&flog); if(flog = 'y') printf(" 请输入新姓名:n"); scanf("%s",p->name); printf(" 请输入性别:n"); scanf("%s",&p->sex); printf(" 请输入年龄:n"); scanf("%d",&p->age); printf(" 请输入基本工资:n"); scanf("%f",&p->basesalary); printf(" 请输入岗位工资:n"); scanf("%f",&p->postwage); printf(" 修改职工信息成功!nn"); if(flog = 'n') printf(" 退出该项操作!nn"); return; save(); if(g=N) printf(" not found nnn"); return; /* 功能:职工工资排列函数 */ void array() int j; while(1) printf("*工资排序*nn"); printf(" 1 按基本工资排序nn"); printf(" 2 按岗位工资排序nn"); printf(" 3 按总工资排列nn"); printf(" 0 退出nn"); printf("nnn"); while(1) printf(" 请输入你的选择:nn"); scanf("%d",&j); if(j>=0&&j<=3) switch(j) case 1: array_basesalary();break; case 2: array_postwage();break; case 3: array_totalwage();break; case 0: return;