写一篇c语言工资管理系统的实验报告
时间: 2023-07-13 14:16:09 浏览: 124
好的,下面是一篇关于C语言工资管理系统的实验报告。
实验名称:工资管理系统
实验目的:
1. 熟悉C语言的基本语法和数据类型;
2. 掌握C语言中结构体的使用方法;
3. 熟悉文件的读写操作;
4. 综合应用所学知识,设计并实现一个简单的工资管理系统。
实验内容:
设计一个工资管理系统,可以实现员工信息的录入、查询、修改和删除等功能。系统需要保存员工的基本信息,包括姓名、工号、工资等,并将员工信息保存在文件中,以便下次启动系统时可以读取之前保存的员工信息。
实验步骤:
1. 定义员工信息的结构体。
在C语言中,结构体是一种将不同数据类型的数据组合在一起的数据类型。定义员工信息的结构体,可以使用以下代码:
```
struct Employee {
char name[20];
int id;
float salary;
};
```
2. 实现员工信息的录入。
在程序运行时,要求用户输入员工的姓名、工号和工资等信息,并将这些信息保存在结构体中。可以使用以下代码:
```
struct Employee emp;
printf("请输入员工的姓名:");
scanf("%s", emp.name);
printf("请输入员工的工号:");
scanf("%d", &emp.id);
printf("请输入员工的工资:");
scanf("%f", &emp.salary);
```
3. 实现员工信息的保存。
将员工信息保存在文件中,可以使用文件读写操作。可以使用以下代码:
```
FILE *fp;
fp = fopen("employee.dat", "wb");
fwrite(&emp, sizeof(emp), 1, fp);
fclose(fp);
```
4. 实现员工信息的查询。
用户可以通过输入员工的工号,查询该员工的基本信息。可以使用以下代码:
```
int search_id;
printf("请输入要查询的员工工号:");
scanf("%d", &search_id);
fp = fopen("employee.dat", "rb");
while (fread(&emp, sizeof(emp), 1, fp)) {
if (emp.id == search_id) {
printf("姓名:%s\n工号:%d\n工资:%.2f\n", emp.name, emp.id, emp.salary);
break;
}
}
fclose(fp);
```
5. 实现员工信息的修改。
用户可以通过输入员工的工号,修改该员工的基本信息。可以使用以下代码:
```
int update_id;
printf("请输入要修改的员工工号:");
scanf("%d", &update_id);
fp = fopen("employee.dat", "r+b");
while (fread(&emp, sizeof(emp), 1, fp)) {
if (emp.id == update_id) {
printf("请输入要修改的员工姓名:");
scanf("%s", emp.name);
printf("请输入要修改的员工工资:");
scanf("%f", &emp.salary);
fseek(fp, -sizeof(emp), SEEK_CUR);
fwrite(&emp, sizeof(emp), 1, fp);
break;
}
}
fclose(fp);
```
6. 实现员工信息的删除。
用户可以通过输入员工的工号,删除该员工的基本信息。可以使用以下代码:
```
int delete_id;
printf("请输入要删除的员工工号:");
scanf("%d", &delete_id);
fp = fopen("employee.dat", "rb");
FILE *temp;
temp = fopen("temp.dat", "wb");
while (fread(&emp, sizeof(emp), 1, fp)) {
if (emp.id != delete_id) {
fwrite(&emp, sizeof(emp), 1, temp);
}
}
fclose(fp);
fclose(temp);
remove("employee.dat");
rename("temp.dat", "employee.dat");
```
实验结果:
经过以上步骤,成功地实现了一个简单的工资管理系统,可以实现员工信息的录入、查询、修改和删除等功能,并将员工信息保存在文件中,以便下次启动系统时可以读取之前保存的员工信息。
实验总结:
本次实验通过设计一个工资管理系统,综合应用了C语言的基本语法和数据类型、结构体的使用方法、文件的读写操作等知识,加深了对C语言的理解和掌握,提高了编程思维和实践能力。
阅读全文