搜索
您的当前位置:首页正文

C语言会计记账管理系统

来源:六九路网


目录

前言

1 设计项目.............................................1 2.总体设计.............................................1 2.1 流程图..........................................1 2.2 模块功能说明....................................1 2.3 主要函数之间的调用关系及各自功能................1 2.4 流程图..........................................2 3.程序运行效果截图.....................................3 3.1 主菜单..........................................3 3.2 输入账单........................................3 3.3 查看账单........................................3 3.4 查询账单........................................4 3.5 账单统计........................................4 3.6 修改账单........................................4 3.7 解决方案........................................5 4.源代码...............................................6 5.个人总结............................................13

前言

针对现在高校很多学生都进行记账的现状,采用Java和SQL SERVER2000工具,设计并开发了个人帐本管理系统,该系统能帮助用户进行日常理财。用户通过使用该系统,可以方便的进行日常的收入支出统计和查询。

该系统界面友好,功能完善,简单实用。

1 设计项目:会计记账管理系统 2 总体设计:

2.1流程图

会计记账管理系统

查查统输

看计询入

账账账账

单 单 单 单

修改账单 解决方案 2.2模块功能说明:

1 输入功能:输入时期,科目及金额摘要。 2 查看功能:输出时间,科目及金额。 3 查询功能:通过时间查询账单的具体内容。

4 统计功能:统计总收入,总支出,平均收入,平均支出,损益。

5 修改功能:通过输入时间修改指定账单的错误信息。 6 解决方案:通过损益的判断得出解决方案。

2.3主要函数之间的调用关系及各自功能:

void input(void); void look(void); void search(void); void statistic(void);

1

void modify(void); void solution(void); void menu(void);

2.3.1 在菜单界面输入1,调用函数input()实现输入账单。 2.3.2 在菜单界面输入2,调用函数look()实现账单收入,支出的高低。

2.3.3 在菜单界面输入3,调用函数search()实现通过输入时间查询账单。

2.3.4 在菜单界面输入4,调用函数statistic()实现账单总收入,总支出,平均收入,平均支出,损益。

2.3.5 在菜单界面输入5,调用函数modify()实现输入时间,修改该时间下账单的内容。

2.3.6 在菜单界面输入6,调用函数solution()实现输出本期该解决的方案。

2.3.7 在菜单界面输入7,实现程序退出。

2.4 流程图:

开始 输入指令1~ 7 1 2 3 4 5 6 7 输 显修解查账入 示改决询单账 账账方账统 单 单 单 2 计 单 案 退出

3 程序运行效果截图

3.1主菜单

3.2输入账单

3.3查看账单

3

3.4查询账单

3.5账单统计

4

3.6修改账单

3.7解决方案

5

4 源代码:

#include #include #include #include #define N 150 int n;

typedef struct account {

char date[20]; char summary[30]; char subject[30]; float borrow; float loan;

}STU; STU stu[N]; void input(void);

6

void look(void); void search(void); void statistic(void); void modify(void); void solution(void); void menu(void);

void main() { }

void menu(void)

7

int mulu=0; menu();

