班费收支管理系统有班费收入和支出,班费信息修改,班费查询,班费展示功能
时间: 2024-02-28 16:56:17 浏览: 213
好的,以下是一个班费收支管理系统的程序,包含班费收入和支出、班费信息修改、班费查询、班费展示等功能,你可以参考一下:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_RECORDS 100 // 最大记录数
struct Record {
int id; // 记录编号
char date[20]; // 日期
char type[10]; // 类型(支出或收入)
float amount; // 金额
char note[100]; // 备注
};
struct Record records[MAX_RECORDS]; // 记录数组
int count = 0; // 记录数
// 显示菜单
void showMenu() {
printf("\n班费收支管理系统\n");
printf("1. 班费收入\n");
printf("2. 班费支出\n");
printf("3. 班费信息修改\n");
printf("4. 班费查询\n");
printf("5. 班费展示\n");
printf("6. 退出\n");
printf("请选择(1~6):");
}
// 添加一条记录
void addRecord(char type[], float amount, char note[]) {
struct Record record;
record.id = count + 1;
time_t t = time(NULL);
strftime(record.date, sizeof(record.date), "%Y-%m-%d %H:%M:%S", localtime(&t));
strcpy(record.type, type);
record.amount = amount;
strcpy(record.note, note);
records[count++] = record;
}
// 显示所有记录
void showRecords() {
printf("\n所有记录:\n");
printf("%-5s%-20s%-10s%-10s%s\n", "编号", "日期", "类型", "金额", "备注");
for(int i = 0; i < count; i++) {
printf("%-5d%-20s%-10s%-10.2f%s\n", records[i].id, records[i].date, records[i].type, records[i].amount, records[i].note);
}
}
// 查询记录
void queryRecords(char type[]) {
printf("\n查询结果:\n");
printf("%-5s%-20s%-10s%-10s%s\n", "编号", "日期", "类型", "金额", "备注");
for(int i = 0; i < count; i++) {
if(strcmp(records[i].type, type) == 0) {
printf("%-5d%-20s%-10s%-10.2f%s\n", records[i].id, records[i].date, records[i].type, records[i].amount, records[i].note);
}
}
}
// 修改记录
void modifyRecord(int id, char type[], float amount, char note[]) {
for(int i = 0; i < count; i++) {
if(records[i].id == id) {
strcpy(records[i].type, type);
records[i].amount = amount;
strcpy(records[i].note, note);
printf("修改成功!\n");
return;
}
}
printf("记录不存在!\n");
}
int main()
{
int choice;
char type[10], note[100];
float amount;
int id;
while(1) {
showMenu();
scanf("%d", &choice);
switch(choice) {
case 1:
printf("请输入收入金额:");
scanf("%f", &amount);
printf("请输入备注:");
scanf("%s", note);
addRecord("收入", amount, note);
printf("添加成功!\n");
break;
case 2:
printf("请输入支出金额:");
scanf("%f", &amount);
printf("请输入备注:");
scanf("%s", note);
addRecord("支出", amount, note);
printf("添加成功!\n");
break;
case 3:
printf("请输入要修改的记录编号:");
scanf("%d", &id);
printf("请输入类型(收入或支出):");
scanf("%s", type);
printf("请输入金额:");
scanf("%f", &amount);
printf("请输入备注:");
scanf("%s", note);
modifyRecord(id, type, amount, note);
break;
case 4:
printf("请输入要查询的类型(收入或支出):");
scanf("%s", type);
queryRecords(type);
break;
case 5:
showRecords();
break;
case 6:
printf("感谢使用班费收支管理系统!\n");
return 0;
default:
printf("输入有误,请重新输入!\n");
break;
}
}
}
```
这个程序具有以下功能:
1. 班费收入
2. 班费支出
3. 班费信息修改
4. 班费查询
5. 班费展示
6. 退出
你可以根据自己的需求进行修改和完善。
阅读全文