c语言程序设计 员工信息管理系统

合集下载

c语言课程设计---职工信息管理系统

c语言课程设计---职工信息管理系统

C语言课程设计设计题目:职工信息管理系统设计目的当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。

计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

本系统就是为了管理好学生选课信息而设计的。

数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。

基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。

二、题目说明:系统功能简介:系统以菜单方式工作1)职工信息录入(文件保存职工信息)2)输出职工信息、浏览职工信息3)查询职工信息4)根据员工号查找职工信息5)根据工资、年龄、性别对职工信息进行排序6)删除职工信息3. 设计实施:#include <>#include <>#include <>typedef struct Empk{int EmpNum; /* staff number */char EmpName[12]; /* name*/int Sex; /*sex 1- woman 2- man*/int Old; /* old*/int Cult; /*education background 1-specilist 2-doctor 3-others*/ int Salary; /*salary*/char Address[12]; /* address*/int Tell; /*telephone number*/}Emp;Emp emp[100];void open(){int i;FILE *fp;if((fp=fopen("wyl","rb+"))==NULL){printf("can not do it! Because of no file of information\n");exit(0);}for(i=0;i<100;i++){if(fread(&emp[i],sizeof(Emp),1,fp)==0){printf("Fail to output\n");exit(0);}}fclose(fp);}void close() /*跳出*/{int i;FILE *fp;if((fp=fopen("wyl","wr+"))==NULL){printf("can not do it!\n");exit(0);}for(i=0;i<100;i++)fwrite(&emp[i],sizeof(Emp),1,fp);fclose(fp);}void inputEmpInfo() /*输入信息*/{int i,k;for(i=0;i<100;i++){printf("Please enter the staff's :\nnumber:");scanf("%d",&emp[i].EmpNum);printf("\nname:");scanf("%s",emp[i].EmpName);printf("\nsex : 1- woman 2- man:");scanf("%d",&emp[i].Sex);printf("\nold:");scanf("%d",&emp[i].Old);printf("\nEducation background:1-specialist 2-doctor 3-others");scanf("%d",&emp[i].Cult);printf("\nsalary:");scanf("%d",&emp[i].Salary);printf("\naddress:");scanf("%s",emp[i].Address);printf("\ntellphone:");scanf("%d",&emp[i].Tell);printf("continue ");scanf("%d",&k);if(k==2) break;}close();}void reorder() /*修改*/{int i,s,j,k,l;Emp temp;open();printf("\nChoose which category would you want to use\n1---sex \n2---salary(from maximum to minimum) \n3--old (from maximum to minimum) \n ( enter the corresponding nember) \n)");scanf("%d",&i);switch(i){case 1:printf("\nchoose which sex do you want to inquire 1--woman 2 --man ");scanf("%d",&s);for(j=0;emp[j].EmpNum!=0;j++){if(emp[j].Sex==s){printf(" number:%d\n",emp[j].EmpNum);printf("name:%s", emp[j].EmpName);printf("\nsex 1- woman 2- man:%d", emp[j].Sex);printf("\nold:%d", emp[j].Old);printf("\neducation background:%d\t\t\t 1-specialist 2-doctor 3-others ",emp[j].Cult);printf("\nsalary:%d", emp[j].Salary);printf("\naddress:%s", emp[j].Address);printf("\ntelephone nember :%d", emp[j].Tell);}}break;case 2:for(k=0;emp[k].EmpNum!=0;j++ ){for(l=k;emp[l].EmpNum!=0;l++){if(emp[l].Salary<emp[l+1].Salary){temp=emp[l];emp[l]=emp[l+1];emp[l+1]=temp;}}printf(" number:%d\n",emp[k].EmpNum);printf("name:%s",emp[k].EmpName);printf("\nsex 1- woman 2- man:%d",emp[k].Sex);printf("\nold:%d",emp[k].Old);printf("\neducation background:%d\t\t\t 1-specialist 2-doctor 3-others ",emp[k].Cult);printf("\nsalary:%d",emp[k].Salary);printf("\nadress:%s",emp[k].Address);printf("\ntelephone nember :%d",emp[k].Tell);}break;case 3:for(k=0;emp[k].EmpNum!=0;j++ ){for(l=k;emp[l].EmpNum!=0;l++){if(emp[l].Old<emp[l+1].Old){temp=emp[l];emp[l]=emp[l+1];emp[l+1]=temp;}}printf(" number:%d\n",emp[k].EmpNum);printf("name:%s",emp[k].EmpName);printf("\nsex 1- woman 2- man:%d",emp[k].Sex);printf("\nold:%d",emp[k].Old);printf("\neducation background:%d\t\t\t 1-specialist 2-doctor 3-others",emp[k].Cult);printf("\nsalary:%d",emp[k].Salary);printf("\naddress:%s",emp[k].Address);printf("\ntelephone nember :%d",emp[k].Tell);}break;}}void show(){int j;open();printf("\n-------------------------informations of sraffs---------------------------\n");for(j=0;emp[j].EmpNum!=0;j++){printf("number:%d\n",emp[j].EmpNum);printf("name:%s",emp[j].EmpName);printf("\nsex 1- woman 2- man:%d",emp[j].Sex);printf("\nold:%d",emp[j].Old);printf("\neducation background:%d 1-specialist 2-doctor 3-others ",emp[j].Cult);printf("\nsalary:%d",emp[j].Salary);printf("\nadress:%s",emp[j].Address);printf("\ntelephone nember :%d",emp[j].Tell);}}void deleteEmp(){int j,k,m=1,d,i=0;open();printf("Enter the number whose date you want to delete:\n");scanf("%d",&d);for(j=0;emp[j].EmpNum!=0;j++){if(emp[j].EmpNum==d){for(k=j;emp[j].EmpNum!=0;k++)emp[k]=emp[k+1];i++;}}if(i==0)printf("The staffs informations manage systerm has no date of the number your entered!!!\n");close();printf("succeeed to delete\n");}void findByEmpName() /*查询*/{int j,i,k=0;open();printf("Please enter the number :\n");scanf("%d",&i);for(j=0;emp[j].EmpNum!=0;j++){if(emp[j].EmpNum==i){printf("\n-------------------------information of your want---------------------------\n");printf("number:%d\n",emp[j].EmpNum);printf("name:%s",emp[j].EmpName);printf("\nsex 1- woman 2- man:%d",emp[j].Sex);printf("\nold:%d",emp[j].Old);printf("\neducation background:%d\t\t\t\t 1-specialist 2-doctor 3-others",emp[j].Cult);printf("\nsalary:%d",emp[j].Salary);printf("\nadress:%s",emp[j].Address);printf("\ntelephone number:%d",emp[j].Tell);k++;}}if(k==0)printf("\nHave no date of the number!!!\n");}void menu(){printf("\n--------------------------------------------------------------------------\n");printf("\n Wellcome to the staff manage styterm \n");printf("\n-------------------------------------------------------------------------\n");printf("Please choose number for what are you want to do:\n\n");printf("\n 1 ---- input: Complete inputing workers' information.");printf("\n 2 ---- reorder: Make the new order of the information.");printf("\n 3 ---- delete: Delete the information of the staff.");printf("\n 4 ---- output: Display all worker of information.");printf("\n 5 ---- inquire.");printf("\n 0 ---- exit\n");}void main(){int op,choice=1;while(choice==1){menu();printf("\nPlease enter your order:\n");scanf("%d",&op);switch(op){case 1: inputEmpInfo();break;case 2: reorder();break;case 3: deleteEmp();break;case 4: show();break;case 5: findByEmpName();break;case 0: {printf("Welcome to use worker management system, goodbye!!!"); exit(0);}getchar();}printf("\n-------------------------------------------------------------------------\n");printf("\nWhether continue Yes-1 No--2\n");scanf("%d",choice);}}。

