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

c语言课程设计职工信息管理系统一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握基本数据类型、运算符、控制语句的使用;2. 学会使用C语言进行模块化编程,了解函数的定义、调用和参数传递;3. 了解结构体类型及其应用,掌握结构体数组的创建和使用;4. 理解文件操作的基本概念,掌握文件的读写方法。
技能目标:1. 能够运用C语言设计并实现一个职工信息管理系统,具备基本的编程能力;2. 能够运用结构体和文件操作,实现数据的存储和读取;3. 能够通过模块化编程,提高代码的可读性和可维护性;4. 学会使用调试工具,分析和解决程序中的错误。
情感态度价值观目标:1. 培养学生主动探究、积极思考的学习态度,增强解决问题的信心和兴趣;2. 培养学生的团队合作意识,学会与他人共同分析和解决问题;3. 通过编程实践,使学生认识到计算机编程在现实生活中的应用价值,激发学习计算机科学的兴趣。
本课程针对高年级学生,他们已具备一定的编程基础,能理解较为复杂的概念。
课程性质为实践性较强的学科,要求学生通过动手实践,将理论知识应用于实际项目中。
课程目标旨在培养学生具备独立设计、编程和调试程序的能力,提高学生的编程水平和实际问题解决能力。
通过本章节学习,学生将能够掌握C语言在实际项目中的应用,为后续深入学习计算机科学奠定基础。
二、教学内容1. C语言基本语法与结构复习:回顾数据类型、变量、常量、运算符、控制语句(包括循环和分支)等基本概念,巩固学生的语法基础。
相关教材章节:第一章至第四章2. 函数与模块化编程:介绍函数的定义、声明、调用,参数传递,以及模块化编程思想。
相关教材章节:第五章3. 结构体与结构体数组:讲解结构体的定义和使用,结构体数组的创建和管理。
相关教材章节:第六章4. 文件操作:阐述文件的概念,文件的打开、读写、关闭等基本操作。
相关教材章节:第十章5. 职工信息管理系统设计:a. 需求分析:明确系统功能,包括职工信息的增加、删除、修改和查询等。
C语言课程设计职工信息管理系统

C语言课程设计职工信息管理系统标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]课程设计报告课程名称 C语言程序设计课题名称职工信息管理系统专业通信工程班级 1402班学号姓名熊舒炼指导教师罗雅博2015年 7月 3 日目录一、总体设计方案 (2)二、课程设计目的与要求 (3)设计目的 (3)设计要求 (3)三、使用说明及运用实例 (3)四、项目源程序代码 (8)五、设计心得与总结 (23)六、参考文献 (24)总体设计方案(一)、系统总体流程图(二)、为了方便使用,此系统结构均为全局类型定义struct employee单模块:显示职工管理系统的主菜单,供用户选择所需功能,通过自己定义的void menu()函数实现。
2.输入模块:输入职工的工号、姓名及其他的一些职工信息,通过自己定义的void input()函数实现。
3.保存模块:将内存中职工信息输出到磁盘文件中,通过自己定义的void save(int)函数实现。
4.浏览模块:浏览所有职工的信息,通过自己定义的void display()函数实现。
5.删除模块:删除需要删除的职工所有信息,通过自己定义的void del()函数实现。
6.查询模块:a.按职工号查询职工相关信息,通过自己定义的void search-num()函数实现。
b.按职工学历查询相关职工信息,通过自己定义的void search-xueli()函数实现。
c.按职工电话号码查询相关职工信息,通过自己定义的void search-tel()函数实现。
7.修改模块:可以修改需要修改的职工信息,通过自己定义的void modify()函数实现。
8.退出系统模块:推出职工信息管理系统,通过头文件中的中的exit(0)函数实现。
课程设计的目的与要求一、课程设计目的《C语言程序设计》是通信工程专业重要的基础课,通过本课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。
C语言课程设计职工信息管理系统源程序

