职工信息管理系统(C语言)
员工信息管理系统(含附源代码)03

scanf("%s",work[i].name);
printf("\n\t请输入员工身份证号:");
scanf("%s",work[i].ID);
printf("\n\t请输入员工性别:");
scanf("%s",work[i].sex);
printf("\n\t请输入员工出生日期(yyyy-mm-dd):");
开始选择更新内容i结束开始选择查询内容i结束按性别统计年龄查询函数isum判断两工作号相等isumworkiworki1sumflag1是否继续输入工作号退出删除结束开始输出信息结束开始开始isum输入年龄输出信息结束判断员工的年龄段变量自加开始输入年龄chisum存在员工输出员工信息继续查询退出查询结束身份证排序
scanf("%s",work[i].sex);
printf("\n\t请输入员工出生日期(yyyy-mm-dd):");
scanf("%d-%d-%d",&work[i].birthday.year,&work[i].birthday.month,&work[i].birthday.day);
printf("\n\t请输入员工年龄:");
printf("\t **输入'e'退出列表**\n");
ch=getche();
if(ch=='e')
break;
clrscr();
printf("\t *****员工基本信息列表*****\n");
信息查询系统C语言实现

本程序为C 语言课设题目信息管理系统:1、 要求实现信息录入2、 能实现信息查询3、 信息排序4、 删除信息5、 修改信息6、 显不所有7、 插入信息 &设置界面 具体代码如下: #include<stdio.h> #in clude<stri ng ・h> #include<stdlib.h> struct student{char name[20]; char phone[20];char email[20]; char QQ[20];};void menu(void)printf("\n\n\n ------ 欢迎使用通讯录系统一 -An");printf("+■An");printf(" 1、信息录入 \n“); printf(" 2、信息查询 \n");printf(" 3、信息排序 \n“);printf(" 4、删除信息\n");printf(" 5、修改信息 \n“);printf(" 6、显Z5所有 \n“);printf(" 7、插入信息 \n");printf(" &退出系统 \n");printf(“+■An"); printff 1'请输入你的选择:\rT);〃菜单程序〃int input(struct student stu[]) 〃输入程序〃{int i,n=O;printf("请输入录入条数\n");scanf(l,%d l,/&n);for(i=0;i<n;i++){printf("请输入第%(1个成员的姓名,电话,邮箱,QQ号\n“,i+l);scanf("%s:stu[i].name);scanf(”%s 蔦stu[i].phone);scanf(”%s 蔦stu[i].email);scanf(”%s 蔦stu[i]・QQ);}return n;}void find(struct student stu[]z int n) 〃查询程序〃{int i;char ch[16];printff"输入查询条件:姓名或电话\n“);scanf(l,%s,,/ch);for(i=0;i<n;i++){if(!strcmp(ch,stu[i].name)| | !strcmp(ch,stu[i].phone)){printf("查询到姓名为%s 的同学:\n“,stu[i].name);printf("信息如下\n”);printf("姓名: %s 电话: %s 邮箱: %s QQ 号码:%s^stu[i]・name,stu[i]・phone,stu[i]・email,stu[i]・QQ);return;}}printff"未找到相关记录”);void output(struct stud ent stu[],i nt n){int i;if(n==O)printf ("通讯录中空无一物\n“);else{printfC'ifi 讯录所有记录如下\n''); for(i=0;i<n;i++)/ tprintf"姓名:%s^); printf)"电话:%sn z stu[i].phone); printf"邮箱:%s,l /stu[i].email); printf(H QQ : %s “,stu[i].QQ);printf(II \n N );}}} int dele(struct stud ent stu[]Jnt n){int i,j;char mark[20];printf ("输入要删除记录的人名或电话号码\n");scanf(,,%s ,,/mark);if(n==O){printf ("通讯录中空无一物\n");return 0;}else{for(i=0;i<=n;i++) if(!strcmp(mark,stu[i].name)| | !strcmp(mark,stu[i].phone))〃显不程序〃 〃删除程序〃printf(u以下是您要删除的记录'n”);printf("姓名:%s 电话:%s 邮箱:%s 码:%s\n:stu[i]・name,stu[i]・phone,stu[i]・email,stu[i]・QQ);for(j=i;j<n-l;j++)stu[j]=stu[j+l];printf(“删除成功\n“);n=n-l;return n;}}printf("未查询到该条记录\n");return n;}}int in sert(struct stud ent stu[]z int n){int i,x;printf("请输入插入记录条数\n");scanf("%cT:&x);for(i=n;i<n+x;i++){printf(''请输入插入的第%d个成员的姓名,电话,邮箱,QQ号\n"J-n+l); scanf(,,%s,,/stu[i].name);scanf(,,%s,,/stu[i].phone);scanf(,,%s,,/stu[i].email);scanf(,,%s,,/stu[i].QQ);}printf(“插入完成\n“);n=x+n;return n;} void change(struct student stu[],int n) 序〃int i;char x[20];printf("请输入需要修改的记录:姓名或电话\n");scanf("%s 蔦x);for(i=0;i<n;i++){if(!strcmp(x,stu[i].name)| | !strcmp(x,stu[i].phone))QQ 号〃插入程序〃〃修改程{p r i ntf ("查询到可修改记录\n");printfC*请输入修改后的名字,电话,邮箱,QQ 号码\n“); scanf(ll %s ,,/stu[i].name);scanf(ll %s ,,/stu[i].phone);scanf(,,%s ,,/stu[i].email);scanf(ll %s ,,/stu[i].QQ);printf ("修改记录成功\n");return;}}printf("未查找到相关记录\n");}void sort(struct student stu[],int n){int ij ;struct student tmp;for(i=0;i<n-l;i++){for(j=i;j<n-l;j++) if(strcmp(stu[j]. name,stu[j+l]・name)<0) tmp=stu[j]/stu[j]=stu[j+l],stu[j+l]=tmp; }printf (”排序后的记录如下:\n H );for(i=0;i<n;i++){printf ("名字:%s ,l /stu[i].name);printf("电话:%s n z stu[i].phone);printf("邮箱:%s n z stu[i].email);printfC'QQ : %s printff'Xn");}} void main(void){struct stud ent stu[35];int n ,c;while(l)〃排序算法〃蔦 stu[i]・QQ);{menu();scanf(,,%d,,/&c);switch(c){case 1:n二input(stu); break; case 2:find(stu,n);break;case 3:sort(stu,n);break;case 4:n=dele(stu,n); break; case 5:cha nge(stu, n); break; case 6:output(stu,n); break; case 7:n=insert(stu,n);break;case &exit(O);。
c语言程序设计课程设计选题 (1)