c语言职工信息管理系统课程设计

c语言职工信息管理系统课程设计

c语言职工信息管理系统课程设计一、教学目标本课程的教学目标是使学生掌握C语言职工信息管理系统的基本概念、设计与实现。

通过本课程的学习,学生应达到以下知识目标:1.理解C语言的基本语法和数据结构。

2.掌握职工信息管理系统的需求分析和系统设计。

3.学会使用C语言实现职工信息管理系统的功能。

4.能够使用C语言进行程序设计。

5.能够独立完成职工信息管理系统的需求分析和系统设计。

6.能够使用C语言实现职工信息管理系统的功能并调试程序。

情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。

2.培养学生独立思考、解决问题的能力。

3.培养学生团队协作、沟通的能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、职工信息管理系统的需求分析和系统设计,以及C语言实现职工信息管理系统的方法。

1.C语言的基本语法:数据类型、变量、运算符、表达式、语句等。

2.数据结构:数组、链表、栈、队列等。

3.职工信息管理系统的需求分析:系统功能、数据流图、实体关系图等。

4.职工信息管理系统的系统设计:模块划分、模块功能、接口设计等。

5.C语言实现职工信息管理系统:代码编写、调试与优化。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解C语言的基本语法、数据结构和职工信息管理系统的相关知识,使学生掌握基本概念。

2.案例分析法:分析实际案例,使学生了解职工信息管理系统的需求分析和系统设计的过程。

3.实验法:让学生动手编写C语言代码,实现职工信息管理系统的功能,培养学生的实际操作能力。

四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用权威、实用的C语言教材,为学生提供系统、全面的学习资料。

2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作课件、视频等多媒体资料,提高课堂教学效果。

4.实验设备:提供计算机、编程环境等实验设备,确保学生能够进行实际操作。

c语言职工信息管理系统课程设计

c语言职工信息管理系统课程设计

c语言职工信息管理系统课程设计一、课程目标知识目标:1. 理解C语言中数组、结构体和文件操作的基本概念;2. 学会使用C语言编写职工信息管理系统的基本功能,如增加、删除、修改和查询职工信息;3. 掌握利用C语言进行简单的数据处理和分析。

技能目标:1. 能够运用结构体数组管理职工信息;2. 独立编写代码实现职工信息的增加、删除、修改和查询功能;3. 学会使用文件操作将职工信息存储到文件中,并从文件中读取数据;4. 通过编程实践,培养解决问题的能力和逻辑思维能力。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养良好的编程习惯;2. 培养学生的团队协作意识和沟通能力,通过分组讨论和实践,共同完成职工信息管理系统的开发;3. 强化学生的责任感和使命感,认识到信息技术在现实生活中的应用和价值。

课程性质:本课程为实践性较强的课程,结合课本知识,让学生通过实际操作,掌握C语言编程的基本方法和技巧。

学生特点:学生已具备一定的C语言基础,熟悉基本语法和简单程序设计,但缺乏实际项目经验。

教学要求:注重理论与实践相结合,引导学生通过动手实践,提高编程能力和解决问题的能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 理论知识:- 复习C语言基础:数据类型、运算符、控制语句等;- 数组与字符串:数组的使用,字符串操作;- 结构体:定义结构体,结构体数组,结构体指针;- 文件操作:文件的打开、关闭、读写,以及文件存储职工信息。

2. 实践操作:- 设计职工信息结构体,创建职工信息数组;- 编写增加、删除、修改和查询职工信息的功能函数;- 利用文件操作存储和读取职工信息;- 集成职工信息管理系统,实现用户界面。

3. 教学大纲:- 第一周:复习C语言基础知识,讲解数组与字符串;- 第二周:学习结构体,设计职工信息结构体;- 第三周:文件操作学习,实现职工信息的存储与读取;- 第四周:编写职工信息管理系统的功能函数;- 第五周:集成系统,测试与优化。

c语言课程设计员工管理系统

c语言课程设计员工管理系统

c语言课程设计员工管理系统一、教学目标本节课的教学目标是让学生掌握C语言编程的基本方法,通过构建一个简单的员工管理系统,使学生能够理解并运用C语言进行程序设计。

具体的教学目标如下:1.知识目标:使学生了解C语言的基本语法和数据结构,掌握函数的定义和调用方法,理解面向对象编程的基本概念。

