c语言课程设计___职工信息管理系统
数据结构课程设计-职工管理系统
目录
一、前言—--——--—-——-———-—————-———-——-———-—————---—-——————-—--————————-————————2
二、需求分析—-———-—---—-——————————-———--——-—--——-————-—--——————————---—----—3 三、概要设计—-——-——-—————-———-—-—————————--——-----—--—--————--——-—---—-—————4
四、详细设计—-———-———————--—-—-————-—-—————-—-—-———————-——-——-—-----————-—-—5
五、调试分析————-————————-—————-——-————--—-——-——--——--—--—---—--——---—--—-——6
六、用户使用说明—--——————-————-————-—-—-—-—--—————————-—————-—-———————-——-7 七、测试结果——————-—--—---——--——————--—-———----———--——-—-—-————————---—-———-8
八、总结—-———---—-—--———-———-—--—---——--—————--—-—--—————--————————---—----—-11
九、主要参考文献和附录—--——-——-—-————--——-——-—--———---—————-——-———————12
前言
员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
c语言程序设计__企业员工管理系统
一、课程设计目的
通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。
学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。
为后续各门计算机课程的学习打下坚实基础。
为毕业设计和以后工作打下必要基础。
二、课程设计内容
针对某企业的员工,对其信息进行系统的管理。
三、需求分析
对所开发系统功能、性能的描述,想要实现的目标。
此系统可对该厂员工进行信息的录入,修改,删除,添加,查询,排序,统计,打印等功能。用户可通过提示选择进入某一功能界面,然后进行对员工的信息管理。每一功能模块都充分为用户考虑,编排详细。使用户可以方便快捷的了解员工信息,及时有效的对员工进行信息的管理。四、概要设计
1.系统结构图(功能模块图)
对系统进行分析,给出系统结构图;
分析:此系统,为方便客户输入,以及使程序清晰化,因而本人采用模块法,将每一功能模块化,使程序中各函数间调用更加明了。以下为系统模块图。
页脚内容1
2.功能模块说明
对各个模块进行功能的描述。
录入模块:输入该厂现有员工信息并保存与文件中,方便日后进行排序,更新,统计,打印等操作。
输出模块:将所有员工信息,或所需员工信息输出于屏幕上,用于打印或查询员工信息。
更新模块:此模块又分为删除,添加,修改三个模块。
删除模块:对已退休或离开该厂的员工进行删除操作。
添加模块:添加新入厂的员工信息并保存起来。
修改模块:找到该员工并,选择所要修改的选项。
排序模块:本程序只对员工年龄进行从小到大排序。
C语言实训题及参考答案
main() { system("cls"); menu(); }
#define N 100 struct people { char num[100]; char name[15]; char sex[20]; char age[20]; char xueli[20]; char gongzhi[20]; char address[20]; char telephone[20]; }people[N];
C语言课程设计报告:职工信息管理系统程序设计
1.课程论文题目
职工信息管理系统程序设计
一、题目要求
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路
1、设计思路
(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;
(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;
(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。3.功能模块图
5.算法设计
1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块
【分析】
该模块的功能是浏览职工的全部信息
3排序模块
4查询模块
【分析】
该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。流程图如下:
5修改模块
【分析】
该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。流程图如下:
6.程序代码
#include<stdio.h>
人事管理管理系统—C语言课程设计
人事管理管理系统
[要求]
某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;
(2)查询功能:能根据编号和姓名进行查询;
(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;
(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;
(5)排序功能:按照年龄、来院时间进行排序;
(6)保存功能:能对输入的数据进行相应的存储;
一.需求分析:
根据题目要求,人事信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将RS定为100,也即最多可储存的职工人数为100;
二总体设计:
根据以上需求分析,将程序分成以下几个模块:
1浏览:
****浏览文件(0)
2 删除
****删除记录(1)
3查询
****按名称查询(2)
****按编号查询(3)
职工信息管理系统设计
课程设计(论文)
题目名称职工信息管理系统设计
课程名称C语言程序课程设计
学生姓名曾文静
学号1141304067
系、专业信息工程系、电子
指导教师邓波
2012年6月2 日
邵阳学院课程设计(论文)任务书
注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;
2.此表1式3份,学生、指导教师、教研室各1份。
指导教师(签字):学生(签字):
目录
1课程设计的目的与要求...。。..。。。...。。。.。.。。。..。.。.。。.。。. (6)
1.1目的.。.。。.。。.。。。。..。..。.。.。。。。..。。..。。。..。。.。.。.。。.。。6
1。2要求..。。..。。.。。。..........。...。。..。。。。...。。。.。.。。。..。6
2课程论文题目。.。...。。.....。.。..。。。...。....。。.。..。。。。。。。..。7
3程序设计思路。。。..。。。。。。。。。。。.。.。.。。.。..。。.。.。.....。。。.。.7 4功能模块图。。.。.。.。。.。。。.。.。。..。。。.。。..。.。。。.。.。...。.。..。.8 5算法设计 .。.。。。..。....。。.。.。。......。。.。。.。...。。。...。..。。。8
5。1功能模块选择.......。...。...。...。..。。。。...。..。。。.。.。..8 5.2浏览模块..。。。.。。..。。...。。.。.。....。。。。。。。。..。..。..。。.。9
C语言课程设计题目及要求(附参考案例)
课程设计要求
一、选题
1、每个题目每班最多有1组选择,人数2-3人,不得超过这个数目,超过的由各班班长进行调整。
2、选定题目后不能随意更改
二、课程设计过程注意事项
1、按题目要求进行设计,必须完成规定的基本功能,多增加的功能可以获得加分。
2、文件的具体上传方法上机实验时再另行通知。
3、最后上交容:课程设计报告书、源程序和运行结果截图。
三、课程设计题目
题目一:职工信息管理系统设计
职工信息包括职工号、、性别、年龄、学历、工资、住址、等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、职工信息录入功能(职工信息用文件保存)--输入
3、职工信息浏览功能--输出
4、职工信息查询功能--算法
查询方式
按学历查询等
按职工号查询等
5、职工信息删除、修改功能
题目二:图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、图书信息录入功能(图书信息用文件保存)--输入
3、图书信息浏览功能--输出
4、图书信息查询功能--算法
查询方式
按书名查询
按作者名查询
5、图书信息的删除与修改(可选项)
题目三:图书管理系统设计
图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人、性别、学号等功能描述
1、新进图书基本信息的输入。
2、图书基本信息的查询。
3、对撤消图书信息的删除。
4、为借书人办理注册。
5、办理借书手续。
6、办理还书手续
要求:使用二进制文件方式存储数据,系统以菜单方式工作
C语言职工信息管理系统课程设计
湖北医药学院
信息管理与信息系统专业《C程序设计》课程设计报告
题目:职工信息管理系统
班级:
学号:
姓名:
成绩:
前言
在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C 程序开发的全过程。本任务是根据给定的数据和程序,应用单向链表处理一个小班学生的信息。通过整个程序开发的过程,提高综合应用C 语言的能力、编程和调试能力,为学习软件专业课程创建较扎实的理论基础和实践基础。
一、系统功能和原始数据
1、系统功能
A. 建立学生信息表,录入10名学生的信息,并将结果保存在文件student1.txt 中
B. 显示所有学生信息
C. 给定某学生的学号,删除该学生的信息
D. 添加一名学生的信息,将其插入到相应位置,使整个学生信息表按学号有序
E. 给定某学生的学号,修改该学生的信息
F. 按姓名查询学生信息
G. 按入学成绩对学生的信息进行排序
H. 计算并显示学生入学平均成绩,显示入学成绩最高分和最低分的学生信息 I. 将最后的学生信息存入文件student2.txt 中 说明:
1. 学生信息数据项:学号、姓名、性别、年龄、院系、入学成绩
2. 录入学生信息时按学号由小到大的顺序录入
3. 系统功能使用结构数组和单向链表两种方法实现
输出记录模块
工资管理系统
输入记录模块
查询记录模块更新记录模块统计记录模块键盘出入
文件读入按姓名查询
显示所有信息
删除记录修改记录排序模块插入记录统计员工数和工资
输出到屏幕
输出到文件
工资管理系统功能模块图
2.原始数据
3.数据结构
本程序定义了结构体emplyee,用于存放职工的基本信息和工资信息。
(整理)C语言程序设计-职工信息管理系统.
C语言课程设计报告职工信息管理系统设计
班级:0346502
姓名:杨鸣
学号:20081003456
指导老师:谷老师
职工信息管理系统
一、题目要求
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
二、具体要求
1、输入功能:职工信息录入(职工信息用文件保存),可以一次完成
若干条记录的输入。
2、浏览功能:完成对全部职工信息的显示。
3、查找功能:①完成按职工的职工号查询职工的相关信息,并显示。
②完成按职工的学历查询职工的相关信息,并显示。
4、删除功能:通过输入职工的姓名完成对该名职工的信息进行删除。
5、修改功能:通过输入职工的姓名完成对该名职工的信息进行修改。
6、退出职工信息管理系统。
三、解决方案
1、首先进行需求分析,搞清楚系统功能和任务;
2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;
3、在详细设计中,为每个模块确定采用的算法,选择适当的流程图来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;
4、根据分析编写C语言代码。
四、写课程设计总结
课程设计报告要求
C语言课程设计方案题目-
C语言课程设计上机实习内容
选题一:学生信息管理系统设计:简单的学生成绩管理程序设计一、程序设计功能及要求:
1、原始数据输入和结果输出要求使用文件存放;
2、计算每个学生三门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件。
3、统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件。
4、按格式在屏幕上打印每名学生成绩条;
5、在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩;
6、(选做)在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:
1) 平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;
2) 名次在前三名
3) 每门功课及格以上;
(若完成选做题,课程设计成绩将给予加分)
二、文件格式
1、原始数据文件格式(具体数据自行编写)
学号姓名英语C语言高等数学
1 张三76 89 78
2 李四…. …. ….
2、输出数据文件(由程序自动生成)1)学生综合成绩文件。(由程序自动生成)学号姓名英语C语言高等数学平均成绩名次
1 张三76 89 78 80.5 5
2 李四…. …. ….
3 …. 2)统计结果文件。
分数段英语C语言高等数学
<60 2 …
60~69 8 …
70~79 5 …
80~89 10 …
>=90 2 …
平均成绩75.5 …
选题二:学生信息管理系统设计
采用结构体数组或文件形式存储每本个学生信息,包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。采用结构体数组或文件形式存储学生的信息,(测试数据不少10个人,可以本班同学的具体数据为背景)
(完整word版)C语言课程设计人事管理系统
选择1:
选择2:选择3:
选择6:选择4:
选择9:
.设计中遇到的问题及解决过程
在向文件中添加数据的时候,要在打开文件的时候指定正确的文件操作方式,一开始指定文件
基于c++语言的职工工资管理系统实验报告完整版
课程设计
设计题目职工工资管理系统学生姓名
学号
班级
指导教师
目录
一、前言 (1)
二、课题要求、课题分析 (1)
(一)课题要求 (1)
(二)课题分析 (1)
三、方案设定 (2)
四、程序功能描述与模块结构 (2)
(一)程序功能描述 (2)
(二)功能模块 (2)
(三)程序流程图 (3)
四、用户使用说明 (6)
五、测试结果 (7)
六﹑程序经验教训总结 (12)
七﹑附录 (13)
一、前言
C++语言是具有面向对象特性的C语言的继承者,即是由C语言演变而来,全面兼容C语言。C语言的优点,如语言简洁灵活,运算符和数据结构丰富,具有结构化控制语句,程序执行效率高,同时具有高级语言与汇编语言的优点,这些在C++语言中同样能够体现出来。但是C++语言最有意义的方面是支持面向对象的程序设计,在数据类型、算法的控制结构、函数等方面都有很好的体现。面向对象编程中,对象是程序设计的基本单位,但对象的静态属性往往需要用某种类型的数据来表示,对象的动态属性要由成员函数来实现,面向函数的实现归根到底还是算法的设计。
二、课题要求、课题分析
(一)课题要求
《C++课程设计》通过综合运用在《C++程序设计》和《数据结构》中所学的程序结构、流程控制语句、数组、函数、指针、结构体、数据结构等知识,以简易“管理信息系统”程序设计为载体,以C++语言为工具,使我们更深地涉足计算机专业设计领域,并使所学知识和技能得到进一步巩固、深化和扩展,以达到能用C++编写初等程度软件的目的,为继续学习后续课程及今后走上相关工作岗位打下良好的基础。
经过调查分析,决定设计职工工资管理系统。
C语言程序设计说明书
员工工资管理系统
———C语言程序设计课程设计说明书
指导教师:***
专业班级:应化082
设计者:李响周金娟
解敏李伟生] 设计时间: 2 0 0 9年 9月
员工工资管理系统
一、需求分析
随着计算机的飞速发展,它的应用已经十分广泛,它在人们的生产、生活、工作和学习中发挥着重要的作用。例如一个现代化的公司,拥有数千名的员工,那么如何管理这么庞大的职工信息档案呢?这时,开发一个功能完善的职工信息管理系统就必不可少了。从员工的信息的查询到管理实现了自动化的模式,从而提高了工作效率和减少工作中的出错率,对公司内部的员工管理更加方便。系统是为公司财会部门设计的。主要管理的数据包括:员工姓名、年龄、性别、员工号、实发。该系统具有的功能是:根据职工号对职工的信息进行录入、查询、删除、修改、追加、统计、等。对各功能模块的界面采用菜单显示方式。本系统具有通用性,即可广泛适用于多单位,多人数,多功能的使用,并且系统采用模块化设计,主体为一个主函数,分别可以调用其他模块,利用不同子模块具有的不同功能,综合完成系统功能,不但主体与子模块间有相互联系,各个子模块间也有相互作用,从而实现了预期的功能。
二、系统的软硬件环境
1、硬件环境:一般来说586电脑就可以提供并支持系统的使用及运行,此外,若想打印或成稿还需要使用打印机; U盘、软盘也是程序的必要载体。
2、软件环境:MS-DOS或Windows环境下安装Turbo C语言系统,安装完毕后即可使用,而且要用到UCDOS。
三、系统功能
1、系统总体框图
四、模块设计分析:
此程序中输入模块:该模块是实现对员工姓名、年龄、性别、员工号、工资的录入并保存到文件“yuangong”中。
程序设计基础课程设计报告(c语言实现附源码)(员工工资管理系统)
《程序设计基础》
课程设计报告
题目: 员工工资管理系统
院(系): 信息科学与工程学院
专业班级:
学生姓名:
学号:
指导教师:
20 16 年 12 月 12 日至20 16 年 12 月 23 日
武昌首义学院制
程序设计基础课程设计任务书
目录
1需求与总体设计 (1)
2详细设计 (1)
3编码实现 (4)
4运行结果 (21)
总结 (24)
1需求与总体设计
1.1需求描述
设计一个利用文件处理方式实现对员工工资(包括员工编号、员工姓名、年月、岗位工资、奖金、扣款和实发)进行管理,具有增加数据、更新数据、查询数据、删除数据、列表显示数据以及重组文件的功能。
1。2总体设计
先以登陆函数登陆,再进入主菜单,菜单中显示各个要实现的操作,以菜单将各个函数联系起来,对菜单操作以实现系统的目的.
1。3数据结构
struct user //登陆者信息
{
char un[10];
char up[10];
}us[3] = { "aaa","111",”bbb”,”222",”ccc",”333" };
struct yg //员工结构体
{
short zt; //数据状态
long bh; //编号
char name[20]; //名字
char time[11]; //时间
long money; //基本工资
long jj; //奖金
long kk; //扣款
long sf; //实发工资
};
整个程序只运用了结构体的数据结构,结构体运用于登陆者信息和员工信息,将员工信息封装在一个结构体里,再创建结构体数组,将多个员工信息储存在结构体数组中。
c语言课程设计报告 职工工资管理系统
一.设计需求说明
一、职工工资管理系统功能设计要求
1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位
津贴、医疗保险、公积金的数据作为一个记录。•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的
各项工资和平均工资。
3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记
录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5. 删除记录:可删除数据文件中的任一记录。
6.恢复记录:能恢复被删除的任一记录。
7. 统计: (A) 计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职
工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。
8.保存数据文件功能。
9.打开数据文件功能。
经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐
个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。程序运行结果如下表所示(记录个数至少8 个)。
二.模块设计分析系统功能模块图:
工作程序分析
①输入:输入职工工资资料
通过结构体的数组来进行操作,先头定义数组em[],先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。同时将数据储存在ckerk_list文件中并自动保存至磁盘。
C语言课程设计报告 职工信息管理系统
case 0: exit(); } printf("\n\n 操作完毕,请再次选择!"); } else printf("\n\n 选择错误,请再次选择!"); } } 2 数据添加 【程序】
void append() { if((fp=fopen("worker.xls","a"))==NULL) { printf("\n 不能打开该文件!"); exit(); } printf("\n 请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、 工资、电话、地址)\n"); scanf("%s%s%s%s%s%s%s%s%s",one.name,one.num,one.sex,one.age,one.recor d,one.position,one.wanges,one.tel,one.addr); fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",one.name,one.n um,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); fclose(fp); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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?(1.yes 2.no)");
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);