C语言课程设计班级财务管理.docx

上传人:b****7 文档编号:9817887 上传时间:2023-02-06 格式:DOCX 页数:35 大小:40.24KB
下载 相关 举报
C语言课程设计班级财务管理.docx_第1页
第1页 / 共35页
C语言课程设计班级财务管理.docx_第2页
第2页 / 共35页
C语言课程设计班级财务管理.docx_第3页
第3页 / 共35页
C语言课程设计班级财务管理.docx_第4页
第4页 / 共35页
C语言课程设计班级财务管理.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

C语言课程设计班级财务管理.docx

《C语言课程设计班级财务管理.docx》由会员分享,可在线阅读,更多相关《C语言课程设计班级财务管理.docx(35页珍藏版)》请在冰豆网上搜索。

C语言课程设计班级财务管理.docx

C语言课程设计班级财务管理

 

C语言课程设计论文

 

学生姓名:

金灿

学生学号:

1310321109

所在班级:

软件一班

任课教师:

熊英

 

班级财务管理系统

【设计目的】

设计一个班级财务管理系统,该程序具有以下功能:

(1)用户登录:

输入用户名和密码,并判断是管理员还是普通成员,管理员和普通成员具有不同的功能选择界面。

(2)录入信息:

各项财务信息(包括用途、收入、支出、收入(或支出)时间、总计、使用人等。

)。

(3)修改班级成员信息。

(4)删除班级成员信息。

(5)查询班级财务状况。

(6)统计班级财务情况:

班级每月共收入、支出各多少,整个学期共收入、支出多少。

(7)分类统计:

根据用途对支出进行统计排序输出

【设计思路】

根据要求,班级财务数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。

【总体设计】

图1系统功能模块图

【详细设计】

1.主函数

主函数设计要求简洁,只提供部分提示语和函数的调用

【程序】

图2.主函数流程图

附录:

源代码

#include

#include

#include

#include

typedefstructincome_info

{intnumber;

doubleincome;

intmonth;

intday;

intyear;

charname[50];

structincome_info*next;

}IncomeLink,*Pointer1;

typedefstructoutput_info

{intnumber;

doubleoutput;

intmonth;

intday;

intyear;

intuse;

charname[50];

structoutput_info*next;

}OutputLink,*Pointer2;

intSelect(void);//收入和支出管理选择函数

voidInsert1(Pointer1*Head1);

voidInsert2(Pointer2*Head2);

voidSearch1(Pointer1Head1);

voidSearch2(Pointer2Head2);

voidUpdate1(Pointer1Head1);

voidUpdate2(Pointer2Head2);

voidDelete1(Pointer1*Head1);

voidDelete2(Pointer2*Head2);

voidShow1(Pointer1Head1);

voidShow2(Pointer2Head2);

voidCount1(Pointer1Head1);

voidCount2(Pointer2Head2);

intn,k;

intmain()