2.技能目标:培养学生使用C语言进行程序设计的能力,能够独立完成一个简单的员工管理系统的设计和实现。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,使其认识到计算机技术在现代社会中的重要性,培养学生的创新精神和团队合作意识。

二、教学内容本节课的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用、面向对象编程等。

具体的教学内容如下:1.C语言的基本语法:介绍C语言的基本语法规则,包括数据类型、运算符、表达式等。

2.数据结构:介绍常用的数据结构,如数组、链表、栈和队列等,并讲解如何在C语言中实现这些数据结构。

3.函数的定义和调用:讲解函数的定义方法和调用方式,介绍函数的参数传递和返回值等概念。

4.面向对象编程:介绍面向对象编程的基本概念,包括类和对象、封装、继承和多态等。

5.员工管理系统的设计和实现:通过构建一个简单的员工管理系统,使学生能够将所学的知识运用到实际编程中。

三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解C语言的基本语法、数据结构、函数的定义和调用、面向对象编程等知识,使学生掌握基本概念和理论。

2.案例分析法:通过分析员工管理系统的案例,使学生能够理解并运用所学的知识进行程序设计。

3.实验法:安排课堂实验,使学生在实践中掌握C语言的编程技巧,培养学生的动手能力。

4.讨论法:学生进行分组讨论,培养学生的团队合作意识和创新精神。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用合适的C语言教材,为学生提供系统的学习资料。

员工管理系统c语言课程设计

员工管理系统c语言课程设计

员工管理系统c语言课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握员工管理系统的基本概念、设计方法和实现技巧。

技能目标要求学生能够运用C语言进行程序设计,熟练使用员工管理系统相关的开发工具。

情感态度价值观目标要求学生培养团队合作意识,提高问题解决能力,增强创新精神。

通过对本章内容的学习,学生应该能够:1.描述员工管理系统的基本概念和应用场景;2.解释C语言在员工管理系统中的作用和重要性;3.运用C语言编写简单的员工管理系统程序;4.分析和解决员工管理系统中出现的问题;5.表达对团队合作的认识和价值观。

二、教学内容本课程的教学内容主要包括员工管理系统的基本概念、C语言编程基础、员工管理系统的程序设计方法和技巧。

1.员工管理系统的基本概念:介绍员工管理系统的定义、功能和应用场景,使学生了解员工管理系统在实际工作中的重要性。

2.C语言编程基础:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生编写员工管理系统程序奠定基础。

3.员工管理系统的程序设计方法:介绍员工管理系统的模块划分、界面设计、数据结构设计等方法,引导学生学会如何设计一个完整的员工管理系统。

4.员工管理系统的实现技巧:讲解如何在C语言中实现员工管理系统的功能,如数据输入、输出、查询、修改等,并引导学生掌握调试和优化程序的方法。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:教师通过讲解员工管理系统的基本概念、C语言编程基础等内容,为学生提供系统的知识体系。

2.讨论法:学生就员工管理系统的设计方法和实现技巧进行讨论,培养学生的思考和表达能力。

3.案例分析法:分析实际工作中的员工管理系统案例,让学生了解员工管理系统在现实中的应用,提高学生的实践能力。

4.实验法:安排实验课程,让学生动手编写员工管理系统程序,培养学生的实际操作能力和问题解决能力。

c语言课程设计——职工信息管理系统

c语言课程设计——职工信息管理系统

XXXXXXX大学课程设计说明书名称计算机语言C课程设计——职工信息管理系统设计2011 年 6月20 日至 2011年6 月26 日共1 周院系 .班级 .姓名 .学号 .系主任 .教研室主任 .指导教师 .目录一、课程设计的目的和要求 (3)1.1目的 (3)1.2 要求 (3)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1总体思想 (5)3.2软件模块结构图 (5)3.3系统流程图 (6)3.3.1主函数 (6)3.3.2显示函数 (7)3.3.3录入函数 (7)3.3.4查询函数 (8)3.3.5删除函数 (9)3.3.6排序函数 (10)四、详细设计和系统实施 (11)4.1数据结构设计 (11)4.1.1定义数组 (11)4.1.2定义结构体 (11)4.1.3函数功能描述 (11)4.2界面设计 (12)4.2.1用户登录界面 (12)4.2.2 主界面 (13)4.2.3显示界面 (15)4.2.4录入界面 (16)4.2.5信息查询界面 (17)4.2.6删除界面 (19)五、遇到的问题及解决办法 (20)六、课程设计总结 (21)七、参考文献 (22)附录(源程序代码) (23)一、课程设计的目的和要求1.1目的1.掌握C语言编程的基础知识较熟练的编写C语言使用程序。

2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。

3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

1.2 要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3.画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言对文件的各种操作。

员工信息管理系统c语言

员工信息管理系统c语言

员工信息管理系统c语言一、介绍员工信息管理系统是一种可以帮助企业或组织管理员工信息的软件。

它可以记录员工的基本信息、职务、薪资、考勤等数据,并且可以对这些数据进行增删改查操作。

本文将介绍如何使用C语言实现一个简单的员工信息管理系统。

二、功能需求1. 添加员工信息:包括姓名、性别、年龄、职务和薪资等基本信息。

2. 删除员工信息:根据员工编号或姓名删除指定员工的信息。

3. 修改员工信息:根据员工编号或姓名修改指定员工的信息。

4. 查询员工信息:根据员工编号或姓名查询指定员工的详细信息。

5. 显示所有员工信息:显示所有已经录入的员工的详细信息。

三、设计思路1. 数据结构设计为了存储和操作多个不同类型的数据,我们需要使用结构体来定义一个包含所有字段的数据类型。

以下是一个示例:```struct Employee {int id;char name[50];char gender[10];int age;char position[50];float salary;};```2. 数据存储方式我们可以选择将所有数据保存在一个文件中,也可以使用内存中的数组来保存数据。

在这里,我们选择使用内存中的数组来保存数据。

以下是一个示例:#define MAX_EMPLOYEES 100struct Employee employees[MAX_EMPLOYEES];int numEmployees = 0;```3. 主菜单设计我们需要设计一个主菜单,让用户可以选择要进行的操作。

