班费管理系统
前言:
开发环境: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(