系统管理:包 括用户管理、 权限管理、系
统设置等
系统开发背景
企业信息化需求:提高工作效率,降低管理成本 技术发展:云计算、大数据等技术的成熟 市场竞争:提高企业竞争力,满足客户需求 企业内部管理:优化人力资源管理,提高员工满意度
系统目标
提高工作效率
简化工作流程
提高数据准确性
加强信息安全管理
Part Five
系统实现
数据库连接实现
连接方式:使用JDBC(Java Database Connectivity)进行 数据库连接
连接参数:包括数据库地址、用户 名、密码等
添加标题
添加标题
添加标题
添加标题
数据库类型:支持MySQL、 Oracle、SQL Server等多种数据 库
连接过程:通过JDBC驱动程序建 立与数据库的连接,执行SQL语句 进行数据操作
数据需求分析
员工信息:包括姓名、性别、年龄、职位、部门等信息 考勤信息:包括上下班时间、请假、加班等信息
薪资信息:包括基本工资、绩效工资、奖金等信息 培训信息:包括培训课程、培训时间、培训效果等信息
绩效评估信息:包括绩效考核标准、绩效考核结果等信息 系统管理信息:包括用户管理、权限管理、系统日志等信
息
性能需求分析
系统响应时间:要求系统响应时间不超过3秒 数据处理速度:要求系统数据处理速度不低于每秒1000条记录 系统稳定性:要求系统在连续运行72小时后,仍能保持稳定运行 系统安全性:要求系统具备防病毒、防黑客等安全措施,确保数据安全
Part Four
系统设计
系统架构设计
架构设计原则:高 内聚、低耦合、可 扩展、可维护
系统维护
定期备份数据:确保数据安全,防止数据丢失 定期更新系统:确保系统安全,防止病毒攻击 定期检查硬件:确保硬件正常运行,防止硬件故障 定期培训员工:确保员工熟练掌握系统操作,提高工作效率
c语言课程设计职工信息管理系统

c语言课程设计职工信息管理系统一、教学目标本课程的教学目标是使学生掌握C语言职工信息管理系统的基本概念、设计和实现方法。
通过本课程的学习,学生应能理解职工信息管理系统的需求分析、系统设计、编码实现和测试评估等环节,掌握C语言编程的基本技能,并培养解决实际问题的能力。
具体来说,知识目标包括:掌握职工信息管理系统的功能模块及其相互关系;理解C语言的数据类型、运算符、控制结构、函数等基本语法;了解软件工程的基本原理和方法。
技能目标包括:能够使用C语言独立完成职工信息管理系统的设计和实现;具备基本的调试和优化代码的能力;能够进行团队合作,合理分工,共同完成项目。
情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情,提高他们对编程学习的自信心;培养学生具备良好的编程习惯和团队协作精神,增强他们的责任感和使命感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.职工信息管理系统的基本概念和架构:介绍职工信息管理系统的功能模块,如职工信息录入、查询、修改和删除等,以及各模块之间的关系。
2.C语言基础知识:讲解C语言的数据类型、运算符、控制结构、函数等基本语法。
3.软件工程方法:介绍需求分析、系统设计、编码实现、测试评估等软件工程基本原理和方法。
4.职工信息管理系统的实现:通过实际编码,讲解如何使用C语言实现职工信息管理系统的各个功能模块。
5.调试与优化:教授如何使用调试工具对代码进行调试,以及如何对代码进行优化,提高系统性能。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法和职工信息管理系统的设计原理。
2.案例分析法:分析实际案例,使学生更好地理解职工信息管理系统的实现过程。
3.实验法:安排实验课程,让学生亲自动手编写代码,实现职工信息管理系统。
4.小组讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C语言程序设计》等。
c语言课程设计职工信息管理系统