《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续25.要求:使用文件方式存储数据。
26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
c语言职工信息管理系统设计

c语言职工信息管理系统设计C语言职工信息管理系统是一种方便、高效的职工信息管理工具,设计该系统主要是为了提高人力资源管理效率,减轻人事部门的工作量。
下面将从系统设计流程,系统功能和系统操作流程三个方面来详细介绍该系统的设计。
一、系统设计流程1.需求分析:系统的需求分析是设计中非常关键的一步,必须充分考虑到职工管理的基本需求和功能要求,以适应各种企业规模和管理水平的要求。
系统需要提供职工个人信息和考勤、绩效管理查询和修改、新员工入职登记等基本功能。
2.系统设计:系统需要根据需求来设计相应的数据结构和数据库。
需要设计合适的数据表,包括职工基本信息表、考勤记录表、工资记录表等。
3.系统实现:实现系统的功能,包括录入人员信息、修改人员信息、考勤登记、绩效考评、新员工入职登记等操作。
4.系统维护:制定系统的维护计划,保证系统正常、稳定的运行。
二、系统功能1.基本信息管理:包括职工基本信息的录入和修改,如姓名、性别、出生年月、联系方式等。
2.考勤管理:包括考勤记录的登记和查询,如请假、加班、迟到、早退等记录。
3.工资管理:包括工资记录的录入和查询,能够根据考勤和绩效等因素计算职工应发工资和实际发放工资。
4.绩效管理:包括绩效考核的记录和查询,能够根据职工绩效考核记录、已发工资等因素,生成人员绩效考核报表。
三、系统操作流程1.登录系统:用户登录系统,输入用户名和密码。
2.菜单:系统进入主菜单,包括基本信息管理、考勤管理、工资管理、绩效管理、系统设置等功能。
3.信息录入:在基本信息管理中,根据职工基本信息表的格式,输入职工的个人信息。
4.考勤登记:在考勤管理中,根据考勤记录表的格式,输入职工的考勤记录,包括请假、加班、迟到、早退等情况。
5.工资录入:在工资管理中,根据工资记录表的格式,输入职工的实际工资和应发工资情况。
6.绩效评估:在绩效管理中,根据绩效考核表的格式,输入职工绩效考核情况,系统将自动生成用于绩效考评的报表。
C语言程序设计实验报告范文.doc