以下是一个示例:```void showMenu() {printf("员工信息管理系统\n");printf("--------------------\n");printf("1. 添加员工信息\n");printf("2. 删除员工信息\n");printf("3. 修改员工信息\n");printf("4. 查询员工信息\n");printf("5. 显示所有员工信息\n");printf("6. 退出系统\n");}```4. 功能实现根据以上需求,我们需要实现以下功能:(1)添加员工信息```void addEmployee() {struct Employee employee;// 获取用户输入printf("请输入新员工的编号:");scanf("%d", &employee.id);// 判断编号是否已经存在for (int i = 0; i < numEmployees; i++) {if (employees[i].id == employee.id) {printf("该编号已经存在,请重新输入!\n"); return;}}// 获取用户输入printf("请输入新员工的姓名:");scanf("%s", );// 获取用户输入printf("请输入新员工的性别:");scanf("%s", employee.gender);// 获取用户输入printf("请输入新员工的年龄:");scanf("%d", &employee.age);// 获取用户输入printf("请输入新员工的职务:");scanf("%s", employee.position);// 获取用户输入printf("请输入新员工的薪资:");scanf("%f", &employee.salary);// 将新员工添加到数组中employees[numEmployees] = employee; numEmployees++;printf("添加成功!\n");}```(2)删除员工信息```void deleteEmployee() {int id;char name[50];// 获取用户输入printf("请输入要删除的员工编号或姓名:");scanf("%s", name);// 查找要删除的员工int index = -1;for (int i = 0; i < numEmployees; i++) {if (strcmp(employees[i].name, name) == 0 || employees[i].id == atoi(name)) {index = i;break;}}if (index == -1) {printf("没有找到该员工,请重新输入!\n"); return;}// 删除员工for (int i = index; i < numEmployees - 1; i++) { employees[i] = employees[i + 1];}numEmployees--;printf("删除成功!\n");}```(3)修改员工信息```void modifyEmployee() {int id;char name[50];// 获取用户输入printf("请输入要修改的员工编号或姓名:");scanf("%s", name);// 查找要修改的员工int index = -1;for (int i = 0; i < numEmployees; i++) {if (strcmp(employees[i].name, name) == 0 || employees[i].id == atoi(name)) {index = i;break;}}if (index == -1) {printf("没有找到该员工,请重新输入!\n"); return;}// 获取用户输入printf("请输入新的姓名(原姓名:%s):", employees[index].name);scanf("%s", employees[index].name);// 获取用户输入printf("请输入新的性别(原性别:%s):", employees[index].gender);scanf("%s", employees[index].gender);// 获取用户输入printf("请输入新的年龄(原年龄:%d):", employees[index].age);scanf("%d", &employees[index].age);// 获取用户输入printf("请输入新的职务(原职务:%s):", employees[index].position);scanf("%s", employees[index].position);// 获取用户输入printf("请输入新的薪资(原薪资:%f):", employees[index].salary);scanf("%f", &employees[index].salary);printf("修改成功!\n");}```(4)查询员工信息```void queryEmployee() {int id;char name[50];// 获取用户输入printf("请输入要查询的员工编号或姓名:");scanf("%s", name);// 查找要查询的员工int index = -1;for (int i = 0; i < numEmployees; i++) {if (strcmp(employees[i].name, name) == 0 || employees[i].id == atoi(name)) {index = i;break;}}if (index == -1) {printf("没有找到该员工,请重新输入!\n");return;}// 显示员工信息printf("编号:%d\n", employees[index].id);printf("姓名:%s\n", employees[index].name); printf("性别:%s\n", employees[index].gender); printf("年龄:%d\n", employees[index].age);printf("职务:%s\n", employees[index].position); printf("薪资:%f\n", employees[index].salary); }```(5)显示所有员工信息```void showAllEmployees() {if (numEmployees == 0) {printf("没有任何员工信息!\n");return;}for (int i = 0; i < numEmployees; i++) {// 显示员工信息printf("--------------------\n");printf("编号:%d\n", employees[i].id);printf("姓名:%s\n", employees[i].name); printf("性别:%s\n", employees[i].gender); printf("年龄:%d\n", employees[i].age);printf("职务:%s\n", employees[i].position); printf("薪资:%f\n", employees[i].salary); }}```四、完整代码以下是一个完整的员工信息管理系统的代码:```#include <stdio.h>#include <string.h>#define MAX_EMPLOYEES 100struct Employee {int id;char name[50];char gender[10];int age;char position[50];float salary;};struct Employee employees[MAX_EMPLOYEES]; int numEmployees = 0;void showMenu() {printf("员工信息管理系统\n");printf("--------------------\n");printf("1. 添加员工信息\n");printf("2. 删除员工信息\n");printf("3. 修改员工信息\n");printf("4. 查询员工信息\n");printf("5. 显示所有员工信息\n");printf("6. 退出系统\n");}void addEmployee() {struct Employee employee;// 获取用户输入printf("请输入新员工的编号:");scanf("%d", &employee.id);// 判断编号是否已经存在for (int i = 0; i < numEmployees; i++) {if (employees[i].id == employee.id) {printf("该编号已经存在,请重新输入!\n"); return;}}// 获取用户输入printf("请输入新员工的姓名:");scanf("%s", );// 获取用户输入printf("请输入新员工的性别:");scanf("%s", employee.gender);// 获取用户输入printf("请输入新员工的年龄:");scanf("%d", &employee.age);// 获取用户输入printf("请输入新员工的职务:");scanf("%s", employee.position);// 获取用户输入printf("请输入新员工的薪资:");scanf("%f", &employee.salary);// 将新员工添加到数组中employees[numEmployees] = employee; numEmployees++;printf("添加成功!\n");}void deleteEmployee() {int id;char name[50];// 获取用户输入printf("请输入要删除的员工编号或姓名:");scanf("%s", name);// 查找要删除的员工int index = -1;for (int i = 0; i < numEmployees; i++) {if (strcmp(employees[i].name, name) == 0 || employees[i].id == atoi(name)) {index = i;break;}}if (index == -1) {printf("没有找到该员工,请重新输入!\n");return;}// 删除员工for (int i = index; i < numEmployees - 1; i++) {employees[i] = employees[i + 1];}numEmployees--;printf("删除成功!\n");}void modifyEmployee() {int id;char name[50];// 获取用户输入printf("请输入要修改的员工编号或姓名:");scanf("%s", name);// 查找要修改的员工int index = -1;for (int i = 0; i < numEmployees; i++) {if (strcmp(employees[i].name, name) == 0 || employees[i].id == atoi(name)) {index = i;break;}}if (index == -1) {printf("没有找到该员工,请重新输入!\n"); return;}// 获取用户输入printf("请输入新的姓名(原姓名:%s):", employees[index].name);scanf("%s", employees[index].name);// 获取用户输入printf("请输入新的性别(原性别:%s):", employees[index].gender);scanf("%s", employees[index].gender);// 获取用户输入printf("请输入新的年龄(原年龄:%d):", employees[index].age);scanf("%d", &employees[index].age);// 获取用户输入printf("请输入新的职务(原职务:%s):", employees[index].position);scanf("%s", employees[index].position);// 获取用户输入printf("请输入新的薪资(原薪资:%f):", employees[index].salary);scanf("%f", &employees[index].salary);printf("修改成功!\n");}void queryEmployee() {int id;char name[50];// 获取用户输入printf("请输入要查询的员工编号或姓名:"); scanf("%s", name);// 查找要查询的员工int index = -1;for (int i = 0; i < numEmployees; i++) {if (strcmp(employees[i].name, name) == 0 || employees[i].id == atoi(name)) {index = i;break;}}if (index == -1) {printf("没有找到该员工,请重新输入!\n");return;}// 显示员工信息printf("编号:%d\n", employees[index].id);printf("姓名:%s\n", employees[index].name);printf("性别:%s\n", employees[index].gender);printf("年龄:%d\n", employees[index].age);printf("职务:%s\n", employees[index].position);printf("薪资:%f\n", employees[index].salary);}void showAllEmployees() {if (numEmployees == 0) {printf("没有任何员工信息!\n");return;}for (int i = 0; i < numEmployees; i++) {// 显示员工信息printf("--------------------\n");printf("编号:%d\n", employees[i].id);printf("姓名:%s\n", employees[i].name); printf("性别:%s\n", employees[i].gender); printf("年龄:%d\n", employees[i].age);printf("职务:%s\n", employees[i].position); printf("薪资:%f\n", employees[i].salary); }}int main() {int choice;while (1) {showMenu();// 获取用户选择printf("请选择要进行的操作:"); scanf("%d", &choice);switch (choice) {case 1:addEmployee();break;case 2:deleteEmployee();break;case 3:modifyEmployee();break;case 4:queryEmployee();break;case 5:showAllEmployees();break;case 6:return 0;default:printf("无效的选择,请重新输入!\n");}}}```五、总结本文介绍了如何使用C语言实现一个简单的员工信息管理系统。