c语言课程设计职工信息管理系统一、教学目标本节课的教学目标是使学生掌握C语言编程的基本技能,能够使用C语言设计一个简单的职工信息管理系统。
具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构等基本知识。
2.技能目标:使学生能够使用C语言编写程序,实现对职工信息的增删改查功能。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,使学生认识到计算机编程在实际生活中的重要性。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型。
2.运算符和控制结构。
3.职工信息管理系统的设计与实现。
4.程序调试和优化。
三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符和控制结构。
2.案例分析法:通过分析职工信息管理系统的案例,使学生掌握系统设计的方法。
3.实验法:让学生动手编写程序,实现职工信息的管理。
4.讨论法:分组讨论,引导学生思考如何优化程序。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C语言编程实践》。
3.多媒体资料:讲解C语言语法和程序设计的视频教程。
4.实验设备:计算机、编程环境。
5.在线编程平台:用于学生在线编写和调试程序。
五、教学评估本节课的教学评估将采取多元化评价方式,全面公正地评价学生的学习成果。
评估方式包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。
2.作业:布置相关的编程作业,评估学生的编程能力和对知识的掌握程度。
3.考试:安排一次课程结束考试,测试学生对C语言和职工信息管理系统设计的全面理解。
4.项目展示:学生分组设计并展示自己的职工信息管理系统,评估学生的实际操作能力和团队协作能力。
评估标准将根据课程目标和教学内容制定,确保评估的客观性和公正性。
六、教学安排本节课的教学安排将根据课程目标和学生的实际情况进行设计,确保在有限的时间内达到最佳教学效果。
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语言职工信息管理系统课程设计一、课程目标知识目标:1. 理解C语言中数组、结构体和文件操作的基本概念;2. 学会使用C语言编写职工信息管理系统的基本功能,如增加、删除、修改和查询职工信息;3. 掌握利用C语言进行简单的数据处理和分析。
技能目标:1. 能够运用结构体数组管理职工信息;2. 独立编写代码实现职工信息的增加、删除、修改和查询功能;3. 学会使用文件操作将职工信息存储到文件中,并从文件中读取数据;4. 通过编程实践,培养解决问题的能力和逻辑思维能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养良好的编程习惯;2. 培养学生的团队协作意识和沟通能力,通过分组讨论和实践,共同完成职工信息管理系统的开发;3. 强化学生的责任感和使命感,认识到信息技术在现实生活中的应用和价值。
课程性质:本课程为实践性较强的课程,结合课本知识,让学生通过实际操作,掌握C语言编程的基本方法和技巧。
学生特点:学生已具备一定的C语言基础,熟悉基本语法和简单程序设计,但缺乏实际项目经验。
教学要求:注重理论与实践相结合,引导学生通过动手实践,提高编程能力和解决问题的能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 理论知识:- 复习C语言基础:数据类型、运算符、控制语句等;- 数组与字符串:数组的使用,字符串操作;- 结构体:定义结构体,结构体数组,结构体指针;- 文件操作:文件的打开、关闭、读写,以及文件存储职工信息。
2. 实践操作:- 设计职工信息结构体,创建职工信息数组;- 编写增加、删除、修改和查询职工信息的功能函数;- 利用文件操作存储和读取职工信息;- 集成职工信息管理系统,实现用户界面。
3. 教学大纲:- 第一周:复习C语言基础知识,讲解数组与字符串;- 第二周:学习结构体,设计职工信息结构体;- 第三周:文件操作学习,实现职工信息的存储与读取;- 第四周:编写职工信息管理系统的功能函数;- 第五周:集成系统,测试与优化。
C语言课程设计-职工信息管理系统