C语言程序设计实验报告范文实验名称计算出1000以内10个素数之和实验目的1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容计算并输出1000以内的10个素数以及它们的和。
要求:在程序内部加必要的注释。
由于偶数不是素数,可以不考虑对偶数的处理。
虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。
算法描述流程图Main函数:判断素数:源程序#include#includeint sushu(int n)/* 判断素数的函数*/{int t,i;t=sqrt(n);for(i=2;i1;i-=2)/* x为奇数时,做函数计算*/{n=sushu(i); /* 做判断素数的函数调用*/( 励志天下 )if(n!=0)/* 对素数的处理*/{a[j]=n;/* 把素数由大至小存入数组a[ ]中*/j++;C语言程序设计-职工信息管理系统1C语言课程设计C语言课程设计任务书一、题目:职工信息管理系统二、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能;基本掌握结构化程序设计的基本思路和方法。
要求:设计一个职工信息管理系统,使之能提供以下功能:1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!2、输入功能:职工信息录入(职工信息用文件保存),可以一次完成若干条记录的输入。
3、浏览功能:完成对全部职工信息的显示。
C语言在信息管理系统中的应用

( 5 ) 职工信息删除、 修改功能等功能。 使用链表记录或记录数组存储数据 , 进行插入 , 删 除 和查看 与查 询 。
系统的函数组成 : ( 1 ) 录入信息并将信息存入 文件 当 中。( 2 ) 输出信息 。( 3 ) 查询 。分为 : 职工号查询 、 工资查 询 。( 4 ) 删除信息 。( 5 ) 修 改函数 : 1 ) 插入一个职工信息 ;
设计具体任务是企业职员信息管理系统软件 , 由
计 算机 替代 人 工 执行 一 系 列 诸 如增 加 新 进 职 员信 息 、 变更职 员信 息 、 删除 离职 职员信 息 、 职员 信息 的工 资统 计 发放 并 打 印工 资凭 条 、 查 询 及 打 印 等操 作 。使 工
作 人员 可 以轻松 快捷 地 完 成 管 理任 务 , 实 现企 业 职 员
随后 将程 序模 块化 , 在 主函数 中调用 各个 函数 。 所 编写 的 职 工 信 息 管 理 系 统 设 计 , 主 要 需 要 实
计算机专业毕业设计参考题目