C语言课程设计职工信息管理系统

C语言课程设计职工信息管理系统

集成测试
集成测试的定义:将各个模块组合起来进行测试,验证模块间的接口和交互是否正确 集成测试的目的:发现模块间的接口和交互问题,保证系统的稳定性和可靠性 集成测试的方法:自顶向下、自底向上、混合策略等 集成测试的步骤:模块划分、模块集成、集成测试、回归测试等
系统调试与优化
优化方法:优化算法、数据 结构、代码结构等
据库进行数据 存储和管理
接口:使用 RESTful API 进行前后端数
据交互
安全:使用 HTTPS进行数 据传输加密, 使用身份验证 和授权机制进 行用户身份验 证和权限控制
性能优化:使 用缓存、异步 处理等技术进
行性能优化
系统需求分析
用户需求
员工信息管理:包括员工 基本信息、职位、薪资等
员工考勤管理:记录员工 上下班时间、请假、加班 等信息
系统部署与维护
系统部署方案
硬件需求:服务器、网络设备、存储设备等 软件需求:操作系统、数据库管理系统、应用服务器等 部署步骤:安装操作系统、安装数据库管理系统、安装应用服务器、部署应用系统等 维护方案:定期备份数据、定期检查系统运行情况、定期更新系统软件等
系统运行环境配置
操作系统:Windows、Linux、Mac OS等
技术需求
编程语言:C语言
数据库:SQL Server或MySQL
用户界面:Windows Forms或Web Forms
功能模块:员工信息管理、考勤管理、 薪资管理等
性能要求:响应速度快,数据安全可靠
兼容性:支持Windows操作系统,兼 容主流浏览器
系统设计
数据结构设计
数据类型:包括职工信息、 部门信息、职位信息等
员工绩效管理:记录员工 工作表现、绩效考核等信 息
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验题目:员工信息管理系统一、实验目的1.熟悉c语言的编译连接和运行过程。

2.掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。

3.掌握if语句及switch语句的运用方法及嵌套应用方法。

4.掌握实现循环结构的三种语句while、do-while.、for 的使用。

5.掌握函数的定义方法和调用方法。

6.能够采用模块化思想调试程序。

二.实验内容1.编写程序并进行调试运行。

2.输入员工资料,并保存于文件。

每个员工包含信息如:工作证号、姓名、性别、工龄、学历、职务、电话、工资等。

3.对已存入的员工信息进行更新操作,包括添加一个员工信息、删除某个员工信息和修改某个员工信息。

4.通过输入姓名、工作证号的方式查询员工信息。

5.最后输出员工信息,供需要时打印。

二、需求分析1.该程序可用于对企业员工情况基本信息的存储、更新、查询、输出等操作,以实现对企业员工的管理。

2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多个员工信息,也可对个别员工信息进行适当的删除或修改。

以便随时更新员工信息。

3.程序中设计的查询功能可根据需要从若干数据中查询某个员工信息,并且可根据两种不同的方法查询:按工作证号查询和按姓名查询。

以满足不同的需要。

四、概要设计1、方案设计对系统进行分析,给出结构图分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计结构图如下:2.模块功能说明对各个模块进行功能的描述(1).输入模块:录入需要管理的员工信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

