C语言大作业之班费管理系统

使用Visual Studio Community 2017开发的班费管理系统,具备存储、增加、删除、更改、查找收支信息功能,能自动计算余额。程序具有容错性,提供操作提示,防止重复收支编号,并在运行时读取文本信息到链表。虽然缺少一些高级功能,如按位置添加、时间自动获取、信息修改和撤回,但能有效地管理和展示班费数据。
摘要由CSDN通过智能技术生成

班费管理系统

前言:

开发环境:Visual Studio Community 2017;
1.储存班级收支的信息;2.增加班费信息;3.删除班费信息;
4.改变班费信息;5.查找班费信息;6.实现自动计算余额;

完成了
1.储存信息;2.增加信息;(不能选择位置添加、时间的获取只能通过手动输入)
3.删除信息;4.改变信息;(不能选择信息修改)5.查找信息;(不能按照规定排序)
6.自动计算

可以正常运行,并且有一定的容错性。对于如何操作有明显的提示,会对重复的收支编号信息进行提示,遇到不规范输入时会提醒。对于文本已经储存的信息会在运行时先读入链表里。这个班费收支系统可以让操作者输入信息到文本内储存起来,按照收支编号,收入支出,负责人,金额等信息顺序输入,并且在查找和展示的时候以列表的形式呈现出来,操作时没有撤回的功能所以如果误删了信息需要重新输入。

操作界面:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码:


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include<malloc.h>
#include<stdlib.h>
#include<time.h>

/*定义一个学生类型*/
/*
	班费收支编号:001
	收入还是支出:收入
	经办人:张三
	原因:班级活动
	金额(每位同学):50 
	人数:50
	余额(自动生成):2500
	备注:每人50
	时间(手动输入或获取当前时间): 2018.1.1
*/
typedef struct student
{
   
	char stuidnum[16];//班费收支编号
	char stuid[16];//收入还是支出
	char name[16];//经办人
	char reason[16];//原因
	int num;//金额
	int number;//人数
	int balance;//余额
	char remarks[16];//备注
	char time[16];//时间
	struct student* next;//下一个信息的指针
}Stu;

Stu* students;//信息链表
char* stuInfo = "test.txt";//信息存储的文件
int input = 0;//选择
char tempInput[64];
char tempStuidnum[64];
char tempStuid[64];
char tempName[64];
char tempReason[64];
int tempNum = 0;
int tempNumber = 0;
int tempBalance = 0;
char tempRemarks[64];
char tempTime[64];
int flat;
char m[64];

void initFromTxt(void);//初始化
int deleteInfo(char* stuidnum);//删除信息
void reWrite(void);//重写
void insert2txt(Stu* stu);//插入文本
int addinfo(char* stuidnum, char* stuid, char* name, char* reason, int num, int number, int balance, char* remarks, char* time);//增加信息
void modify(char* stuidnum, char* stuid, char* name, char* reason, int num, int number, int balance, char* remarks, char* time);//修改信息
int checkAdd(char* stuidnum);//判断班级收支编号输入
void showInfo(void);//展示信息
void findInfo(char* stuidnum);//查找信息
void view(void);//界面
int checkInput(char* input, int begin, int end);//判断输入是否再给定的范围内

void initFromTxt(void)
{
   
	students = (Stu*)malloc(sizeof(Stu));//给链表的头节点分配内存
	students->next = NULL;//指向设为空
	FILE* file;
	file = fopen(stuInfo, "r");//打开信息文件
	if (file == NULL)
	{
   
		printf("打开文件失败!");
		return;
	}
	Stu* s = students;//当前结点
	while (1)
	{
   
		Stu* stu = (Stu*)malloc(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值