#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
struct message
{
char name[30]; //班级成员名称
char use[30]; //用途
float income; //收入
float spend; //支出
char time[11]; //收入或支出的时间
float sum; //余额
struct message *next;
};
typedef struct //用户信息结构体
{
char number[13];//学号
char mima[7];//密码
int power;//判断是否为管理员
}account;
int Enter(account *enuser)//登录验证
{
int mark=1;
FILE *fp;
char ming[13];
if((fp=fopen("user.in","r"))==NULL)
{
printf("\n=====>打开文件失败!!!!\n");
exit(0);
}
while(!feof(fp))/*检测文件指针是否到达文件结尾,当条件为不是文件尾时继续执行后续代码*/
{
fgets(ming,12,fp);//从fp指向的文件中读取字符串放到ming字符数组中去
if(strcmp(ming,enuser->number)==0)
{
mark=0;
break;
}
}
return mark;
}
struct message *Findfile(struct message *head1)//读取文件储存到链表
{
struct message *head=NULL;
FILE *fp1;
char c;
struct message *p1,*p2;
char name[20]; //班级成员名称
char use[30]; //用途
double income; //收入
double spend; //支出
char time[11]; //收入或支出的时间
double sum;//余额
fp1=fopen("money.in","a+");
while((c=fgetc(fp1))!=EOF)
{
fseek(fp1,-1,SEEK_CUR);// 从文件当前位置指针后退一个字节
p1=(struct message*)malloc(sizeof(struct message));
fscanf(fp1,"%s%lf%lf%lf%s%s\n",name,&income,&spend,&sum,use,time);
strcpy(p1->name,name);
strcpy(p1->use,use);
p1->income=income;
p1->spend=spend;
strcpy(p1->time,time);
p1->sum=sum;
p1->next=NULL;
if(head==NULL) head=p1;
else p2->next=p1;
p2=p1;
}
return head;
}
void Add(struct message *headAdd) //添加新财务信息
{
system("CLS");
printf("\n\n\n");
printf("★**************************************************************************★\n");
printf("★**************************************************************************★\n");
printf("★*********************欢迎使用班级财务管理系统(管理员版)*******************★\n");
printf("★**************************************************************************★\n");
printf("★**************************************************************************★\n\n\n");
printf(" ┅┅┅┅ 财务信息录入 ┅┅┅┅\n\n");
struct message *p,*p1=NULL,*p2;
char name[20]; //使用者名称
char use[30]; //用途
double income; //收入
double spend; //支出
char time[11]; //发生时间
double sum;//余额
p2=headAdd;
while(p2)
{
sum=p2->sum;
p1=p2;
p2=p2->next;
}
printf(" 请输入使用人的姓名:");
scanf("%s",name);
printf(" 请输入收入金额:");
scanf("%lf",&income);
printf(" 请输入支出金额:");
scanf("%lf",&spend);
printf(" 请输入资金用途(a:吃喝 b:娱乐 c:学习 d:其它):");
scanf("%s",use);
printf(" 年 月日时\n");
printf(" 请输入使用时间:");
scanf("%s",time);
system("CLS");
printf("┏━━━━━━━━━━━━━━━━━━┓\n");
printf("┃ 财务信息添加成功!┃\n");
printf("┗━━━━━━━━━━━━━━━━━━┛\n");
Sleep(2000);// 执行挂起一段时间
p=(struct message*)malloc(sizeof(struct message));//新节点p用来存放新的信息
strcpy(p->name,name);
p->income=income;
p->spend=spend;
strcpy(p->use,use);
strcpy(p->time,time);
p->sum=sum+income-spend;
p1->next=p;
p->next=NULL;
}
void Correct(struct message *headCorrect)//修正删除或修改后更新的信息条以及后面的所有余额信息
{
struct message *p31=headCorrect,*p32=p31->next;
while(p31&&p32)
{
p32->sum=(p31->sum)+(p32->income)-(p32->spend);
p31=p31->next;
p32=p32->next;
}
}
void Change(struct message *headChange) //修改财务信息
{
system("CLS");
printf("\n\n\n");
printf("★**************************************************************************★\n");
printf("★**************************************************************************★\n");
printf("★*********************欢迎使用班级财务管理系统(管理员版)*******************★\n");
printf("★**************************************************************************★\n");
printf("★**************************************************************************★\n\n\n");
printf(" ┅┅┅┅ 财务信息修改 ┅┅┅┅\n\n");
int k=0,choice;
struct message *p21=headChange,*p22=headChange,*p23=NULL,*p24=headChange;
char name[20];
printf("请输入要修改的财务信息使用人的名字:");
scanf("%s",name);
printf("\n 使用人 │ 收入金额 │ 支出金额 │ 余额 │ 用途 │ 使用时间\n\n");
while(p21)
{
if(strcmp(p21->name,name)==0)
{
k++;//用来记录该使用人出现的次数
printf("[%d]%10s│%10.2f │%10.2f│%10.2f│%5s │%10s\n",k,p21->name,p21->income,p21->spend,p21->sum,p21->use,p21->time);
}
p21=p21->next;
}
if(k!=0)
{
printf("\n请选择序号以修改账务信息:");
scanf("%d",&k);
while(k)
{
if(strcmp(p22->name,name)==0)
{
k--;
p23=p22;
p22=p22->next;
}
else
{
p23=p22; //记录修正余额需要的最后一条信息
p22=p22->next;
}
}
system("CLS");
printf("\n\n\n");
printf("★**************************************************************************★\n");
printf("★**************************************************************************★\n");
printf("★*********************欢迎使用班级财务管理系统(管理员版)*******************★\n");
printf("★**************************************************************************★\n");
printf("★**************************************************************************★\n\n\n");
printf(" ┅┅┅┅ 财务信息修改 ┅┅┅┅\n\n");
printf("[1]姓名 \n");
printf("[2]收入 \n");
printf("[3]支出 \n");
printf("[4]用途 \n");
printf("[5]时间 \n");
printf("[0]取消 \n");
printf("\n\n请输入要修改的信息项目对应的序号:");
scanf("%d",&choice);
while(choice)
{
switch(choice)
{
case 1:
{
printf("请输入更正后的姓名:");
scanf("%s",p23->name);
system("CLS");
printf("┏━━━━━━━━━━━━━━━━━━━┓\n");
printf("┃ 财务信息修改成功!┃\n");
printf("┗━━━━━━━━━━━━━━━━━━━┛\n");
Sleep(2000);// 执行挂起一段时间
break;
}
case 2:
{
printf("请输入更正后的收入金额:");
scanf("%f",&p23->income);
system("CLS");
printf("┏━━━━━━━━━━━━━━━━━━━┓\n");
printf("┃ 财务信息修改成功!┃\n");
printf("┗━━━━━━━━━━━━━━━━━━━┛\n");
Sleep(2000);// 执行挂起一段时间
break;
}
case 3:
{
printf("请输入更正后的支出金额:");
scanf("%f",&p23->spend);
system("CLS");
printf("┏━━━━━━━━━━━━━━━━━━━
没有合适的资源?快使用搜索试试~ 我知道了~
C语言课程设计班级财务管理.rar
共150个文件
png:50个
exe:19个
o:19个
需积分: 10 0 下载量 41 浏览量
2022-01-13
20:22:19
上传
评论
收藏 2.76MB RAR 举报
温馨提示
SCAU大一下C语言课程设计
资源详情
资源评论
资源推荐
收起资源包目录
C语言课程设计班级财务管理.rar (150个子文件)
main.c 39KB
main.c 5KB
main.c 4KB
main.c 4KB
main.c 3KB
main.c 2KB
main.c 2KB
main.c 2KB
main.c 1KB
main.c 332B
main.c 107B
导出到Excel.cbp 1KB
信息删除.cbp 1KB
信息查询.cbp 1KB
信息录入.cbp 1KB
信息分类.cbp 1KB
信息修改.cbp 1KB
习题1-8.cbp 1KB
登录.cbp 1KB
查询.cbp 1KB
统计财务情况.cbp 1KB
班级财务管理.cbp 1KB
班级财务管理.depend 450B
信息修改.depend 251B
信息录入.depend 155B
导出到Excel.depend 154B
统计财务情况.depend 150B
登录.depend 147B
信息删除.depend 146B
信息查询.depend 146B
信息分类.depend 146B
习题1-8.depend 123B
课程设计报告.doc 1.48MB
课程设计范例.doc 99KB
课程设计任务说明.doc 86KB
课程设计报告撰写格式.doc 27KB
绘图2.eddx 12KB
绘图1.eddx 8KB
班级财务管理.exe 99KB
导出到Excel.exe 79KB
main.exe 70KB
信息修改.exe 60KB
统计财务情况.exe 60KB
信息删除.exe 59KB
信息分类.exe 59KB
信息录入.exe 58KB
信息查询.exe 57KB
main.exe 57KB
main.exe 56KB
登录.exe 56KB
main.exe 56KB
main.exe 55KB
习题1-8.exe 54KB
班级财务管理.exe 29KB
信息修改.exe 18KB
信息查询.exe 17KB
信息录入.exe 17KB
money.in 246B
money.in 239B
money.in 239B
money.in 239B
money.in 239B
money.in 229B
money.in 204B
money.in 203B
money.in 203B
user.in 112B
user.in 112B
user.in 110B
信息修改.layout 362B
信息查询.layout 360B
信息分类.layout 360B
班级财务管理.layout 360B
信息删除.layout 359B
登录.layout 359B
信息录入.layout 359B
导出到Excel.layout 359B
统计财务情况.layout 357B
查询.layout 357B
习题1-8.layout 356B
main.o 54KB
main.o 26KB
main.o 24KB
main.o 23KB
main.o 7KB
main.o 6KB
main.o 6KB
main.o 6KB
main.o 5KB
main.o 5KB
main.o 4KB
main.o 4KB
main.o 4KB
main.o 3KB
main.o 3KB
main.o 3KB
main.o 2KB
main.o 2KB
main.o 2KB
界面4.png 205KB
共 150 条
- 1
- 2
ノBye~_77
- 粉丝: 13
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0