(2).添加模块:可添加一个或多个员工信息,并将所添加员工信息保存,方便查找。

(3).删除模块:可对辞职或休假的员工信息做删除处理。

(4).修改模块:可根据需要对多个员工信息进行修改,也可随时对个别项进行修改。

(5).查询模块:可对已建立的员工信息进行查询,并且可根据需要选择按姓名查询或按工作证号查询。

(6).保存模块:用于对信息进行保存。

(7).输出模块:将所有员工信息或想要查询的员工信息显示于屏幕,用于打印员工信息或查找某些员工信息。

(8). 修改密码:对系统的密码可以进行修改,确保信息的安全。

(9) . 关于系统:对系统的简介,以及操作时的注意事项。

(10).退出系统:选择该项,自动退出该系统。

五、详细设计及运行结果六.调试情况及运行结果Array1它要大得多,不注意的小的知识点有了新的巩固;我先编的主函数,调试后我又一个一个模块的往上加,每加上一个调试一下;虽然在编程过程中有些模块也出现了一些小问题,但在翻阅课本和同学们的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本上达到了预期的目的。

可这毕竟是第一次独立完成这样的大程序,虽然并不是非常健壮,但程序中没有错误和警告,各项功能都能完成,因此我对两周的实习结果还是理想的。

这次编程中我感觉程序中最满意的地方有两点:1、程序的操作界面美观大方。

2、我给程序上加上了密码修改这一模块,可以说密码函数花费了大量时间,需要重新建立一个文件来写入密码保存密码。

下次登陆时需要打开密码文件,判断密码是否正确。

已有的那些功能虽已能基本上满足用户的需要,但如果还有更多的功能程序就会更加完美。

如:录入错误数据时,系统没有设计输出错误操作的提示。

2、在设计过程中的感受。

本次C 语言的实习课让我对C 语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中使我在课堂上十几周学到的知识得到了巩固,有很多以前理解不了的课本知识在这次上机实习后,再回头看一下感觉豁然开朗。

学校组织的这次实习让我们这些实践知识匮乏的大学生增添了许多社会经验,为我们将来走上工作岗位其了不小的铺垫作用。

本次实习中遇到了很多以前没有遇到过的问题,也曾感到比较浮躁,但想到以前都是作为用户用各种程序,而这次自己是编程者,可以让程序按自己的想法运行,给了我继续的兴趣和信心。

在老师的指导下和同学的帮助下,我顺利的结束了本次实习,让我知道原来凭借自己努力取得的成功会让自己这么欣慰。

七.参考文献《C语言程序设计》王曙燕曹锰科学出版社2005年2月《C语言程序设计》谭浩强清华大学出版社1999年12月八。

