用C语言编写教师工资系统
时间: 2024-03-06 20:50:17 浏览: 24
下面是一个简单的教师工资系统的C语言实现,包括录入教师信息、计算教师工资、查询教师信息等功能。具体实现如下:
```
#include <stdio.h>
#define MAX_TEACHERS 100 // 最大教师数
// 定义教师结构体
struct Teacher {
char name[20]; // 姓名
int age; // 年龄
char gender; // 性别
int salary; // 工资
};
struct Teacher teachers[MAX_TEACHERS]; // 教师数组
int num_teachers = 0; // 教师数目
// 录入教师信息函数
void input_teacher() {
if (num_teachers == MAX_TEACHERS) {
printf("教师数目已达到上限,无法录入更多教师信息!\n");
return;
}
struct Teacher t;
printf("请输入教师姓名、年龄、性别和工资:\n");
scanf("%s %d %c %d", t.name, &t.age, &t.gender, &t.salary);
teachers[num_teachers++] = t;
printf("录入成功!\n");
}
// 计算教师工资函数
void calculate_salary() {
int i;
for (i = 0; i < num_teachers; i++) {
if (teachers[i].salary <= 10000) {
teachers[i].salary = teachers[i].salary * 1.2;
} else if (teachers[i].salary <= 20000) {
teachers[i].salary = teachers[i].salary * 1.1;
} else {
teachers[i].salary = teachers[i].salary * 1.05;
}
}
printf("工资计算完成!\n");
}
// 查询教师信息函数
void check_teacher() {
int i;
for (i = 0; i < num_teachers; i++) {
printf("姓名:%s,年龄:%d,性别:%c,工资:%d\n", teachers[i].name, teachers[i].age, teachers[i].gender, teachers[i].salary);
}
}
int main() {
int choice;
while (1) {
printf("请选择服务:\n");
printf("1. 录入教师信息\n");
printf("2. 计算教师工资\n");
printf("3. 查询教师信息\n");
printf("4. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
input_teacher();
break;
case 2:
calculate_salary();
break;
case 3:
check_teacher();
break;
case 4:
return 0;
default:
printf("无效选择!\n");
}
}
return 0;
}
```
在上面的代码中,我们定义了一个`Teacher`结构体来表示教师信息,其中包括姓名、年龄、性别和工资等属性。我们使用一个教师数组`teachers`来保存所有教师的信息,使用一个`num_teachers`变量来记录教师数目。在`main`函数中,我们使用一个`while`循环来提供菜单选择服务,根据用户的选择调用相应的函数。在每个函数中,我们使用`if`语句和`for`循环来实现相应的功能,例如录入教师信息时判断教师数目是否已达到上限,计算教师工资时根据工资范围进行不同的计算,查询教师信息时遍历教师数组并输出教师信息。