1、C语言课程设计班级财务管理C语言课程设计论文学生姓名: 金灿 学生学号: 1310321109 所在班级: 软件一班 任课教师: 熊英 班级财务管理系统【设计目的】设计一个班级财务管理系统,该程序具有以下功能:(1) 用户登录:输入用户名和密码,并判断是管理员还是普通成员,管理员和普通成员具有不同的功能选择界面。(2) 录入信息:各项财务信息(包括用途、收入、支出、收入(或支出)时间、总计、使用人等。)。(3) 修改班级成员信息。(4) 删除班级成员信息。(5) 查询班级财务状况。(6) 统计班级财务情况:班级每月共收入、支出各多少,整个学期共收入、支出多少。(7) 分类统计:根据用途对支出进
2、行统计排序输出【设计思路】根据要求,班级财务数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 【总体设计】图1 系统功能模块图 【详细设计】1. 主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】 图2. 主函数流程图附录:源代码 #include#include#include#includetypedef struct income_infoint number; double income; int month; int day; int year; char name50; s
3、truct income_info * next;IncomeLink,* Pointer1;typedef struct output_infoint number; double output; int month; int day; int year; int use; char name50; struct output_info * next;OutputLink,* Pointer2;int Select(void); /收入和支出管理选择函数void Insert1(Pointer1 * Head1);void Insert2(Pointer2 * Head2);void Sea
4、rch1(Pointer1 Head1);void Search2(Pointer2 Head2);void Update1(Pointer1 Head1);void Update2(Pointer2 Head2);void Delete1(Pointer1 *Head1);void Delete2(Pointer2 *Head2); void Show1(Pointer1 Head1);void Show2(Pointer2 Head2); void Count1(Pointer1 Head1);void Count2(Pointer2 Head2);int n,k;int main() v
5、oid printf_message1(); void menu(); char m7;char M7;char num15; int i,j; long sum; Pointer1 Head1=NULL; Pointer2 Head2=NULL; printf(*欢迎使用班级财务管理系统*n); printf( 请输入你的帐号(即你的学号):); gets(num); for(i=4;i10;i+) mi-4=numi; m6=0; for(i=0;i=1310321101&sumnumber=in_number) printf(已经有相同的编号:); printf(n按任意键继续!n);
6、getchar(); return; else q=p;p=p-next; r=(Pointer1)malloc(sizeof(IncomeLink); r-next=NULL; if(r=NULL) printf(分配空间失败n); return; if(q=NULL) *Head1=r; else q-next=r; r-number=in_number; printf(请输入收入金额(单位:元):); scanf(%lf,&r-income); printf(请输入收入时间:n); printf(年:); scanf(%d,&r-year); printf(月:); scanf(%d,&
7、r-month); printf(日:); scanf(%d,&r-day); printf(请输入您的姓名:); scanf(%s,r-name); printf(nnnn); Sleep(300); void Insert2(Pointer2 *Head2) /添加支出 int in_number; Pointer2 p,q,r; printf(请输入编号: ); scanf(%d,&in_number); p=q=*Head2; while(p!=NULL) if(p-number=in_number) printf(已经有相同的编号:); printf(n按任意键继续!n); getc
8、har(); return; else q=p;p=p-next; r=(Pointer2)malloc(sizeof(IncomeLink); r-next=NULL; if(r=NULL) printf(分配空间失败n); return; if(q=NULL) *Head2=r; else q-next=r; r-number=in_number; printf(请输入支出金额(单位:元):); scanf(%lf,&r-output); printf(请输入支出时间:n); printf(年:); scanf(%d,&r-year); printf(月:); scanf(%d,&r-mo
9、nth); printf(日:); scanf(%d,&r-day); printf(请输入用途:); printf(n); printf(请选择(1-4):n); scanf(%d,&r-use); printf(请输入使用人名称:); scanf(%s,r-name); Sleep(300);void Search1(Pointer1 Head1) /查询收入 int flag=1; int number1; Pointer1 p; printf(请输入查询的编号:); scanf(%d,&number1); p=Head1; while(p!=NULL&flag) if(p-number
10、=number1) printf(收入金额:%lf元n,p-income); printf(收入时间:n); printf(年:%d,月:%d,日:%dn,p-year,p-month,p-day); printf(姓名:%s,p-name); printf(nnnn); getchar(); flag=0; else p=p-next; if(flag) printf(没有查到n); printf(nnnn); getchar();void Search2(Pointer2 Head2) /查询支出 void Search_name(Pointer2 Head2); void Search_
11、number(Pointer2 Head2); int i; printf(请选择查询的方式:n); printf(1.姓名 2.编号n); scanf(%d,&i); switch(i) case 1: Search_name(Head2); break; case 2: Search_number(Head2); break; Sleep(1000); printf(nnnn); getchar();void Search_name(Pointer2 Head2) /支出查询函数(姓名) int flag=1; char name50; Pointer2 p; printf(请输入查询的姓
12、名:); scanf(%s,name); p=Head2; while(p!=NULL&flag) if(strcmp(p-name,name)=0) printf(支出金额:%lf元n,p-output); printf(支出时间:n); printf(年:%d,月:%d,日:%dn,p-year,p-month,p-day); if(p-use=1) printf(用途:吃喝n); else if(p-use=2) printf(用途:娱乐n); else if(p-use=3) printf(用途:学习n); else printf(用途:其它n); printf(使用人姓名:%s,p-
13、name); printf(n按任意键继续!n); getchar(); flag=0; else p=p-next; if(flag) printf(没有查到n);void Search_number(Pointer2 Head2) /支出查询函数(编号) int flag=1; long number; Pointer2 p; printf(请输入查询的编号:); scanf(%ld,&number); p=Head2; while(p!=NULL&flag) if(p-number=number) printf(支出金额:%lf元n,p-output); printf(支出时间:n); printf(年:%d,月:%d,日:%dn,p-year,p-month,p-day); if(p-use=1) printf(用途:吃喝n); else if(p-use=2) printf(用途:娱乐n); els
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1