c语言班级班费管理系统
时间: 2023-12-05 17:40:58 浏览: 38
班费管理系统是一个常见的小型项目,它可以帮助班级管理者更好地管理班费的收支情况。下面是一个简单的C语言班费管理系统的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 最大学生数
#define MAX_NAME_LEN 20 // 最大姓名长度
#define MAX_RECORD_NUM 1000 // 最大记录数
// 学生结构体
typedef struct {
char name[MAX_NAME_LEN]; // 姓名
int id; // 学号
float balance; // 余额
} Student;
// 记录结构体
typedef struct {
char type[10]; // 类型(收入或支出)
char reason[50]; // 原因
float amount; // 金额
char date[20]; // 日期
} Record;
// 学生数组
Student students[MAX_STUDENT_NUM];
int student_num = 0;
// 记录数组
Record records[MAX_RECORD_NUM];
int record_num = 0;
// 显示菜单
void show_menu() {
printf("班费管理系统\n");
printf("1. 添加学生\n");
printf("2. 显示学生列表\n");
printf("3. 添加记录\n");
printf("4. 显示记录列表\n");
printf("5. 退出\n");
}
// 添加学生
void add_student() {
if (student_num >= MAX_STUDENT_NUM) {
printf("学生数已达到最大值,无法添加!\n");
return;
}
printf("请输入学生姓名:");
scanf("%s", students[student_num].name);
printf("请输入学生学号:");
scanf("%d", &students[student_num].id);
students[student_num].balance = 0;
student_num++;
printf("添加成功!\n");
}
// 显示学生列表
void show_student_list() {
printf("学生列表:\n");
printf("姓名\t学号\t余额\n");
for (int i = 0; i < student_num; i++) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].id, students[i].balance);
}
}
// 添加记录
void add_record() {
if (record_num >= MAX_RECORD_NUM) {
printf("记录数已达到最大值,无法添加!\n");
return;
}
printf("请输入记录类型(收入或支出):");
scanf("%s", records[record_num].type);
printf("请输入记录原因:");
scanf("%s", records[record_num].reason);
printf("请输入记录金额:");
scanf("%f", &records[record_num].amount);
printf("请输入记录日期:");
scanf("%s", records[record_num].date);
record_num++;
printf("添加成功!\n");
}
// 显示记录列表
void show_record_list() {
printf("记录列表:\n");
printf("类型\t原因\t金额\t日期\n");
for (int i = 0; i < record_num; i++) {
printf("%s\t%s\t%.2f\t%s\n", records[i].type, records[i].reason, records[i].amount, records[i].date);
}
}
int main() {
int choice;
while (1) {
show_menu();
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
show_student_list();
break;
case 3:
add_record();
break;
case 4:
show_record_list();
break;
case 5:
printf("谢谢使用!\n");
exit(0);
default:
printf("无效选项,请重新输入!\n");
break;
}
system("pause"); // 暂停程序,等待用户按任意键继续
system("cls"); // 清屏
}
return 0;
}
```
这个班费管理系统包括添加学生、显示学生列表、添加记录、显示记录列表等功能。用户可以根据自己的需求进行相应的操作。