职工信息管理系统C语言课程设计+源代码.docx
?##一、课程设计题目
职工信息管理系统
##二、课程设计目的
1.通过设计一个职工信息管理系统,加深对C语言基础知识的理解和掌握,包括结构体、数组、文件操作等。
2.培养学生运用所学知识解决实际问题的能力,提高程序设计和调试的技能。
3.使学生了解信息管理系统的基本架构和设计方法,增强学生的软件工程意识。
##三、课程设计要求
1.能够实现职工信息的录入、修改、删除、查询、显示等功能。
2.职工信息包括职工编号、姓名、性别、年龄、部门、工资等。
3.数据应存储在文件中,以便程序运行时能够读取和保存。
4.界面友好,操作方便,具有良好的用户体验。
##四、系统总体设计
功能模块划分
1.录入模块:用于录入职工的基本信息。
2.修改模块:可以根据职工编号修改职工的相关信息。
3.删除模块:按照职工编号删除指定职工的信息。
4.查询模块:能根据职工编号、姓名等条件查询职工信息。
5.显示模块:显示所有职工的信息。
6.保存模块:将职工信息保存到文件中。
7.读取模块:从文件中读取职工信息到程序中。
数据结构设计
采用结构体来存储职工信息,结构体定义如下:
```c
structEmployee{
intid;
charname[20];
chargender[5];
intage;
chardepartment[20];
floatsalary;
};
```
##五、详细设计与实现
录入模块
```c
voidinputEmployee(structEmployeeemployees[],int*count){
FILE*fp;
if((fp=fopen(employees.txt,a))==NULL){
printf(无法打开文件!\n);
return;
}
structEmployeenewEmployee;
printf(请输入职工编号:);
scanf(%d,newEmployee.id);
printf(请输入姓名:);
scanf(%s,newEmployee.name);
printf(请输入性别:);
scanf(%s,newEmployee.gender);
printf(请输入年龄:);
scanf(%d,newEmployee.age);
printf(请输入部门:);
scanf(%s,newEmployee.department);
printf(请输入工资:);
scanf(%f,newEmployee.salary);
employees[*count]=newEmployee;
(*count)++;
fprintf(fp,%d%s%s%d%s%.2f\n,newEmployee.id,newEmployee.name,newEmployee.gender,newEmployee.age,newEmployee.department,newEmployee.salary);
fclose(fp);
printf(职工信息录入成功!\n);
}
```
修改模块
```c
voidmodifyEmployee(structEmployeeemployees[],intcount){
intid,found=0;
printf(请输入要修改的职工编号:);
scanf(%d,id);
for(inti=0;icount;i++){
if(employees[i].id==id){
found=1;
printf(请输入新的姓名:);
scanf(%s,employees[i].name);
printf(请输入新的性别:);
scanf(%s,employees[i]