一群菜鸟们的“员工信息管理系统”(C语言课程设计)
2020-03-28 20:15
1156 查看
一群菜鸟们的“员工信息管理系统”(C语言课程设计)
#include <stdio.h> #include<string.h> #include<stdlib.h> #include<conio.h> #include<ctype.h> /*结构体开始*/(注释) struct xinxi { char num[20]; /*工号*/ char name[20]; /*姓名*/ char xingbie[5]; /*性别*/ char xueli[20]; /*学历*/ char phone[20]; /*电话*/ char work[20]; /*职务*/ char add[30]; /*住址*/ char yuexin[20]; /*月薪*/ }person[10000]; //暂时定义了10000个员工的空间 /*结构体结束*/(注释) /*录入函数开始*/(注释) void luru() { int i,a; printf("请输入员工的信息:\n"); for(i=0;;i++) { printf("--------------------------------------\n"); printf("职 工 号: "); scanf("%s",person[i].num); printf("姓 名: "); scanf("%s",person[i].name); printf("性 别: "); scanf("%s",person[i].xingbie); printf("学 历: "); scanf("%s",person[i].xueli); printf("电 话: "); scanf("%s",person[i].phone); printf("职 务: "); scanf("%s",person[i].work); printf("家庭住址: "); scanf("%s",person[i].add); printf("月 薪: "); scanf("%s",person[i].yuexin); printf("请选择是否继续录入员工信息(是='1'/否='0')[ ]\b\b"); scanf("%d",&a); if(a==0)break; //判断是否终止录入,'0'则终止,非零则继续 } } /*录入函数结束*/(注释) /*查询函数开始*/(注释) void search() { void search_num(); //声明工号查询函数 void search_name(); //声明姓名查询函数 int t,flag; do { printf("\n按职工号查询请按1 ; 按姓名查询请按2 ; 退出查询请按3\n"); scanf("%d", &t); if (t >= 1 && t <= 3) {flag = 1;break;} else {flag = 0;printf("您输入有误,请重新选择!\a");} } while (flag == 0); while (flag == 1) { switch (t) { case 1:printf("按职工号查询\n"); search_num(); break; case 2:printf("按姓名查询\n"); search_name(); break; case 3: break; default:printf("输入正确的数字,记住,数字哦!!!别乱搞>0<");break; }break; } } void search_num() //工号查询函数 { char numr[20]; int i, t; int m = 10000; printf("请输入要查找的职工号:\n"); scanf("%s", numr); for (i = 0; i<m; i++) if (strcmp(person[i].num,numr)==0) { printf("\n已找到此人,其记录t为:\n"); printf("\n职工号\t姓名\t性别\t学历\t工资\t住址\t电话 \n"); printf("\n%s\t%s\t%s\t%s\t%s\t%s\t%s\n", person[i].num, person[i].name, person[i].xingbie, person[i].xueli, person[i].yuexin, person[i].add, person[i].phone); break; } if (i == m) printf("\n对不起,查无此人\a\n"); printf("\n"); D: printf("返回查询函数请按1,继续查询职工号请按2\n"); scanf("%d", &t); switch (t) { case 1:search(); break; case 2:search_num(); break; default:printf("您输入的序号我无法识别(>_<)!!请您按要求重新输入正确的序号呦\a\n");goto D; } } void search_name() //姓名查询函数 { char namer[20]; int i, t; int m = 10000; printf("请输入要查找的姓名:\n"); scanf("%s", namer); for (i = 0; i < m; i++) if (strcmp(person[i].name, namer) == 0) { printf("\n已找到此人,其记录t为:\n"); printf("\t姓名\t职工号\t性别\t学历\t工资\t住址\t电话 \n"); printf("\n%s\t%s\t%s\t%s\t%s\t%s\t%s\n", person[i].name, person[i].num, person[i].xingbie, person[i].xueli, person[i].yuexin, person[i].add, person[i].phone); break; } if (i == m) printf("\n对不起,查无此人\a\n"); printf("\n"); C: printf("返回查询函数请按1,继续查询姓名请按2\n"); scanf("%d", &t); switch (t) { case 1:search(); break; case 2:search_name();break; default:printf("您输入的序号我无法识别(>_<)!!请您按要求重新输入正确的序号呦\a\n");goto C; } } /*查询函数结束*/(注释) /*修改函数开始*/(注释) void xiugai() { int j,b; char num2[20]; for(;;) { j=0; printf("--------------------------------------\n"); printf("请输入需要修改的员工的工号:"); scanf("%s",num2); while(1) { if(strcmp(person[j].num,num2)==0) { printf("请重新录入该员工的信息\n"); printf("姓 名: "); scanf("%s",person[j].name); printf("性 别: "); scanf("%s",person[j].xingbie); printf("学 历: "); scanf("%s",person[j].xueli); printf("电 话: "); scanf("%s",person[j].phone); printf("职 务: "); scanf("%s",person[j].work); printf("家庭住址: "); scanf("%s",person[j].add); printf("月 薪: "); scanf("%s",person[j].yuexin); break; } else j++; if(j==1000) { printf("查无此人\a\n"); break; } } printf("请选择是否继续修改其他员工的信息(是='1'/否='0')[ ]\b\b"); scanf("%d",&b); if(b==0)break; } } /*修改函数结束*/(注释) /*浏览函数开始*/(注释) void display() { int i; int m=10000; printf("\n 职工号\t姓名\t性别\t学历\t电话\t职务\t工资\t住址 \n"); for(i=0;i<m;i++) /*m为输入部分的职工人数*/ { if(strlen(person[0].num)==0) { printf("\n\t\t\t**************************\n"); printf("\n\t\t\t*我暂时还找不到他的信息呦*\a\n"); printf("\n\t\t\t**************************\n"); } if(strlen(person[i].num)>0) { printf("\n %s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", person[i].num,person[i].name,person[i].xingbie, person[i].xueli,person[i].phone,person[i].work,person[i].yuexin,person[i].add); } else break; } } /*浏览函数结束*/ (注释) /*删除函数开始*/(注释) void shanchu() { int u,k,c; char num3[20]; while(1) { k=0; printf("------------------------------------\n"); printf("请输入需要删除的员工的工号:"); scanf("%s",num3); while(1) { if(strcmp(person[k].num,num3)==0) { for(u=k;u<1000;u++) { person[u]=person[u+1]; break; } printf("已删除\n"); break; } if(k==10000) { printf("查无此人\a\n"); break; } else k++; } printf("请选择是否继续删除其他员工的信息(是='1'/否='0')[ ]\b\b"); scanf("%d",&c); if(c==0)break; } } /*删除函数结束*/ (注释) /*主体框架开始*/(注释) int main() { char num2[20]; int xuhao; char x[20]; char y[20]="wjhyd521"; int i=0; system("color A");/*变一下颜色(帽子的那种哈哈哈>-<)*/ printf("请您输入正确的密码>.<!\n"); A: /*这里有一个被禁用的goto语句,因为这个确实在这可以无脑的解决一个问题(goto起点在第49行)*/ do { x[i]=getch(); if(x[i]=='\r') break; if(x[i]=='\b'){ if(i==0) { printf("\a"); continue; } else{i=i-1;printf("\b \b\b ");}/*删除用的,但是因为有小问题所以用另一种方式掩盖了一下*/ } else{i=i+1;printf("*");}/*输入密码时显示"*"号*/ } while(x[i]!='\n' && i<20);/*避免输入太多*/ x[i]='\0'; if(strcmp(x,y)==0) B: { printf("\n");/*界面*/ printf("\n"); printf("\n"); printf("\n"); printf("员工信息管理系统:\n"); printf(" ————————————————菜单——————————————— \n"); printf(" | 1员工信息录入 2员工信息查询 3员工信息修改 |\n"); printf(" | |\n"); printf(" | 4浏览员工信息 5删除员工信息 0退出此系统 |\n"); printf(" | |\n"); printf(" ————————————————菜单——————————————— \n"); printf("\n"); printf("\n"); printf("\n"); printf(" 请输入您所需要服务的正确序号(例:‘1’、‘2’) \n"); E: scanf("%d",&xuhao); switch (xuhao)/*选项开始,引入其他函数*/ { case 1:luru();goto B; case 2:search();goto B; case 3:xiugai();goto B; case 4:display();goto B; case 5:shanchu();goto B; case 0: printf("哈哈哈(->。<-)!,感谢您的使用,现在要退出系统咯>_<!\n");break; default: printf("您输入的序号我无法识别(>_<)!!请您按要求重新输入正确的序号呦\n");goto E; } } else{printf("\n"); printf("错误!!!请您重新输入正确的密码\n");printf("\a"); i=0; goto A;} return 0; } /*主体框架结束*/(注释)
(以上代码引用结构体数组,无法实现应用关闭后保存数据)
以下是程序运行时的部分图片
(此图为程序运行开始菜单)
(此图为界面密码输入)
总结
优势:
1.整体界面改变颜色
2.程序多出添加错误提示音
3.密码加密(输入显示星号)
4.程序模块清晰,易懂,便于观察理解
不足:
1.多次引用“goto”语句(以标明位置)
2.无法实现文件保存形式
3.代码行较长
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 高级语言程序设计课程设计报告-职工信息管理系统
- C语言课程设计——学生信息管理系统(BUG挺多,敬请指正)
- C语言课程设计之学生信息管理系统
- C语言课程设计-学生信息管理系统
- 大一第一学期c语言课程设计,黑框框简易版学生信息管理系统
- C语言课程设计之职工信息管理系统
- (C语言课程设计)图书管理系统
- 数据结构课程设计、职工信息管理系统
- 数据结构课程设计论文--学生信息管理系统
- C语言学生管理系统(C语言课程设计/精简版)
- 数据结构课程设计--学生信息管理系统
- C语言课程设计(成绩管理系统)
- 软件工程课程设计药品信息管理系统*
- 课程设计--图书信息管理系统(C语言)
- 课程设计——学生信息管理系统(顺序表 链表)
- 课程设计之职工信息管理系统
- 数据结构课程设计-学生信息管理系统
- 数据结构课程设计—学生信息管理系统
- 数据结构课程设计【学生信息管理系统(烟大版)】
- 大一c语言课程设计-学籍管理系统