C语言 机房收费管理系统
时间: 2023-11-23 18:44:12 浏览: 64
C语言机房收费管理系统.doc
收费管理系统需要实现的功能包括:
1. 学生信息管理:包括学生姓名、学号、班级、联系方式等基本信息,可以进行添加、修改、删除、查询等操作。
2. 收费管理:对学生的缴费情况进行记录,包括缴费日期、缴费金额、收费人员等信息,可以进行添加、修改、删除、查询等操作。
3. 统计报表:可以根据时间范围、班级等条件生成收费统计报表,方便管理者了解收费情况。
4. 系统设置:包括密码修改、学年设置、费用设置等。
以下是一个简单的C语言机房收费管理系统代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT 100
struct student {
char name[20];
int id;
char class[20];
char phone[20];
};
struct payment {
int id;
int amount;
char date[20];
char staff[20];
};
struct student students[MAX_STUDENT];
struct payment payments[MAX_STUDENT];
int student_count = 0;
int payment_count = 0;
void add_student() {
struct student s;
printf("请输入学生姓名:");
scanf("%s", s.name);
printf("请输入学生学号:");
scanf("%d", &s.id);
printf("请输入学生班级:");
scanf("%s", s.class);
printf("请输入学生联系方式:");
scanf("%s", s.phone);
students[student_count++] = s;
printf("添加成功!\n");
}
void modify_student() {
int id;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
printf("请输入新的学生姓名:");
scanf("%s", students[i].name);
printf("请输入新的学生班级:");
scanf("%s", students[i].class);
printf("请输入新的学生联系方式:");
scanf("%s", students[i].phone);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
void delete_student() {
int id;
printf("请输入要删除的学生学号:");
scanf("%d", &id);
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
for (int j = i; j < student_count - 1; j++) {
students[j] = students[j+1];
}
student_count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该学生!\n");
}
void search_student() {
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
printf("学生姓名:%s\n", students[i].name);
printf("学生学号:%d\n", students[i].id);
printf("学生班级:%s\n", students[i].class);
printf("学生联系方式:%s\n", students[i].phone);
return;
}
}
printf("未找到该学生!\n");
}
void add_payment() {
struct payment p;
printf("请输入学生学号:");
scanf("%d", &p.id);
printf("请输入缴费金额:");
scanf("%d", &p.amount);
printf("请输入缴费日期:");
scanf("%s", p.date);
printf("请输入收费人员:");
scanf("%s", p.staff);
payments[payment_count++] = p;
printf("添加成功!\n");
}
void search_payment() {
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
int total = 0;
for (int i = 0; i < payment_count; i++) {
if (payments[i].id == id) {
printf("缴费金额:%d\n", payments[i].amount);
printf("缴费日期:%s\n", payments[i].date);
printf("收费人员:%s\n", payments[i].staff);
total += payments[i].amount;
}
}
if (total > 0) {
printf("总缴费金额:%d\n", total);
} else {
printf("未找到该学生缴费记录!\n");
}
}
void show_statistics() {
char start_date[20], end_date[20], class[20];
printf("请输入起始日期:");
scanf("%s", start_date);
printf("请输入结束日期:");
scanf("%s", end_date);
printf("请输入班级名称(输入0表示不限):");
scanf("%s", class);
int total = 0;
for (int i = 0; i < payment_count; i++) {
if (strcmp(payments[i].date, start_date) >= 0 && strcmp(payments[i].date, end_date) <= 0) {
if (strcmp(class, "0") == 0 || strcmp(students[payments[i].id].class, class) == 0) {
total += payments[i].amount;
}
}
}
printf("收费总金额:%d\n", total);
}
void show_menu() {
printf("欢迎使用机房收费管理系统!\n");
printf("1. 添加学生信息\n");
printf("2. 修改学生信息\n");
printf("3. 删除学生信息\n");
printf("4. 查询学生信息\n");
printf("5. 添加缴费记录\n");
printf("6. 查询缴费记录\n");
printf("7. 收费统计报表\n");
printf("8. 退出系统\n");
}
int main() {
int choice;
while (1) {
show_menu();
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
modify_student();
break;
case 3:
delete_student();
break;
case 4:
search_student();
break;
case 5:
add_payment();
break;
case 6:
search_payment();
break;
case 7:
show_statistics();
break;
case 8:
printf("谢谢使用!\n");
return 0;
default:
printf("无效的操作编号!\n");
break;
}
}
return 0;
}
```
阅读全文