do{mulu=1; switch(getch()) { }

printf(\"请按下任意键返回主菜单\\n\"); getch(); menu();

}while(mulu==1);

case '1':input();break; /*输入账单*/ case '2':look();break; /*查看账单*/ case '3':search();break; /*查询账单*/ case '4':statistic();break; /*统计账单*/ case '5':modify();break; /*修改账单*/ case '6':solution();break; /*解决方案*/ case '7':exit(0); /*退出程序*/ default:printf(\"您输入的数字有误\");

{ }

/*输入账单的信息*/ void input(void) {

int i; system(\"cls\");

printf(\"请输入账单的数量:\\n\"); scanf(\"%d\system(\"cls\"); printf(\"\\n\");

printf(\"********************会计记账管理系统

********************\\n\"); \\n\");

printf(\"输入账单---------------------------------------------- 1\\n\"); printf(\"-------查看收入,支出账单的高低顺序------------------- printf(\"--------------查询账单-------------------------------- 3\\n\"); printf(\"---------------------账单统计------------------------- 4\\n\"); printf(\"----------------------------修改账单------------------ 5\\n\"); printf(\"-----------------------------------解决方案----------- 6\\n\"); printf(\"------------------------------------------退出程序---- 7\\n\"); printf(\"***********************************************printf(\"请根据目录选择需要执行的内容\\n\");

printf(\" 菜单

2\\n\");

*********\\n\");

printf(\"若无摘要,填'无';若无借\\\\贷金额填'0'\\n\");

8

}

printf(\"输入日期时请按照xxxx-xx-xx(年-月-日)的形式\\n\"); for(i=0;iprintf(\"输入账单%d的时期 摘要 科目 借方金额 贷方金

额:\\n\

scanf(\"%s%s%s%f%f\}

printf(\"输入成功\\n\");

stu[i].borrow,&stu[i].loan);

/*查看账单借贷金额的大小,对账单进行排序*/ void look(void) {

int i,j,k; STU t; system(\"cls\");

/*通过借方金额排比顺序*/ for(i=0;iprintf(\"比较借方金额\\n\");

printf(\"名次\时期\\科目\\借方金额\\n\"); for(i=0;i{printf(\"%d\%s\%s\\%f\

9

for(k=i,j=i+1;jif(stu[j].borrow>stu[k].borrow) k=j; if(k!=j) {t=stu[k];stu[k]=stu[i];stu[i]=t;}

row); n); }

/*通过输入日期查找账单*/ void search(void) {

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

/*通过贷方金额排比顺序*/ for(i=0;iprintf(\"比较贷方金额\\n\");

printf(\"名次\时期\\科目\\贷方金额\\n\"); for(i=0;i{printf(\"%d\%s\%s\\%f\printf(\"\\n\");}

for(k=i,j=i+1;jif(stu[j].loan>stu[k].loan) k=j;

if(k!=j) {t=stu[k];stu[k]=stu[i];stu[i]=t;}

char a[20]; int i; system(\"cls\");

printf(\"请输入需要查询账单的时期,提示;输入日期时请按照scanf(\"%s\for(i=0;iif(strcmp(a,stu[i].date)==0)

10

xxxx-xx-xx(年-月-日)的形式\\n\");

}

{ printf(\"时期\\摘要\科目\\借方金额\\贷方金额

\\n\");

printf(\"%s\%s\%s\\%f\%f\

} else }

printf(\"未找到该时期下的账单\\n\");

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

bject,stu[i].borrow,stu[i].loan);

/*统计总收入,总支出,平均收入,平均支出,损益*/ void statistic(void) {

int i;

float sum1=0,sum2=0,aver1=0,aver2=0,benefit=0; system(\"cls\"); for(i=0;ibenefit=sum1-sum2; aver1=sum1/n; aver2=sum2/n;

printf(\"总收入:%f\\n总支出:%f\\n平均收入:%f\\n平均支出:%f\\n

sum1+=stu[i].borrow; sum2+=stu[i].loan;

损益:%f\\n\

11

}

/*修改账单*/ void modify(void) {

char a[20]; int i; system(\"cls\");

printf(\"输入要修改账单的日期,提示;输入日期时请按照scanf(\"%s\for(i=0;iprintf(\"%s\%s\%s\\%f\%f\

scanf(\"%s%s%s%f%f\

} else

12

xxxx-xx-xx(年-月-日)的形式\\n\");

if(strcmp(a,stu[i].date)==0) {

printf(\"时期\摘要\科目\借方金额\贷方金额\\n\");

bject,stu[i].borrow,stu[i].loan);

printf(\"\\n\");

printf(\"请重新输入日期 摘要 科目 借方金额 贷方金printf(\"\\n\");

额\");

stu[i].borrow,&stu[i].loan);

printf(\"已经修改成功\\n\");

}

}

printf(\"未找到该时期下的账单\\n\");

/*解决方案*/ void solution(void) {

int i;

float sum1=0,sum2=0,benefit=0; system(\"cls\"); for(i=0;ibenefit=sum1-sum2;

if(benefit>0) printf(\"分析本期盈利的原因,并坚持此营销战略,if(benefit==0) printf(\"分析本期收入的情况,并从中选取好的策

sum1+=stu[i].borrow; sum2+=stu[i].loan;

使盈利更大化。\\n\");

略保留,分析本期支出的情况,从中找出支出过多的原因,总结出更好的营销方法,获取更多利润。\\n\"); }

if(benefit<0) printf(\"改变营销方案,增加或减少相应的营销市场,尝试新的保守的策略,来改变以后损益。\\n\");

5 个人总结

整个程式运用了书上的知识,以及一些没学到过的内容,通过for循环,循环输入会计账户,时间,摘要,科目类型,借贷金额。在借贷金额排序中运用选择法,还有不足之处。

13

因篇幅问题不能全部显示,请点此查看更多更全内容

Top