{voidprintf_message1();

voidmenu();

charm[7];charM[7];charnum[15];

inti,j;

longsum;

Pointer1Head1=NULL;

Pointer2Head2=NULL;

printf("★*********************欢迎使用班级财务管理系统*******************★\n");

printf("请输入你的帐号(即你的学号):

");

gets(num);

for(i=4;i<10;i++)

m[i-4]=num[i];

m[6]='\0';

for(i=0;i<10;i++)

num[i]=num[i]-48;

sum=num[0]*1000000000+num[1]*100000000+num[2]*10000000+num[4]*100000+num[5]*10000+num[6]*1000+num[7]*100+num[8]*10+num[9];

if(sum>=1310321101&&sum<=1310321136)

{

printf("请输入密码(密码为学号的后六位}:

");

gets(M);

if(strcmp(m,M)==0)

{printf("登陆成功!

!

\n");

printf("正为你转接,请稍候。

\n");

Sleep(1000);

if(sum==1310321109||sum==1310321108||sum==1310321107||sum==1310321127||sum==1310321132){printf("★**************************************************************************★\n");

printf("★*********************欢迎使用班级财务管理系统(管理员版)*******************★\n");

printf("★**************************************************************************★\n\n\n");

Sleep(1000);

system("cls");

do

{

printf_message1();

scanf("%d",&j);

switch(j)

{

case1:

k=Select();

if(k==1)

Insert1(&Head1);

else

if(k==2)

Insert2(&Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case2:

k=Select();

if(k==1)

Search1(Head1);

else

if(k==2)

Search2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case3:

k=Select();

if(k==1)

Update1(Head1);

else

if(k==2)

Update2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case4:

k=Select();

if(k==1)

Delete1(&Head1);

else

if(k==2)

Delete2(&Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case5:

k=Select();

if(k==1)

Show1(Head1);

else

if(k==2)

Show2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case6:

k=Select();

if(k==1)

Count1(Head1);

else

if(k==2)

Count2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case0:

break;

default:

printf("错误选择!

\n");break;

}

}

while(j!

=0);

}

else

{printf("★**************************************************************************★\n");

printf("★*********************欢迎使用班级财务管理系统(普通用户版)*****************★\n");

printf("★**************************************************************************★\n\n\n");

Sleep(1000);

system("cls");

do

{

menu();

scanf("%d",&j);

switch(j)

{

case1:

k=Select();

if(k==1)

Insert1(&Head1);

else

if(k==2)

Insert2(&Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case2:

k=Select();

if(k==1)

Search1(Head1);

else

if(k==2)

Search2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case3:

k=Select();

if(k==1)

Show1(Head1);

else

if(k==2)

Show2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case4:

k=Select();

if(k==1)

Count1(Head1);

else

if(k==2)

Count2(Head2);

else

printf("错误选择!

\n\n\n\n");

break;

case0:

break;

default:

printf("错误选择!

\n\n\n\n");break;

}

}

while(j!

=0);

}

return0;

}

elseprintf("密码错误!

请查证后再来!

\n");

}

elseprintf("用户名不存在!

请验证后再输!

!

\a\n");

return0;

}

voidprintf_message1()

{printf("★**************************************************************★\n");

printf("*******************★欢迎使用财务管理系统★*******************\n");

printf("**************************************************************\n");

printf("\n");

printf("☆1.添加财务信息\n");

printf("☆2.查询财务信息\n");

printf("☆3.修改财务信息\n");

printf("☆4.删除财务信息\n");

printf("☆5.显示财务信息\n");

printf("☆6.统计财务信息\n");

printf("☆7.读取数据库\n");

printf("☆0.退出系统\n");

printf("\n");

printf("★**************************************************************★\n");

printf("◆请选择(0-7):

\n");

}

voidmenu()

{printf("★**************************************************************★\n");

printf("*******************★欢迎使用财务管理系统★*******************\n");

printf("**************************************************************\n");

printf("\n");

printf("☆1.添加财务信息\n");

printf("☆2.查询财务信息\n");

printf("☆3.显示财务信息\n");

printf("☆4.统计财务信息\n");

printf("☆5.保存一个新数据库\n");

printf("☆6.读取数据库\n");

printf("☆0.退出系统\n");

printf("\n");

printf("★**************************************************************★\n");

printf("◆请选择(0-6):

\n");

}

intSelect(void)//第二次选择的函数

{intw;

printf("★**************************************************************★\n");

printf("*******************★欢迎使用财务管理系统★*******************\n");

printf("**************************************************************\n");

printf("\n");

printf("☆1.收入\n");

printf("☆2.支出\n");

printf("\n");

printf("★**************************************************************★\n");

printf("◆◆◆请选择(1-2):

\n");

scanf("%d",&w);

return(w);

}

 

voidInsert1(Pointer1*Head1)//添加收入

{

intin_number;

Pointer1p,q,r;

printf("请输入编号:

");

scanf("%d",&in_number);

p=q=*Head1;

while(p!

=NULL)

{if(p->number==in_number)

{printf("已经有相同的编号:

");

printf("\n按任意键继续!

\n");

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",&r->month);

printf("日:

");

scanf("%d",&r->day);

printf("请输入您的姓名:

");

scanf("%s",r->name);

printf("\n\n\n\n");

Sleep(300);

}

voidInsert2(Pointer2*Head2)//添加支出

{

intin_number;

Pointer2p,q,r;

printf("请输入编号:

");

scanf("%d",&in_number);

p=q=*Head2;

while(p!

=NULL)

{if(p->number==in_number)

{printf("已经有相同的编号:

");

printf("\n按任意键继续!

\n");

getchar();

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->month);

printf("日:

");

scanf("%d",&r->day);

printf("请输入用途:

");

printf("<1:

吃喝(eat)2:

娱乐(amusement)3:

学习(studying)4:

其它(other)>\n");

printf("◆请选择(1-4):

\n");

scanf("%d",&r->use);

printf("请输入使用人名称:

");

scanf("%s",r->name);

Sleep(300);

}

 

voidSearch1(Pointer1Head1)//查询收入

{

intflag=1;

intnumber1;

Pointer1p;

printf("请输入查询的编号:

");

scanf("%d",&number1);

p=Head1;

while(p!

=NULL&&flag)

{

if(p->number==number1)

{

printf("收入金额:

%lf元\n",p->income);

printf("收入时间:

\n");

printf("年:

%d,月:

%d,日:

%d\n",p->year,p->month,p->day);

printf("姓名:

%s",p->name);

printf("\n\n\n\n");

getchar();

flag=0;

}

elsep=p->next;

}

if(flag)

{printf("没有查到\n");

printf("\n\n\n\n");

getchar();}

}

 

voidSearch2(Pointer2Head2)//查询支出

{

voidSearch_name(Pointer2Head2);

voidSearch_number(Pointer2Head2);

inti;

printf("请选择查询的方式:

\n");

printf("1.姓名2.编号\n");

scanf("%d",&i);

switch(i)

{

case1:

Search_name(Head2);

break;

case2:

Search_number(Head2);

break;

}

Sleep(1000);

printf("\n\n\n\n");

getchar();

}

voidSearch_name(Pointer2Head2)//支出查询函数(姓名)

{

intflag=1;

charname[50];

Pointer2p;

printf("请输入查询的姓名:

");

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,日:

%d\n",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->name);

printf("\n按任意键继续!

\n");

getchar();

flag=0;

}

elsep=p->next;

}

if(flag)

printf("没有查到\n");

}

 

voidSearch_number(Pointer2Head2)//支出查询函数(编号)

{

intflag=1;

longnumber;

Pointer2p;

printf("请输入查询的编号:

");

scanf("%ld",&number);

p=Head2;

while(p!

=NULL&&flag)

{

if(p->number==number)

{

printf("支出金额:

%lf元\n",p->output);

printf("支出时间:

\n");

printf("年:

%d,月:

%d,日:

%d\n",p->year,p->month,p->day);

if(p->use==1)

printf("用途:

吃喝\n");

elseif(p->use==2)

printf("用途:

娱乐\n");

els

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1