计算机专业毕业设计参考题目目录ASP。
NET类计算机专业毕业设计题目 (1)第1-50个题目 (1)第51—100个题目 (3)第101-150个题目 (4)JAVA类计算机专业毕业设计题目 (5)第1-51个题目 (5)JSP类计算机专业毕业设计题目 (6)第1-50个题目 (6)第50—100个题目 (7)第101—150个题目 (8)PHP类计算机专业毕业设计题目 (9)C#类计算机专业毕业设计题目 (9)第1-100个题目 (9)第101-200个题目 (11)第201—300个题目 (14)类计算机专业毕业设计题目 (16)VC类计算机专业毕业设计题目 (17)第1-50个题目 (17)第51-100个题目 (18)网络类题目 (18)自选题目 (18)类计算机专业毕业设计题目第1-50个题目1。
城市公交查询系统2.电子邮件客户端软件(C#)3.图书管理系统(C#)4。
网上书店系统5。
图的遍历动态演示程序(C#)6.网上选课系统7。
职工信息管理系统8.题库专家系统9。
视频点播系统10.校园新闻发布管理系统11.客户管理系统12.车间管理系统13。
停车管理系统14。
毕业设计管理系统15。
教师评定管理系统16.基于PowerDesigner的合同管理系统17。
校园新闻发布系统18。
知识库管理系统19。
网上数码商店20.网上宠物店21。
库存管理系统22.电子商务网站23.JAVA语言考试系统的设计与实现24。
课程教学网站25.留言板(版)管理系统26。
学生选课系统27。
应用ASP。
NET开发和制作网络课程28。
书店图书管理系统29。
火车站管理系统30。
基于B/S结构的车辆管理系统31.基于WEB的新闻管理系统32。
基于Web的网络论坛系统33。
旅游网站(信息平台)研究与实现34。
学生管理系统35.学生选课系统36.同学录校友录37。
在线答疑系统38.图书馆管理系统39。
作业批改系统40。
房产管理系统41.选课系统42.校友录43.购物网站的设计与实现44。
职工信息管理系统

1 绪论1.1 课题背景及目的公司的扩张和人员的变动都需要处理相应职工的信息,凭借人力很难用最短的时间整理出需要的职工信息。
运用计算机系统对职工档案进行管理,能够提高管理效率、节约时间、方便管理人员管理信息。
因此需要设计一个职工信息管理系统,系统以菜单的方式工作,可以录入、查询、删除等。
职工的信息包括工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不可重复),使查询职工信息变得又快又简单。
1.2课题的研究方法本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。
职工信息以文件的形式存储,这要用到文件存储数据结构。
数据结构的构造类型包括结构体变量、结构体数组、结构体指针等。
基本类型有整形字符型,其中字符型用来定义职工编号、姓名、工资、电话、地址等。
一维数组struct worker work[]用于定义员工的总人数,结构体struct worker用于存放员工的资料。
系统的人机接口采用简单的字符界面进行交互。
系统的设计方法是结构化设计方法,采用C语言进行开发。
软件开发平台采用Visual C++6.0。
[1]第1页 /共 30页2 概要设计2.1软件模块结构图职工信息管理系统可以分为显示员工资料、录入员工资料、查询员工信息、删除员工信息、对员工信息进行排序、退出信息系统。
图2.1 职工信息管理系统模块结构图第2页 /共 30页3 详细设计3.1数据结构设计定义一维数组struct worker work[50];用于定义员工的总人数,当员工总人数超过50后便不能再录入员工资料。
[1]结构体struct worker用于存放存放员工的资料,包括员工的基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。
struct worker{int num; 工号char name[15]; 名字char xingbie; 性别int age; 年龄char exp[6]; 学历int wage; 工资char address[20]; 住址char tel[12]; 电话号码};int count=0; 当前工人个数int sort_type=0; 当前排序类型第3页 /共 30页3.2界面设计3.2.1 登录主界面设置用户名和密码,输入正确方可进入主界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(论文)题目名称职工信息管理系统课程名称C语言程序课程设计学生姓名刘丹学号1241302028系、专业信息工程系、计算机科学与技术专业指导教师黄磊2013年6月 6 日目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (2)2.3 设计环境 (2)2.4 开发语言 (2)3 分析和设计 (3)3.1 模块设计 (4)3.2 系统流程图 (4)3.3 主要模块的流程图 (5)4 具体代码实现 (7)5 课程设计总结 (9)5.1程序运行结果/ 预期运行结果 (9)5.2 课程设计体会 (13)参考文献 (14)致谢 (14)1 前言编写一个程序来处理职工信息管理系统。
通过结构体数组来存放输入的每一位职工的记录(包括工号、姓名、性别、年龄、学历、工资、住址、电话等),然后将其录入的职工信息以文件形式保存。
然后输入名字、工号、学历查询该同学的信息,并且对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。
2 需求分析1、程序结构合理2、界面比较美观3、最好使用结构、体指针4、输入时有提示,输出美观,整齐职工信息由工号、姓名、性别、年龄、学历、工资、住址、电话等构成。
功能要求:(1)系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)——输入(3)职工信息浏览功能——输出(4)查询和排序功能:(至少一种查询方式)——算法(5)按职工号查询(6)按学历查询等(7)职工信息删除、添加功能2.1 课程设计目的学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。
通过课程设计(论文),将课本上的理论知识和实际有机结合起来,提高学生的分析解决实际问题的能力;加强学生适应实际,实践编程的能力;锻炼使用文献资料及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。
2.2 课程设计任务设计一个职工信息管理系统,使之能提供职工信息录入功能、职工信息浏览功能、查询功能:按姓名查询,职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等。
实现菜单设计,使用数据文件保存和修改, 应用结构体和指针等内容。
1、查阅相关文献资料;2、按时完成系统的设计并且能够运行;3、要求程序正确,功能可靠;操作简单,使用方便;4、课程设计交流:认真写课程设计日志,每2天指导老师审查,通过邮件、电话,或者面谈与导师沟通汇报情况。
5、按课程设计(论文)要求,写课程设计论文。
2.3 设计环境(1)WINDOWS 2000/2003/XP/7/Vista系统(2)Visual C++或TC集成开发环境2.4 开发语言C语言3分析设计职工信息管理系统编程的作用是将职工的信息存放在文件中,然后在程序中可以浏览、查询、删除、添加职工的信息,好方便了解职工信息,同时能够及时刷新职工信息。
职工信息管理系统可以按功能进行以下划分,如下图所示:1.菜单选择是职工信息管理的入口,进行的各种操作均需要这里进行选择。
2.信息输入是将职工的信息输入到文件中,包括工号、姓名、性别、年龄、学历、工资、住址、电话等。
3.信息浏览是将已经输入的职工信息的显示出来。
4.信息查询是用来查询职工的信息,查询方式有按工号查询和姓名查询还有按学历查询三种方式。
5.信息删除是删除职工一些信息。
6.信息添加是增加一些职工信息。
3.1 模块设计定义结构体类型struct employee 表示职工信息(包括:工号、姓名、联系电话、性别、工资、学历、年龄、地址),定义一个结构体数组em[N],用来存放N个学生的信息,假设N为3。
如下所示:#define Nstruct employee{ int number;int age;int wage;char name[20];char sex[10];char address[30];char xuelil[20];long int telephone;}em[N];定义函数input(),用来输入若干职工信息存入em数组中。
定义函数save(),用来把结构体数组中的信息写入文件bbb.txt中。
在save 函数中先用写的方式保存到文件bbb.txt,然后以读的方式打开文件bbb,指针变量fp,打开文件bbb失败就退出。
定义函数search(),用来在文件中查找某职工的信息。
定义函数display(),用来显示某职工的信息。
定义函数del(),用来删除某职工的信息。
定义函数add(),用来添加某职工的信息。
3.2 系统流程图系统流程图如下:图3.1系统流程图3.3 主要模块的流程图主函数模块流程图如下:图3.2 主函数流程图1、主函数switch根具体程序如下:main() /*主函数*/{int n;printf("\n");printf(" ******************职工信息管理****************\n");printf("\n");printf(" 1.录入职工信息\n");printf(" 2.浏览职工信息\n");printf(" 3.查询职工信息\n");printf(" 4.删除职工信息\n");printf(" 5.添加职工信息\n");printf(" 6.退出\n");printf("\n");scanf("%d",&n);switch(n){case 1:printf(" 输入职工信息\n");printf("\n");input();main();break;case 2:printf(" 浏览职工信息\n");printf("\n");display(*p);main();break;case 3:printf(" 查询职工信息\n");printf("\n");search();break;case 4:printf(" 删除职工信息\n");printf("\n");del(p);break;case 5:printf(" 添加职工信息\n");printf("\n");add(p);break;case 6:exit(0);break;default :break;}}输入函数模块流程图如下:工号历输入的内容,接着用scanf语句输入相应的内容。
输入完毕后套用保存save[N]将所输入的信息写入指定文件。
具体程序如下:void input() /*录入函数*/{int i;for(i=0;i<N;i++) /*输入*/{printf("请输入职工号:");scanf("%3d",&em[i].number);getchar(); /*输入职工工号*/printf("请输入姓名: ");scanf("%s",em[i].name); /*输入职工姓名*/printf("请输入性别: ");scanf("%s",em[i].sex);getchar(); /*输入职工性别*/printf("请输入年龄: ");scanf("%d",&em[i].age);getchar(); /*输入职工年龄*/printf("请输入学历: ");scanf("%s",em[i].xueli); /*输入职工学历*/printf("请输入工资: ");scanf("%d",&em[i].wage);getchar(); /*输入职工工资*/printf("请输入住址: ");scanf("%s",em[i].address); /*输入职工家庭地址*/printf("请输入电话: ");scanf("%d",&em[i].telephone);getchar(); /*输入职工联系号码*/printf("\n");}printf("\n创建完毕!\n");save(N);}4 具体代码实现#include<stdio.h> /*标准I/Q函数*/#include <string.h>#define N 2struct employee /*定义一个职工信息结构体*/{int numbe; /*职工号*/int age; /*年龄*/int wage; /*工资*/char name[20]; /*姓名*/char sex[10]; /*性别*/char address[30]; /*家庭地址*/char xueli[10]; /*学历*/long int telephone; /*联系电话* /}em[N];void search(); /*查询*/void search_name(); /*按名字查询*/void search_xueli(); /*按学历查询*/void search_number(); /*按工号查询*/void load(); /*装载信息文件*/void display(); /*显示职工信息*/void del(); /*删除职工信息*/void input(); /*录入职工信息*/void add(); /*添加职工信息*/void save(); /*保存信息文件*/int a=N;int *p=&a;main() /*主函数*/{int n;printf("\n");printf(" ******************职工信息管理****************\n");printf("\n");printf(" 1.录入职工信息\n");printf(" 2.浏览职工信息\n");printf(" 3.查询职工信息\n");printf(" 4.删除职工信息\n");printf(" 5.添加职工信息\n");printf(" 6.退出\n");printf("\n");scanf("%d",&n);switch(n){case 1:printf(" 输入职工信息\n");printf("\n");input();main();break;case 2:printf(" 浏览职工信息\n");printf("\n");display(*p);main();break;case 3:printf(" 查询职工信息\n");printf("\n");search();break;case 4:printf(" 删除职工信息\n");printf("\n");del(p);break;case 5:printf(" 添加职工信息\n");printf("\n");add(p);break;case 6:exit(0);break;default :break;}void input() /*录入函数*/{int i;for(i=0;i<N;i++) /*输入*/{printf("请输入职工号:");scanf("%3d",&em[i].number);getchar(); /*输入职工工号*/printf("请输入姓名: ");scanf("%s",em[i].name); /*输入职工姓名*/printf("请输入性别: ");scanf("%s",em[i].sex);getchar(); /*输入职工性别*/printf("请输入年龄: ");scanf("%d",&em[i].age);getchar(); /*输入职工年龄*/printf("请输入学历: ");scanf("%s",em[i].xueli); /*输入职工学历*/printf("请输入工资: ");scanf("%d",&em[i].wage);getchar(); /*输入职工工资*/printf("请输入住址: ");scanf("%s",em[i].address); /*输入职工家庭地址*/printf("请输入电话: ");scanf("%d",&em[i].telephone);getchar(); /*输入职工联系号码printf("\n");}printf("\n创建完毕!\n");save(N);}void save(int m) /*保存文件函数*/{int i;FILE*fp; /*指向文件指针*/if(!(fp=fopen("c://bbb.txt","w"))) /*写方式打开文件bbb,指针变量fp指向该文件*/{printf("打开失败");exit(0); /正常退出程序/}for(i=0;i<m;i++)fprintf(fp,"%d %8s %s %d %8s %d %s %d\n",em[i].number,e m[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address, em[i].telephone);fclose(fp); /*fp是用fope n函数打开文件时所带回的指针*/void load(int b) /*导入函数*/{int i;FILE*fp;if(!(fp=fopen("c://bbb.txt","r"))) /*读方式打开文件bbb,指针变量fp指向该文件*/{printf("打开失败");exit(0);}elsefor(i=0;i<b;i++)fscanf(fp,"%3d %8s %s %2d %8s %4d %s %8d\n",&em[i].num ber,em[i].name,em[i].sex,&em[i].age,em[i].xueli,&em[i].wage,em[i]. address,&em[i].telephone);fclose(fp); /*关闭文件*/}void display(int a) /*浏览函数*/{int i,b=a;load(b);printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t 电话\n");for(i=0;i<a;i++)printf("%d\t%8s\t%s\t%d\t%8s %d\t%s\t%d\n",em[i].nu mber,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].a ddress,em[i].telephone);printf("\n");}void search(){int t;printf("\n按职工号查询按1\n按姓名查询请按2");printf("\n按学历查询请按3\n返回主菜单请按4\n");scanf("%d",&t);switch(t){case 1:printf("\n按职工号查询\n");search_number();break;case 2:printf("\n按姓名查询\n");search_name();break;case 3:printf("\n按学历查询\n");search_xueli();break;case 4:main();break;default :printf("输入错误,请重新输入!\n");search();break;}}void search_number() /*按工号查找职工信息*/ {int i,number;load(*p);printf("\n请输入要查询的职工号:");scanf("%d",&number);for(i=0;i<*p;i++)if(number==em[i].number){printf("\n该职工信息如下:\n");printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t电话\n");printf("\n%d\t%8s\t%s\t %d\t%8s %d\t%s\t%d\n",em[i] .number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[ i].address,em[i].telephone);printf("\n");break;}if(i==*p)printf("\n查无此人\n");search();}void search_name() /*按姓名查找职工信息*/{int i;char name[20];load(*p);printf("\n请输入要查询的姓名:");scanf("%s",name);for(i=0;i<*p;i++)if(!strcmp(em[i].name,name)){printf("\n该职工信息如下:\n");printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t电话\n");printf("\n%d\t%8s\t%s\t %d\t%8s %d\t%s\t%d\n",em[i] .number,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[ i].address,em[i].telephone);printf("\n");break;}if(i==*p)printf("\n查无此人\n");search();}void search_xueli() /*按学历查找职工信息*/{int i,k=0;char xueli[20];load(*p);printf("\n请输入要查询的学历:");scanf("%s",xueli);for(i=0;i<*p;i++)if(!strcmp(em[i].xueli,xueli)){printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t电话\n");printf("%d\t%8s\t%s\t %d\t%8s %d\t%s\t%d\n",em[i].n umber,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i]. address,em[i].telephone);}for(i=0;i<*p;i++){if(!strcmp(em[i].xueli,xueli))break;else k++;}if(k==*p)printf("\n查无此人\n");search();}void del(int *b) /*删除函数*/{int i,t,j,m;int a=*b;char name[20];printf("\n所有职工信息:\n");display(a);printf("\n请输入要删除职工的名字:");scanf("%s",name);for(i=0;i<a;i++){if(!strcmp(em[i].name,name)){printf("\n确认删除请按1\n取消请按2\n");scanf("%d",&t);if(t==1){for(j=i;j<a-1;j++){em[j].age=em[j+1].age;em[j].wage=em[j+1].wage;em[j].number=em[j+1].number;em[j].telephone=em[j+1].telephone;strcpy(em[j].xueli,em[j+1].xueli);strcpy(em[j].name,em[j+1].name);strcpy(em[j].address,em[j+1].address);strcpy(em[j].sex,em[j+1].sex);}a--;save(j);break;}if(t==2)break;}}if(i==a)printf("\n输入错误,无此人\n");*b=a;printf("\n继续删除请按1\n浏览信息请按2\n返回主菜单请按3\n"); scanf("%d",&m);switch(m){case 1:del(p);break;case 2:display(*b);main();break;case 3:main();break;default:break;}}void add(int *a) /*添加函数*/ {int i,n,m;FILE*fp;if(!(fp=fopen("c://bbb.txt","a"))){printf("打开失败");exit(0);}printf("\n请输入想添加的人数:\n");scanf("%d",&n);for(i=*a;i<n+(*a);i++){printf("请输入职工号:");scanf("%d",&em[i].number);printf("请输入姓名: ");scanf("%s",em[i].name);printf("请输入性别: ");scanf("%s",em[i].sex);printf("请输入年龄: ");scanf("%d",&em[i].age);printf("请输入学历: ");scanf("%s",em[i].xueli);printf("请输入工资: ");scanf("%d",&em[i].wage);printf("请输入住址: ");scanf("%s",em[i].address);printf("请输入电话: ");scanf("%d",&em[i].telephone);printf("\n");}printf("\n添加完毕\n");for(i=*a;i<n+(*a);i++)fprintf(fp,"%d %8s %s %d %8s %d %s %d\n",em[i].number,e m[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].address, em[i].telephone);fclose(fp);*a=*a+n;printf("\n浏览新信息请按1\n返回主菜单请按2\n");scanf("%d",&m);switch(m){case 1:display(*a);main();break;case 2:main();break;default:break;}}5 课程设计总结5.1 程序运行结果/ 预期运行结果运行与测试结果如下:1.运行程序进入职工信息管理系统的主菜单。