#include<stdio。
h〉#include〈string〉using namespace std;int sum;struct people{char WorkName[10];char Name[15];char sex[7];char birthday[15];char study[13];char career[9];char income[5];char address[15];char phone[15];}people[10];void PrintEqual(){printf("************************************\n");}void DelDate(int DelNum){int i;for(i=DelNum;i<sum;i++){people[i]=people[i+1];}sum——;}void addEdit(int isEdit,int EditNum){int i;PrintEqual();if (isEdit==0){i=sum;}else if(isEdit==1){i=EditNum;sum--;}printf(”请输入工号姓名性别出生年月学历职务工资住址电话\n”);scanf("%s%s%s%s%s%s%s%s%s",&people[i]。
WorkName,&people[i]。
Name,&people[i]。
sex,&people[i].birthday,&people[i].study,&people[i]。
career,&people [i].income,&people[i].address,&people[i].phone);sum++;PrintEqual();}void ShowItem(int isAll,char Name[15]){int i;PrintEqual();if (sum==0){printf(”没有数据\n");return;}for(i=0;i<sum;i++){if(isAll==1){printf("%d,%s,%s,%s,%s,%s,%s,%s,%s,%s\n”,i,people[i].WorkName,people [i].Name,people[i]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程名称C语言程序设计课题名称职工信息管理系统专业通信工程班级1402班学号姓名熊舒炼指导教师罗雅博2015年7月3 日目录一、总体设计方案 (2)二、课程设计目的与要求 (3)2.1 设计目的 (3)2.2 设计要求 (3)三、使用说明及运用实例 (3)四、项目源程序代码 (8)五、设计心得与总结 (23)六、参考文献 (24)总体设计方案(一)、系统总体流程图(二)、为了方便使用,此系统结构均为全局类型定义struct employee//定义一个职工信息的结构体{char num[20];char name[20];char sex;char age[20];char xueli[30];int wage;char addr[30];char post[20];long int tel;}em[100];(三)、各模块的功能与实现1.菜单模块:显示职工管理系统的主菜单,供用户选择所需功能,通过自己定义的void menu()函数实现。
2.输入模块:输入职工的工号、姓名及其他的一些职工信息,通过自己定义的void input()函数实现。
3.保存模块:将内存中职工信息输出到磁盘文件中,通过自己定义的void save(int)函数实现。
4.浏览模块:浏览所有职工的信息,通过自己定义的void display()函数实现。
5.删除模块:删除需要删除的职工所有信息,通过自己定义的void del()函数实现。
6.查询模块:a.按职工号查询职工相关信息,通过自己定义的void search-num()函数实现。
b.按职工学历查询相关职工信息,通过自己定义的void search-xueli()函数实现。
c.按职工电话号码查询相关职工信息,通过自己定义的void search-tel()函数实现。
7.修改模块:可以修改需要修改的职工信息,通过自己定义的void modify()函数实现。
8.退出系统模块:推出职工信息管理系统,通过头文件中的windows.h中的exit(0)函数实现。
课程设计的目的与要求一、课程设计目的《C语言程序设计》是通信工程专业重要的基础课,通过本课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。
二、课程设计要求职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。
系统以菜单方式工作;能录入职工信息并保存;显示所有职工信息(以一定的格式);查询职工信息(以一种或多种方式);修改职工信息并保存;删除职工信息。
所有信息保存在文件中(每次使用,上次保存的信息能从文件中读取)。
使用说明及运用实例1.运行程序,进入职工管理系统的主菜单:图12.输入数字“1”进行录入职工信息:图23.输入“y”返回住主菜单(界面同图1)4.输入“2”浏览职工信息:5.输入“y”后继续,输入“3”查询职工信息:图46.进入主菜单,输入“4”进行删除职工信息:图57.进入主菜单输入“5”进行修改职工信息图68.进入主菜单输入“6”退出职工信息管理系统四、项目程序源代码#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 100struct employee{char num[20];char name[20];char sex;char age[20];char xueli[30];int wage;char addr[30];char post[20];long int tel;}em[100]; /*定义一个结构体*/void menu();void input();void save(int);void sav(int);void display();void del();void search();void search_num();void search_xueli();void search_tel();void modify(); /*定义各函数*/void menu() /*菜单函数*/{printf("\n");printf("\n");printf(" ******************职工信息管理****************\n");printf(" 1.录入职工信息");printf(" 2.浏览职工信息\n");printf(" 3.查询职工信息");printf(" 4.删除职工信息\n");printf(" 5.修改职工信息");printf(" 6.退出\n");printf(" ********************谢谢使用******************\n");printf("\n");printf("\n");}void main(){int n,flag;char a;menu(); /*调用菜单函数*/do{printf("请选择你需要操作的步骤(1--6):\n");scanf("%d",&n);if(n>=1&&n<=6){flag=1;break;}else{flag=0;printf("您输入有误,请重新选择!");}}while(flag==0);while(flag==1){switch(n){case 1:printf(" ****输入职工信息****\n");printf("\n");input();break;case 2:printf(" ****浏览职工信息****\n");printf("\n");display();break;case 3:printf(" ****按职工号查询职工信息****\n");printf("\n");search();break;case 4:printf(" ****删除职工信息****\n");printf("\n");del();break;case 5:printf(" ****修改职工信息****\n");printf("\n");modify();break;case 6:exit(0);break;default :break;}getchar();printf("\n");printf("是否继续进行(y or n):\n");scanf("%c",&a);if(a=='y'){flag=1;system("cls"); /*清屏*/menu(); /*调用菜单函数*/printf("请再次选择你需要操作的步骤(1--6):\n");scanf("%d",&n);printf("\n");}elseexit(0);}}void sav(int m) /*保存文件函数*/{int i;FILE*fp;if ((fp=fopen("employee_list","wb"))==NULL) /*创建文件并判断是否能打开*/{printf ("cannot open file\n");exit(0);}for (i=0;i<m;i++) /*将内存中职工的信息输出到磁盘文件中去*/if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)printf("file write error\n");fclose(fp);}void save(int m) /*保存文件函数*/{int i;FILE*fp;if ((fp=fopen("employee_list.txt","w"))==NULL) /*创建文本文件要用的模式*/{printf ("cannot open file\n");exit(0);}for (i=0;i<m;i++) /*内存职工信息输磁盘文件*/{fprintf(fp,"\n %s %s %c %s %s %d %s %ld\n",em[i].num,em[i].na me,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel); //每员工信息写行间用空格隔}fclose(fp);}void input() /*录入函数*/{int i,m;printf("请输入需要创建信息的职工人数(1--100):\n");scanf("%d",&m);for (i=0;i<m;i++){printf("职工号:");scanf("%s",em[i].num);printf("\n");printf("请输入姓名: ");scanf("%s",em[i].name);getchar();printf("请输入性别(f--女m--男): ");scanf("%c",&em[i].sex);printf("请输入出生年月: ");scanf("%s",em[i].age);printf("请输入学历: ");scanf("%s",em[i].xueli);printf("请输入工资: ");scanf("%d",&em[i].wage);printf("请输入住址: ");scanf("%s",em[i].addr);printf("请输入电话: ");scanf("%d",&em[i].tel);printf("请输入职务: ");scanf("%s",&em[i].post);printf("\n");}printf("\n创建完毕!\n");save(m);sav(m);}int load() /*导入函数*/{FILE*fp;int i=0;if((fp=fopen("employee_list","rb"))==NULL){printf ("cannot open file\n");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 职工号姓名性别出生年月学历工资住址电话\n");for(i=0;i<m;i++) /*m为输入部分的职工人数*/printf("\n %s %s %c %s %s %d %s %ld\n",em[i].num,em[i].name, em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);}void del() /*删除函数*/{int m=load();int i,j,n,t,flag;char name[20];printf("\n 原来的职工信息:\n");display(); /* 调用浏览函数*/printf("\n");printf("请输入要删除的职工的姓名:\n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i++){if(strcmp(em[i].name,name)==0)printf("\n已找到此人,原始记录为:\n");printf("\n职工号\t姓名\t性别\t出生年月\t学历\t工资\t住址\t电话\n"); printf("\n%s\t%s\t%c\t%s\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].addr,em[i].tel);printf("\n确实要删除此人信息请按1,不删除请按0\n");scanf("%d",&n);if(n==1) /*如果删除,则其他的信息都往上移一行*/{for(j=i;j<m-1;j++){strcpy(em[j].name,em[j+1].name);strcpy(em[j].num,em[j+1].num);em[j].sex=em[j+1].sex;strcpy(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);em[j].tel=em[j+1].tel;}flag=0;}}}if(!flag)m=m-1;elseprintf("\n对不起,查无此人!\n");printf("\n 浏览删除后的所有职工信息:\n");save(m);/*调用保存函数*/sav(m);display(); /*调用浏览函数*/printf("\n继续删除请按1,不再删除请按0\n");scanf("%d",&t);switch(t){case 1:del();break;case 0:break;default :break;}}void search()/*查询函数*/{int t,flag;{printf("\n按职工号查询请按1 ; 按学历查询请按2 ; 按电话号码查询请按3,进入主函数按4\n");scanf("%d",&t);if(t>=1&&t<=4){flag=1;break;}else{flag=0;printf("您输入有误,请重新选择!");}}while(flag==0);while(flag==1){switch(t){case 1:printf("按职工号查询\n");search_num();break;case 2:printf("按学历查询\n");search_xueli();break;case 3:printf("按电话号码查询\n");search_tel();break;case 4:main();break;default:break;}}}void search_num(){char num[20];int i,t;int m=load();printf("请输入要查找的职工号:\n");scanf("%s",num);for(i=0;i<m;i++)if (strcpy(em[i-1].num,num)==0){printf("\n已找到此人,其记录为:\n");printf("\n职工号\t姓名\t性别\t出生年月\t学历\t工资\t住址\t电话\n"); printf("\n%s\t%s\t%c\t%s\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].addr,em[i].tel);break;}if(i==m){printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按1,继续查询职工号请按2\n");scanf("%d",&t);}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("%s",xueli);for(i=0;i<m;i++)if(strcmp(em[i].xueli,xueli)==0){printf("\n已找到,其记录为:\n");printf("\n职工号\t姓名\t性别\t出生年月\t学历\t工资\t住址\t电话\n"); printf("\n%s\t%s\t%c\t%s\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].addr,em[i].tel);}if(i==m){printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按1,继续查询学历请按2\n");scanf("%d",&t);}switch(t){case 1:search();break;case 2:break;default :break;}}void search_tel(){long int tel;int i, t;int m=load();printf("请输入要查找的电话号码:\n");scanf("%ld",&tel);for(i=0;i<m;i++)if(tel==em[i].tel){printf("\n已找到此人,其记录为:\n");printf("\n职工号\t姓名\t性别\t出生年月\t学历\t工资\t住址\t电话\n"); printf("\n%s\t%s\t%c\t%s\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].addr,em[i].tel);break;}if(i==m){printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按1,继续查询电话号码请按2\n");scanf("%d",&t);}switch(t){case 1:search();break;case 2:break;default :break;}}void modify() /*修改函数*/{char num[20];char name[10];char sex;char age[20];char xueli[30];int wage;char addr[30];long int tel;int b,c,i,n,t,flag;int m=load(); /*导入文件内的信息*/printf("\n 原来的职工信息:\n");display(); /* 调用浏览函数*/printf("\n");printf("请输入要修改的职工的姓名:\n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i++){if(strcmp(em[i].name,name)==0){printf("\n已找到此人,原始记录为:\n");printf("\n职工号\t姓名\t性别\t出生年月\t学历\t工资\t住址\t电话\n"); printf("\n%s\t%s\t%c\t%s\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].addr,em[i].tel);printf("\n确实要修改此人信息请按1 ; 不修改请按0\n");scanf("%d",&n);if(n==1){printf("\n需要进行修改的选项\n 1.职工号2.姓名3.性别4.出生年月5.学历6.工资7.住址8.电话\n");printf("请输入你想修改的那一项序号:\n");scanf("%d",&c);if(c>8||c<1)printf("\n选择错误,请重新选择!\n");}flag=0;}}if(flag==1){printf("\n对不起,查无此人!\n");}do{switch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/{case 1:printf("职工号改为: ");scanf("%s",num);strcpy(em[i-1].num,num);break;case 2:printf("姓名改为: ");scanf("%s",name);strcpy(em[i-1].name,name);break;case 3:printf("性别改为: ");getchar();scanf("%c",&sex);em[i-1].sex=sex;break;case 4:printf("出生年月改为: ");scanf("%s",age);strcpy(em[i-1].age,age);break;case 5:printf("学历改为: ");scanf("%s",xueli);strcpy(em[i-1].xueli,xueli);break;case 6:printf("工资改为: ");scanf("%d",&wage);em[i-1].wage=wage;break;case 7:printf("住址改为: ");scanf("%s",addr);strcpy(em[i-1].addr,addr);break;case 8:printf("电话改为: ");scanf("%ld",&tel);em[i-1].tel=tel;break;}printf("\n");printf("\n是否确定所修改的信息?\n 是请按1 ; 不,重新修改请按2: \n");scanf("%d",&b);}while(b==2);printf("\n浏览修改后的所有职工信息:\n");printf("\n");save(m);sav(m);display();printf("\n继续修改请按1,不再修改请按0\n");scanf("%d",&t);switch(t){case 1:modify();break;case 0:break;default :break;}}五、设计计心得与总设结通过这次C语言的课程设计,我明白了很多也知道了很多,更收获了很多。