附录:#include<stdio.h>#include<string.h>#define MAX 5#define PAGE 4#define PRINTF1 printf("-------------------------------------------------------------------\n")#define PRINTF2 printf("工作号\t姓名\t性别\t工龄(年月日)\t学历\t职务\t电话\t工资\n")#define PRINTF3 printf("\n%d\t%s\t%s\t%d-%d-%d\t%s\t%s\t%s\t%d\n",workers[i].num,workers[i].name,workers[ i].sex,workers[i].worktime.year, workers[i].worktime.month, workers[i].worktime.day,workers[i].degree,workers[i].position,workers[i].tel,workers[i].salary)int sum;/*用来记录员工人数*//*日期结构体类型*/struct date{int year;int month;int day;};/*员工结构体类型*/struct workers_type{int num;struct date worktime;char name[10];char sex[2];char degree[5];char position[5];char tel[12];int salary;}workers[MAX];/*存放MAX个员工信息记录的结构体数组*//*保存基本信息*/save_message(int sum){ FILE *fp;int i;if((fp=fopen("worker information.txt","wt"))==NULL){ printf("该文件错误!\n");return;}for(i=0;i<sum;i++)if(fwrite(&workers[i],sizeof(struct workers_type),1,fp)!=1)printf("写文件错误!\n");fclose(fp);}/*第一:输入模块*/input_message()int i=0,x;clrscr();printf("\n\n 请输入要录入的员工数量: ");scanf("%d",&x);printf("\n\n 录入员工信息(最多%d个员工)\n",x);printf(" ----------------------------------------------------------------------\n");do{printf("第%d个员工信息",i+1);printf("\n员工的工作证号:");scanf("%d",&workers[i].num);printf("\n姓名:");scanf("%s",workers[i].name);printf("\n性别(男=m,女=f):");scanf("%s",&workers[i].sex);printf("\n工龄(yy--mm--dd):");fflush(stdin);scanf("%d-%d-%d",&workers[i].worktime.year, &workers[i].worktime.month, &workers[i].worktime.day);printf("\n学历:");scanf("%s",workers[i].degree);printf("\n职务:");fflush(stdin);scanf("%s",workers[i].position);printf("\n电话:");scanf("%s",workers[i].tel);printf("\n工资:");scanf("%d",&workers[i].salary);i++;}while(i<x);printf("\n --%d员工信息输入完毕!--\n",i);sum=i;printf("\n 按任意键返回主菜单!");bioskey(0);}/*读取信息*/read_message(){ FILE *fp;int i=0;if((fp=fopen("worker information.txt","rt"))==NULL){ printf("\n\n*****暂时还没有任何库存信息,按任意键进入主菜单选择基本信息的录入!*****\n");return(0);while(feof(fp)!=1){ fread(&workers[i],sizeof(struct workers_type),1,fp);if(workers[i].num==0) break;else i++;}fclose(fp);return(i);}/*第二:输出模块*/output_message(){ int i=0,j=0,count,page=1;clrscr();printf("\n\n ----------员工信息表--------- 第%d页\n\n",page); PRINTF2;PRINTF1;do{ if(workers[i].num!=0){ j++;if(j%PAGE!=0){ PRINTF3;PRINTF1;}else{ PRINTF3;PRINTF1;if(workers[i+1].num!=0){ printf("按任意键继续!");bioskey(0);clrscr();printf("\n\n --员工信息表-- 第%d页\n\n",++page);PRINTF2;PRINTF1;}}}i++;}while(workers[i].num!=0);printf("按任意键返回主菜单!");bioskey(0);}/*增加员工信息*/insert_message(){ int i=sum,j,flag=0;char choice;clrscr();printf("\n\n 增加一个新员工\n");printf(" ----------------------------------------------------------------------\n");do{printf("\n 新员工的工作证号:");scanf("%d",&workers[i].num);printf("\n 新员工姓名:");scanf("%s",workers[i].name);printf("\n 新员工性别(男=m,女=f):");fflush(stdin);scanf("%s",workers[i].sex);printf("\n 新员工工龄(yy-mm-dd):");fflush(stdin);scanf("%d-%d-%d",&workers[i].worktime.year, &workers[i].worktime.month, &workers[i].worktime.day);printf("\n 新员工学历:");fflush(stdin);scanf("%s",workers[i].degree);printf("\n 新员工职务:");fflush(stdin);scanf("%s",workers[i].position);printf("\n 新员工电话:");fflush(stdin);scanf("%s",&workers[i].tel);printf("\n 新员工工资:");scanf("%d",&workers[i].salary);i++;sum=i;printf("\n 要继续吗?(Y/N)");choice=getch();if (choice=='y'||choice=='Y'){ printf("\n 继续!\n");flag=1;}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}/*删除员工信息*/del_message(){ int i,k,flag,del_num;char choice;do{ clrscr();printf("\n 输入要删除的员工的工作证号:");scanf("%d",&del_num);for(i=0;i<sum;i++)if(workers[i].num==del_num){ for(k=i;k<sum;k++)workers[k]=workers[k+1];break;}if(i==sum){ printf("\n 该员工不存在");bioskey(0);}printf("\n\n 继续修改吗?(Y/N)");choice=getch();if (choice=='Y'||choice=='y'){ flag=1;printf("\n 继续!\n");}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}/*修改信息*/resive_message(){ int i=0,choice,revise_num,flag;do{ clrscr();printf("\n 输入要修改的员工的工作证号"); scanf("%d",&revise_num);for(i=0;i<sum;i++)if(workers[i].num==revise_num){ printf("\n --员工信息--\n");PRINTF1;PRINTF2;PRINTF3;printf("\n 您要修改哪一项?\n");printf("\n 1.工作证号\n");printf("\n 2.姓名\n");printf("\n 3.性别\n");printf("\n 4.工龄\n");printf("\n 5.学历\n");printf("\n 6.职务\n");printf("\n 7.电话\n");printf("\n 8.工资\n");printf("\n 请输入(1-8):"); scanf("%d",&choice);switch(choice){ case 1: printf("\n 输入修改后的工作证号:");scanf("%d",&workers[i].num);break;case 2: printf("\n 输入修改后的姓名:");scanf("%s",workers[i].name);break;case 3: printf("\n 输入修改后的性别:");scanf("%s",workers[i].sex);break;case 4: printf("\n 输入修改后的工龄(yy-mm-dd):");scanf("%d-%d-%d",&workers[i].worktime.year, &workers[i].worktime.month, &workers[i].worktime.day);break;case 5: printf("\n 输入修改后的学历:");scanf("%s",workers[i].degree);break;case 6: printf("\n 输入修改后的职务:");scanf("%s",workers[i].position);break;case 7: printf("\n 输入修改后的电话:");scanf("%s",&workers[i].tel);break;case 8: printf("\n 输入修改后的工资:");scanf("%d",&workers[i].salary);break;}PRINTF1;PRINTF2;PRINTF3;break;}if(i==sum){ printf("\n 该员工不存在");bioskey(0);}printf("\n\n 继续修改吗?(Y/N)");choice=getch();if (choice=='Y'||choice=='y'){ flag=1;printf("\n 继续!\n");}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}/*第三:更新模块*/renew_message(){ int choice;do{ clrscr();printf("\n\n\n **********更新员工信息*********\n\n"); printf(" 1.添加员工信息\n\n");printf(" 2.删除员工信息\n\n");printf(" 3.修改员工信息\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3):");scanf("%d",&choice);switch(choice){ case 1: insert_message();break;case 2: del_message();break;case 3: resive_message();break;case 0: break;}}while(choice!=0);}/*按姓名查询*/inquire_name(){ int i,choice,j=0;char inquire_name[10];clrscr();printf("\n 输入要查询的员工姓名:");scanf("%s",inquire_name);for(i=0;i<sum;i++)if(strcmp(workers[i].name,inquire_name)==0&&workers[i].num!=0){ printf("\n --员工信息--\n");PRINTF1;PRINTF2;PRINTF3;}else j++;if(j==sum) printf("\n 该员工不存在!");bioskey(0);}/*按工作证号查询*/inquire_num(){ int i,choice,j=0,inquire_num;clrscr();printf("\n 输入要查询的员工的工作证号:"); scanf("%d",&inquire_num);for(i=0;i<sum;i++)if(workers[i].num==inquire_num&&workers[i].num!=0){ printf("\n --员工信息--\n");PRINTF1;PRINTF2;PRINTF3;}else j++;if(j==sum) printf("\n 该员工不存在!");bioskey(0);}/*按学历查询*/inquire_degree(){ int i,choice,j=0;char inquire_degree[5];clrscr();printf("\n 输入要查询的员工学历:");scanf("%s",inquire_degree);for(i=0;i<sum;i++)if(strcmp(workers[i].degree,inquire_degree)==0&&workers[i].num!=0){ printf("\n --员工信息--\n");PRINTF1;PRINTF2;PRINTF3;}else j++;if(j==sum) printf("\n 该员工不存在!");bioskey(0);}/*第四:查询模块*/inquire_message(){ int choice;do{ clrscr();printf("\n\n\n ******查询员工信息******\n\n");printf(" 1.按员工姓名查询\n\n");printf(" 2.按员工的工作证号查询\n\n");printf(" 3.按员工的学历查询\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3):");scanf("%d",&choice);switch(choice){ case 1:inquire_name();break;case 2:inquire_num();break;case 3:inquire_degree();break;case 0:break;}}while(choice!=0);}/*工作证号排行*/sort_num(){ struct workers_type *p, *q[MAX];int i,j,k;clrscr();printf("\n 工作证号排行\n");printf("---------------------------------------------------------------------\n");printf("排行\t工作号\t姓名\t性别\t学历\t职务\t电话\t工资\n");p=workers;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i<i++){ k=i;for(j=i+1;j<sum;j++)if(q[k]->num>q[j]->num) k=j;if(k!=i){ p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i++)printf("\n%d\t%d\t%s\t%s\t%s\t%s\t%s\t%d\n",i+1,q[i]->num,q[i]->name,q[i]->sex,q[i]->degree, q[i]->position,q[i]->tel,q[i]->salary);bioskey(0);}/*工资排行*/sort_salary(){ struct workers_type *p, *q[MAX];int i,j,k;clrscr();printf("\n --工资排行--\n");printf("--------------------------------------------------------------\n");printf("排行\t工作号\t姓名\t性别\t学历\t职务\t电话\t工资\n");p=workers;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i<i++){ k=i;for(j=i+1;j<sum;j++)if(q[k]->salary<q[j]->salary) k=j;if(k!=i){ p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i++)printf("\n%d\t%d\t%s\t%s\t%s\t%s\t%s\t%d\n",i+1,q[i]->num,q[i]->name,q[i]->sex,q[i]->degree, q[i]->position,q[i]->tel,q[i]->salary);bioskey(0);}/*第五:排序模块*/sort_message(){ int choice;do{ clrscr();printf("\n\n\n **********员工排行信息**********\n\n");printf(" 1.工作证号排行\n\n");printf(" 2.工资排行\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-2):");scanf("%d", &choice);switch(choice){ case 1: sort_num();break;case 2: sort_salary();break;case 0: break;}}while(choice!=0);}/*学历统计*/count_degree(){ int i,choice,j=0;char count_degree[5];clrscr();printf(" 输入要统计的员工学历:\n"); scanf("%s",&count_degree);for(i=0;i<sum;i++)if(strcmp(count_degree,workers[i].degree)==0&&workers[i].num!=0)j++;if(j==0) printf("\n 没有相关信息!");else printf("\n 要统计的员工总数%d",j);bioskey(0);}/*性别统计*/count_sex(){ int i,choice,j=0;char count_sex[2];clrscr();printf(" 输入要统计的员工性别\n:");scanf("%s",&count_sex);for(i=0;i<sum;i++)if(strcmp(count_sex,workers[i].sex)==0&&workers[i].num!=0)j++; printf("\n 要统计的员工总数%d",j);if(j==0) printf("\n 没有相关信息!");elsebioskey(0);}/*第六:统计模块*/count_message(){ int choice;do{ clrscr();printf("\n\n\n **********统计员工信息**********\n\n"); printf(" 1.统计员工学历\n\n");printf(" 2.统计员工性别\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-2):");scanf("%d",&choice);switch(choice){ case 1: count_degree();break;case 2: count_sex();break;case 0: break;}}while(choice!=0);}/*修改密码*/void resive_password(){int flag; char ch[10],ch1[10];FILE *fp;clrscr(); fp=fopen("password","rb"); fgets(ch1,7,fp); fclose(fp);printf("\n\n\n\n\t 请输入六位数旧密码:");scanf("%s",ch);if(strcmp(ch,ch1)==0){ flag=1; fp=fopen("password","wb");printf("\n 请输入六位数新密码:");scanf("%s",ch);fputs(ch,fp);fclose(fp);}else flag=0;switch(flag){ case 0:printf("\n 原密码不正确");getch();break;case 1:printf("\n 密码修改成功");getch();}}/*第七:密码模块*/password(){int flag;char ch[10];FILE *fp; char ch1[10]="000000";clrscr();if((fp=fopen("password","rb"))==NULL){ fp=fopen("password","wb");fputs(ch1,fp);fclose(fp); }else {fgets(ch1,7,fp);fclose(fp);}printf("\n\n\n\n\t 请输入六位数密码:");gets(ch);if(strcmp(ch,ch1)==0)flag=1;else flag=0;switch(flag){ case 0:printf("\n\n\t 密码不正确\n");password();case 1:printf("\n\n\t 密码正确\n");}}/*第八:说明模块*/introduce_message(){ clrscr();printf("\n\n\n *1. 为使系统正常运行请按系统提示输入\n\n");printf("\n\n\n *2 .若使用中存在问题请联系我们,谢谢使用本系统\n"); printf("\n\n\n\n\n\n\n\n 制作人:韩承玺\n");printf("\n q q : 755528319\n"); getch();}/*主程序*/main(){int choice;sum=read_message();printf("\n\n\n\n*********************************************************\n");printf(" ******************** 欢迎进入********************\n");printf(" ****************西安创天集团员工信息管理系统*************\n");printf(" ** **\n");printf(" ** **\n");printf(" ** **\n");printf(" ** **\n");printf(" ** **\n");printf(" ** **\n");printf(" ** **\n");printf(" ** **\n");printf(" ** 请按任意健进入**\n");printf(" ** **\n");printf(" ** **\n");printf("*********************************************************\n");bioskey(0);clrscr();password();do{ clrscr();printf("\n\n ^****************员工信息管理系统*****************^\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(" ^* * 7.修改系统密码*^\n");printf(" ^* *^\n");printf(" ^* * 8.关于本系统*^\n");printf(" ^* *^\n");printf(" ^* * 0.退出员工信息管理系统*^\n");printf(" ^* *^\n");printf(" ^* 请选择(0-8): *^\n");printf("^********************************************************^\n");scanf("%d",&choice);switch(choice){case 1:input_message();break;case 2:output_message();break;case 3:renew_message();break;case 4:inquire_message();break;case 5:count_message();break;case 6:sort_message();break;case 7:resive_password();break;case 8:introduce_message();break;case 0:break;}}while(choice!=0);save_message(sum);printf("\n-以上员工信息已保存!-(文件名:worker information.txt)\n");}。

相关文档
最新文档