职工的信息管理系统C语言源代码
更新时间:2024-01-06 16:35:01 阅读量: 教育文库 文档下载
实用标准文案
#include
int num;
char name[20]; char sex; int age;
char xueli[30]; int wage; char addr[30]; char tel[20];
}em[100]; /*定义一个结构体*/ void menu(); void input(); void save(int); void display(); void del(); void add(); void search();
void search_num(); void search_xueli(); void search_tel();
void modify(); /*定义各函数*/
void main() {menu(); int n,flag; char a; do
{ printf(\请选择你需要操作的步骤(1--7):\\n\ scanf(\ if(n>=1 && n<=7) { flag=1; break; } else { flag=0;
printf(\您输入有误,请重新选择!\ }
精彩文档
实用标准文案
}
while(flag==0); while(flag==1) {switch(n) {case 1:printf(\ ◆◆◆输入职工信息◆◆◆\\n\
case 2:printf(\ ◆◆◆浏览职工信息◆◆◆\\n\
case 3:printf(\ ◆◆◆按职工号查询职工信息◆◆◆\\n\
case 4:printf(\ ◆◆◆删除职工信息◆◆◆\\n\ case 5:printf(\ ◆◆◆添加职工信息◆◆◆\\n\ case 6:printf(\ ◆◆◆修改职工信息◆◆◆\\n\ case 7:exit(0);break; default :break; }
getchar(); printf(\
printf(\是否继续进行(y or n):\\n\ scanf(\ if(a=='y') {flag=1;
system(\ /*清屏*/ menu(); /*调用菜单函数*/
printf(\请再次选择你需要操作的步骤(1--7):\\n\ scanf(\ printf(\ } else exit(0); } }
void menu() /*菜单函数*/ {
printf(\ ************欢迎进入职工信息管理系统**********\\n\ printf(\ 1.录入职工信息\ printf(\ 2.浏览职工信息\\n\ printf(\ 3.查询职工信息\ printf(\ 4.删除职工信息\\n\ printf(\ 5.添加职工信息\ printf(\ 6.修改职工信息\\n\ printf(\ 7.退出\\n\
精彩文档
实用标准文案
printf(\ ********************谢谢使用******************\\n\ printf(\ printf(\}
void input() /*录入函数*/ { int i,m;
printf(\请输入需要创建信息的职工人数(1--100):\\n\ scanf(\ for (i=0;i {printf(\请输入职工号: \ scanf(\ printf(\请输入姓名: \ scanf(\ getchar(); printf(\请输入性别(f--女 m--男): \ scanf(\ printf(\请输入年龄: \ scanf(\ printf(\请输入学历: \ scanf(\ printf(\请输入工资: \ scanf(\ printf(\请输入住址: \ scanf(\ printf(\请输入电话: \ scanf(\ printf(\ } printf(\创建完毕!\\n\ save(m); } void save(int m) /*保存文件函数*/ {int i; FILE*fp; if ((fp=fopen(\ {printf (\ exit(0); } for (i=0;i 精彩文档 实用标准文案 int load() /*导入函数*/ {FILE*fp; int i=0; if((fp=fopen(\ {printf (\ exit(0); } else { do { fread(&em[i],sizeof(struct employee),1,fp); i++; } while(feof(fp)==0); } fclose(fp); return(i-1); } void display() /*浏览函数*/ {int i; int m=load(); printf(\ 职工号 姓名 性别 年龄 \\n\ for(i=0;i printf(\ %-8d%-6s%-6c%-6d\\n\ printf(\ 学历 工资 住址 电话 \\n\ for(i=0;i printf(\ %-6s%-6d%-6s%-6s\\n\} void del() /*删除函数*/ {int m=load(); int i,j,n,t,flag; char name[20]; printf(\原来的职工信息:\\n\ display(); printf(\ printf(\请输入要删除的职工的姓名:\\n\ scanf(\ for(flag=1,i=0;flag&&i {printf(\已找到此人,原始记录为:\\n\ 精彩文档 实用标准文案 printf(\ 职工号 姓名 性别 年龄 \\n\ printf(\ %-8d%-6s%-6c%-6d\\n\ printf(\ 学历 工资 住址 电话 \\n\ printf(\ %-6s%-6d%-6s%-6s\\n\ printf(\确实要删除此人信息请按1,不删除请按0\\n\ scanf(\ if(n==1) { for(j=i;j strcpy(em[j].name,em[j+1].name); em[j].num=em[j+1].num; em[j].sex=em[j+1].sex; em[j].age=em[j+1].age; strcpy(em[j].xueli,em[j+1].xueli); em[j].wage=em[j+1].wage; strcpy(em[j].addr,em[j+1].addr); strcpy(em[j].tel,em[j+1].tel); } flag=0; } } } if(!flag) m=m-1; else printf(\对不起,查无此人!\\n\ printf(\浏览删除后的所有职工信息:\\n\ save(m); /*调用保存函数*/ display(); /*调用浏览函数*/ printf(\继续删除请按1,不再删除请按0\\n\ scanf(\ switch(t) {case 1:del();break; case 0:break; default :break; } } void add()/*添加函数*/ {FILE*fp; int n; int count=0; int i; 精彩文档 实用标准文案 int m=load(); printf(\原来的职工信息:\\n\ display(); printf(\ fp=fopen(\ printf(\请输入想增加的职工数:\\n\ scanf(\ for (i=m;i<(m+n);i++) {printf(\请输入新增加职工的信息:\\n\ printf(\请输入职工号: \ scanf(\ printf(\ printf(\请输入姓名: \ scanf(\ getchar(); printf(\请输入性别(f--女 m--男): \ scanf(\ printf(\请输入年龄: \ scanf(\ printf(\请输入学历: \ scanf(\ printf(\请输入工资: \ scanf(\ printf(\请输入住址: \ scanf(\ printf(\请输入电话: \ scanf(\ printf(\ count=count+1; printf(\已增加的人数:\\n\ printf(\ } printf(\添加完毕!\\n\ m=m+count; printf(\浏览增加后的所有职工信息:\\n\ printf(\ save(m); display(); fclose(fp); } void search()/*查询函数*/ { int t,flag; 精彩文档 实用标准文案 do { printf(\按职工号查询请按1; 按学历查询请按2; 按电话号码查询请按3; 进入主函数请按4\\n\ scanf(\ if(t>=1&&t<=4) {flag=1; break; } else {flag=0; printf(\您输入有误,请重新选择!\ } } while(flag==0); while(flag==1) { switch(t) { case 1:printf(\按职工号查询\\n\ case 2:printf(\按学历查询\\n\ case 3:printf(\按电话号码查询\\n\ case 4:main();break; default:break; } } } void search_num() { int num; int i,t; int m=load(); printf(\请输入要查找的职工号:\\n\ scanf(\ for(i=0;i { printf(\已找到此人,其记录为:\\n\ printf(\ 职工号 姓名 性别 年龄 \\n\ printf(\ %-8d%-6s%-6c%-6d\\n\ printf(\ 学历 工资 住址 电话 \\n\ printf(\ %-6s%-6d%-6s%-6s\\n\ break; } 精彩文档 实用标准文案 if(i==m) printf(\对不起,查无此人\\n\ printf(\ printf(\返回查询函数请按1,继续查询职工号请按2\\n\ scanf(\ switch(t) { case 1:search();break; case 2: break; default:break; } } void search_xueli() { char xueli[30]; int i,t; int m=load(); printf(\请输入要查找的学历:\\n\ scanf(\ for(i=0;i if(strcmp(em[i].xueli,xueli)==0) {printf (\已找到,其记录为:\\n\ printf(\ 职工号 姓名 性别 年龄 \\n\ printf(\ %-8d%-6s%-6c%-6d\\n\ printf(\ 学历 工资 住址 电话 \\n\ printf(\ %-6s%-6d%-6s%-6s\\n\ } if(i==m) printf(\对不起,查无此人\\n\ printf(\ printf(\返回查询函数请按1,继续查询学历请按2\\n\ scanf(\ switch(t) { case 1:search();break; case 2:break; default :break; } } void search_tel() { char tel[20]; int i, t; int m=load(); printf(\请输入要查找的电话号码:\\n\ 精彩文档 实用标准文案 scanf(\ for(i=0;i if(strcmp(tel,em[i].tel)==0) { printf(\已找到此人,其记录为:\\n\ printf(\ 职工号 姓名 性别 年龄 \\n\ printf(\ %-8d%-6s%-6c%-6d\\n\ printf(\ 学历 工资 住址 电话 \\n\ printf(\ %-6s%-6d%-6s%-6s\\n\ break; } if(i==m) printf(\对不起,查无此人\\n\ printf(\ printf(\返回查询函数请按1,继续查询电话号码请按2\\n\ scanf(\ switch(t) { case 1:search();break; case 2:break; default :break; } } void modify() /*修改函数*/ { int num; char name[20]; char sex; int age; char xueli[30]; int wage; char addr[30]; char tel[20]; int b,c,i,n,t,flag; int m=load(); printf(\原来的职工信息:\\n\ display(); printf(\ printf(\请输入要修改的职工的姓名:\\n\ scanf(\ for(flag=1,i=0;flag&&i 精彩文档 实用标准文案 if(strcmp(em[i].name,name)==0) { printf(\已找到此人,原始记录为:\\n\ printf(\ 职工号 姓名 性别 年龄 \\n\ printf(\ %-8d%-6s%-6c%-6d\\n\ printf(\ 学历 工资 住址 电话 \\n\ printf(\ %-6s%-6d%-6s%-6s\\n\ printf(\确实要修改此人信息请按1 ; 不修改请按0\\n\ scanf(\ if(n==1) { printf(\需要进行修改的选项\\n 1.职工号 2.姓名 3.性别 4.年龄 5.学历 6.工资 7.住址 8.电话\\n\ printf(\请输入你想修改的那一项序号:\\n\ scanf(\ if(c>8||c<1) printf(\选择错误,请重新选择!\\n\ } flag=0; } } if(flag==1) printf(\对不起,查无此人!\\n\ do { switch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/ { case 1:printf(\职工号改为: \ scanf(\ em[i-1].num=num; break; case 2:printf(\姓名改为: \ scanf(\ strcpy(em[i-1].name,name); break; case 3:printf(\性别改为: \ getchar(); scanf(\ em[i-1].sex=sex; break; case 4:printf(\年龄改为: \ scanf(\ 精彩文档 实用标准文案 em[i-1].age=age; break; case 5:printf(\学历改为: \ scanf(\ strcpy(em[i-1].xueli,xueli); break; case 6:printf(\工资改为: \ scanf(\ break; case 7:printf(\住址改为: \ scanf(\ strcpy(em[i-1].addr,addr); break; case 8:printf(\电话改为: \ scanf(\ strcpy(em[i-1].tel,tel); break; } printf(\ printf(\是否确定所修改的信息?\\n 是 请按1 ; 不,重新修改 请按2: scanf(\ } while(b==2); printf(\浏览修改后的所有职工信息:\\n\ printf(\ save(m); display(); printf(\继续修改请按1,不再修改请按0\\n\ scanf(\ switch(t) { case 1:modify();break; case 0:break; default :break; } } 精彩文档 \\n\ 实用标准文案 em[i-1].age=age; break; case 5:printf(\学历改为: \ scanf(\ strcpy(em[i-1].xueli,xueli); break; case 6:printf(\工资改为: \ scanf(\ break; case 7:printf(\住址改为: \ scanf(\ strcpy(em[i-1].addr,addr); break; case 8:printf(\电话改为: \ scanf(\ strcpy(em[i-1].tel,tel); break; } printf(\ printf(\是否确定所修改的信息?\\n 是 请按1 ; 不,重新修改 请按2: scanf(\ } while(b==2); printf(\浏览修改后的所有职工信息:\\n\ printf(\ save(m); display(); printf(\继续修改请按1,不再修改请按0\\n\ scanf(\ switch(t) { case 1:modify();break; case 0:break; default :break; } } 精彩文档 \\n\
正在阅读:
职工的信息管理系统C语言源代码01-06
试井分析 毕业论文 答辩12-21
鲁迅与中国新兴木刻05-25
预防食物中毒的十个措施04-14
抗击新型冠状病毒感染肺炎疫情诗歌11-21
2021-2022年高一上学期期末考试试题 数学试题 word版05-23
电工电子技术期末复习题109-11
初一语文下月考复习题05-16
关于那些建筑设计的软件06-06
太原网站运营推广方案05-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 源代码
- 管理系统
- 职工
- 语言
- 信息