C语言编写教师工资管理系统
时间: 2023-07-09 13:52:25 浏览: 75
好的,下面是一个简单的教师工资管理系统的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
// 教师结构体
typedef struct {
char name[20]; // 姓名
int base_salary; // 基本工资
int bonus; // 奖金
int fine; // 罚款
int total_salary; // 总工资
} Teacher;
// 存储所有教师信息的数组
Teacher teachers[MAX];
// 当前存储的教师数量
int count = 0;
// 添加教师信息
void add_teacher() {
Teacher t;
printf("请输入教师姓名:");
scanf("%s", t.name);
printf("请输入教师基本工资:");
scanf("%d", &t.base_salary);
printf("请输入教师奖金:");
scanf("%d", &t.bonus);
printf("请输入教师罚款:");
scanf("%d", &t.fine);
t.total_salary = t.base_salary + t.bonus - t.fine;
teachers[count++] = t;
printf("添加成功!\n");
}
// 修改教师信息
void modify_teacher() {
char name[20];
printf("请输入要修改的教师姓名:");
scanf("%s", name);
int i;
for (i = 0; i < count; i++) {
if (strcmp(name, teachers[i].name) == 0) {
printf("请输入教师基本工资:");
scanf("%d", &teachers[i].base_salary);
printf("请输入教师奖金:");
scanf("%d", &teachers[i].bonus);
printf("请输入教师罚款:");
scanf("%d", &teachers[i].fine);
teachers[i].total_salary = teachers[i].base_salary + teachers[i].bonus - teachers[i].fine;
printf("修改成功!\n");
return;
}
}
printf("未找到该教师!\n");
}
// 删除教师信息
void delete_teacher() {
char name[20];
printf("请输入要删除的教师姓名:");
scanf("%s", name);
int i;
for (i = 0; i < count; i++) {
if (strcmp(name, teachers[i].name) == 0) {
int j;
for (j = i; j < count - 1; j++) {
teachers[j] = teachers[j + 1];
}
count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该教师!\n");
}
// 显示所有教师信息
void show_all_teachers() {
if (count == 0) {
printf("暂无教师信息!\n");
return;
}
printf("姓名\t基本工资\t奖金\t罚款\t总工资\n");
int i;
for (i = 0; i < count; i++) {
printf("%s\t%d\t%d\t%d\t%d\n", teachers[i].name, teachers[i].base_salary, teachers[i].bonus, teachers[i].fine, teachers[i].total_salary);
}
}
int main() {
int choice;
while (1) {
printf("教师工资管理系统\n");
printf("1. 添加教师信息\n");
printf("2. 修改教师信息\n");
printf("3. 删除教师信息\n");
printf("4. 显示所有教师信息\n");
printf("5. 退出系统\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_teacher();
break;
case 2:
modify_teacher();
break;
case 3:
delete_teacher();
break;
case 4:
show_all_teachers();
break;
case 5:
printf("谢谢使用!\n");
exit(0);
default:
printf("无效的选择!\n");
break;
}
}
return 0;
}
```
这个示例代码实现了教师工资管理系统的基本功能,包括添加教师信息、修改教师信息、删除教师信息和显示所有教师信息。其中,教师信息通过结构体来表示,使用数组来存储所有教师的信息。在添加、修改和删除教师信息时,通过遍历数组来查找指定的教师,并进行相应的操作。在显示所有教师信息时,使用了表格的形式来展示教师的各项工资信息。