📅  最后修改于: 2023-12-03 15:22:24.382000             🧑  作者: Mango
这是一个用于记录公司员工信息的 C 语言程序,它使用了文件处理技术,可以方便地添加、修改、删除和查询员工信息。
下面是一个简单的代码示例,它可以添加员工信息并将其保存到文件中:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Employee {
char name[20];
int age;
double salary;
};
int main() {
struct Employee emp;
FILE *fp;
char filename[20] = "employees.dat";
char choice;
do {
printf("Enter employee name: ");
scanf("%s", emp.name);
printf("Enter employee age: ");
scanf("%d", &emp.age);
printf("Enter employee salary: ");
scanf("%lf", &emp.salary);
fp = fopen(filename, "ab");
if (fp == NULL) {
printf("Error opening file!\n");
return 1;
}
fwrite(&emp, sizeof(struct Employee), 1, fp);
printf("Employee record added successfully!\n");
fclose(fp);
printf("Do you want to add another record? (y/n) ");
scanf(" %c", &choice);
} while (choice == 'y' || choice == 'Y');
return 0;
}
此程序定义了一个 Employee
结构体,它包括员工的姓名、年龄和薪水。程序使用 do-while
循环来连续添加员工信息,每次将其保存到文件中。
程序首先提示用户输入姓名、年龄和薪水,然后将这些值存储在 emp
结构体中。接下来它使用 fopen
函数打开文件,如果文件不存在,则创建一个新文件。
然后,程序使用 fwrite
函数将 emp
结构体的内容写入文件中,接着关闭文件。最后,程序询问用户是否要继续添加,如果是,则再次进入循环,否则退出程序。
除了上述示例代码中的添加功能,程序还可以实现修改、删除、查询和显示所有员工信息的功能。
这些功能的实现与添加功能类似,只需使用不同的函数来读取、修改或删除文件中的数据。以下是一个查找并显示所有员工信息的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Employee {
char name[20];
int age;
double salary;
};
void display(struct Employee emp[]) {
int i = 0;
FILE *fp;
char filename[20] = "employees.dat";
fp = fopen(filename, "rb");
if (fp == NULL) {
printf("Error opening file!\n");
return;
}
printf("EMPLOYEE NAME\tAGE\tSALARY\n");
while (fread(&emp[i], sizeof(struct Employee), 1, fp)) {
printf("%s\t\t%d\t%.2lf\n", emp[i].name, emp[i].age, emp[i].salary);
i++;
}
fclose(fp);
}
int main() {
struct Employee emp[10];
int i, n = 0;
display(emp);
return 0;
}
本文介绍了如何使用文件处理技术来记录公司员工信息。程序实现了添加、修改、删除、查询和显示所有员工信息的功能,以展示文件处理的强大功能。