C语言程序设计个人财务管理系统.docx

上传人:b****8 文档编号:30404144 上传时间:2023-08-14 格式:DOCX 页数:16 大小:34.10KB
下载 相关 举报
C语言程序设计个人财务管理系统.docx_第1页
第1页 / 共16页
C语言程序设计个人财务管理系统.docx_第2页
第2页 / 共16页
C语言程序设计个人财务管理系统.docx_第3页
第3页 / 共16页
C语言程序设计个人财务管理系统.docx_第4页
第4页 / 共16页
C语言程序设计个人财务管理系统.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言程序设计个人财务管理系统.docx

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

C语言程序设计个人财务管理系统.docx

C语言程序设计个人财务管理系统

程序设计工程训练报告

C语言程序设计个人财务管理系统

课程名称C语言程序设计工程训练

姓名

院(系)信息科学与技术学院

专业班级

学号

指导教师

教务处制

1.需求分析1

2系统总框图和功能模块说明1

系统总框图1

功能模块说明1

3系统设计2

主要结构体2

主要功能函数2

4系统调试3

、程序开始执行时系统的所显示的页面:

3

、选择退出系统:

3

、选择登陆,并且输入的帐号和密码都正确:

3

、用户输入的帐号不正确:

4

、用户输入的帐号正确,密码不正确:

4

、用户进行具体操作:

5

5总结6

6源程序清单6

1.需求分析

编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。

那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。

同时也要求系统能够对不同的用户的身份进行查找和验证。

在验证通过之后,在对其进行用户所要求的操作。

作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。

但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。

除此之外,还必须有足够大的空间来存储新的记录。

所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。

2系统总框图和功能模块说明

系统总框图

功能模块说明

(1)old_record():

此函数由系统自行调用,作用是将所有用户信息存入系统。

(2)voidsave():

此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。

(3)load():

此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。

(4)lookup_accounts():

此函数的作用是将用户输入的帐号与系统中的所有帐号进行对比,查看系统中是否有此帐号。

(5)check_code():

此函数是作用是在系统查询到了帐号之后,对用户输入的帐号和密码进行检验,看是否相对应。

(6)print_message():

此函数的功能是在系统检查了用户输入的帐号和密码之后,如果用户通过了系统的检查,在此显示用户可见的基本信息。

(7)find_record():

此函数的作用是根据用户输入的日期进行查找操作。

(8)insert_record():

此函数的功能是在记录中增加一条新的记录,这个记录由用户输入。

(9)del_record():

此函数的功能是根据用户的输入的位置,将相应位置的记录删除。

(10)sum_num():

此函数的功能是计算所有收入和支出的总和,计算全部的收入的总合,计算全部输出的总合。

(11)打印输出记录的函数:

在本程序中一共有三个打印输出记录的函数,分别为all_print()、acc_print()、pay_print()这三个函数。

它们的功能依次是打印输出全部记录,打印输出输入记录,打印输出支出记录。

(12)mian():

在主函数中,可以根据用户的选择来操作系统允许用户使用的功能,也可以随时退出这个系统。

3系统设计

主要结构体

个人信息

账户信息

主要功能函数

old_record()ec_len=4;

strcpy(r[0].account,"1001");

strcpy(r[1].account,"1002");

strcpy(r[2].account,"1003");

strcpy(r[0].code,"111111");

strcpy(r[1].code,"222222");

strcpy(r[2].code,"333333");

strcpy(r[0].name,"wang");

strcpy(r[1].name,"li");

strcpy(r[2].name,"zhang");

strcpy(r[0].rec[0].date,"07-01-01");

strcpy(r[0].rec[1].date,"07-02-01");

strcpy(r[0].rec[2].date,"07-03-01");

strcpy(r[0].rec[3].date,"07-04-01");

strcpy(r[1].rec[0].date,"07-01-02");

strcpy(r[1].rec[1].date,"07-02-02");

strcpy(r[1].rec[2].date,"07-03-02");

strcpy(r[1].rec[3].date,"07-04-02");

strcpy(r[2].rec[0].date,"07-01-03");

strcpy(r[2].rec[1].date,"07-02-03");

strcpy(r[2].rec[2].date,"07-03-03");

strcpy(r[2].rec[3].date,"07-04-03");

strcpy(r[0].rec[0].operate,"in");

strcpy(r[0].rec[1].operate,"out");

strcpy(r[0].rec[2].operate,"in");

strcpy(r[0].rec[3].operate,"out");

strcpy(r[1].rec[0].operate,"out");

strcpy(r[1].rec[1].operate,"in");

strcpy(r[1].rec[2].operate,"out");

strcpy(r[1].rec[3].operate,"in");

strcpy(r[2].rec[0].operate,"in");

strcpy(r[2].rec[1].operate,"out");

strcpy(r[2].rec[2].operate,"in");

strcpy(r[2].rec[3].operate,"out");

r[0].rec[0].num=3000;

r[0].rec[1].num=-1500;

r[0].rec[2].num=2500;

r[0].rec[3].num=-1000;

r[1].rec[0].num=-3000;

r[1].rec[1].num=5000;

r[1].rec[2].num=-1000;

r[1].rec[2].num=2000;

r[2].rec[0].num=1000;

r[2].rec[1].num=-1500;

r[2].rec[2].num=3000;

r[2].rec[2].num=-500;

returnok;

}

n");

return;

}

for(i=0;i

if(fwrite(&r[i],sizeof(structlist_record),1,fp)!

=1)

printf("filewriteerror.\n");

fclose(fp);

}

n");

return;

}

for(i=0;i

if(fread(&r[i],sizeof(structlist_record),1,fp)!

=1)

{if(feof(fp))

(fclose(fp));

return;

}

fclose(fp);

}

ccount,acc)==0)

{

returnok;

}

printf("帐号不存在,请重新输入!

\n");

returnnull;

}

ate,"0");

strcpy[i].operate,"0");

[i].num=0;

}

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

if(strcmp(r[i].account,acc)==0)

if(strcmp(r[i].code,c)==0)

returnr[i];

printf("thecodeiswrong,pleaseinputagain!

\n");

returna;

}

ccount);

}

ec_len;i++)

{

if(strcmp((*p).rec[i].date,d)==0)

{

printf("dateoperatemoney\n");

printf("%s",(*p).rec[i].date);

printf("%s",(*p).rec[i].operate);

printf("%d\n",(*p).rec[i].num);

returnok;

}

}

if(i==(*p).rec_len)

printf("thedateisnotexit!

\n");

returnnull;

}

ec_len+1)))

{

printf("thepositioniswrong.\n");

return0;

}

else

{

for(i=(*p).rec_len;i>lop-1;i--)

{

strcpy((*p).rec[i].date,(*p).rec[i-1].date);

strcpy((*p).rec[i].operate,(*p).rec[i-1].operate);

(*p).rec[i].num=(*p).rec[i-1].num;

}

strcpy(p->rec[i].date,p1->date);

strcpy((*p).rec[i].operate,(*p1).operate);

(*p).rec[i].num=(*p1).num;

(*p).rec_len++;

returnok;

}

}

ec_len))

{

printf("thepositioniswrong.\n");

returnnull;

}

else

{

for(i=lop2-1;i<(*p).rec_len-1;i++)

{

strcpy((*p).rec[i].date,(*p).rec[i+1].date);

strcpy((*p).rec[i].operate,(*p).rec[i+1].operate);

(*p).rec[i].num=(*p).rec[i+1].num;

}

(*p).rec_len--;

returnok;

}

}

ec_len;i++)

{printf("%s",(*p).rec[i].date);

printf("%s",(*p).rec[i].operate);

printf("%d",(*p).rec[i].num);

printf("\n");

}

}

ec_len;i++)

{

sum+=(*p).rec[i].num;

if((*p).rec[i].num>0)

sum_in+=(*p).rec[i].num;

if((*p).rec[i].num<0)

sum_out+=(*p).rec[i].num;

}

printf("总金额为:

%d\n",sum);

printf("总收入为:

%d\n",sum_in);

printf("总支出为:

%d\n",sum_out);

returnok;

}

ec_len;i++)

if((*p).rec[i].num>0)

{

sum_acc+=(*p).rec[i].num;

printf("%s",(*p).rec[i].date);

printf("%s",(*p).rec[i].operate);

printf("%d",(*p).rec[i].num);

printf("\n");

}

printf("总收入金额为:

%d\n",sum_acc);

returnok;

if(sum_acc==0)

printf("thereisnoaccount.\n");

returnnull;

}

ec[i].num<0)

{

sum_pay+=(*p).rec[i].num;

printf("%s",(*p).rec[i].date);

printf("%s",(*p).rec[i].operate);

printf("%d",(*p).rec[i].num);

printf("\n");

}

printf("总的支出为:

%d\n",sum_pay);

returnok;

if(sum_pay==0)

printf("thereisnopayout.\n");

returnnull;

}

voidmain()

{

intj=0,n=0;

intx,k,lop1,lop2;

chardata1[20];

characcou[20],cod[20];

structrecord*p0;

structrecorda;

structlist_recordb;

structlist_record*p;

=0;

p0=&a;

old_record(r);

save();

load();

printf("欢迎使用个人财政支出管理系统!

\n");

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

printf("||\n");

printf("|1、登陆系统|\n");

printf("|2、退出系统|\n");

printf("||\n");

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

scanf("%d",&x);

if(x==0)

printf("感谢您使用本系统,再见!

\n");

else

{

do

{

printf("请输入帐号:

");//while(j<3);

scanf("%s",accou);

if(lookup_accounts(r,accou))

{printf("请输入密码:

");//while(j<3);

scanf("%s",cod);

b=check_code(r,accou,cod);

if==0)

{do

{

b=check_code(r,accou,cod);//while(n>3)

scanf("%s",cod);

n++;

}while(n<3);

if(n=3)

printf("您的密码不正确,请退出系统,谢谢使用,再见!

\n");

break;

}

else

{

printf("---------------请选择您要进行的操作-------------------\n");

printf("||\n");//while(j<3);

printf("|2、查找记录|\n");

printf("|3、增加记录|\n");

printf("|4、删除记录|\n");

printf("|5、输出所有记录|\n");

printf("|6、输出所有收入记录|\n");

printf("|7、输出所有支出记录|\n");

printf("||\n");

printf("-----------------------------------------------------|\n");

p=&b;

print_message(p);

do

{

scanf("%d",&k);//while(k>0)

if(k==10)

printf("感谢您使用本系统,再见!

\n");

if(k==2)

{

printf("请输入您要查询的日期:

");

scanf("%s",data1);

find_record(p,data1);

}

if(k==3)

{

printf("请输入你要插入的位置:

\n");

scanf("%d",&lop1);

printf("请输入您要添加的记录:

\n");

printf("日期:

");

scanf("%s",p0->date);

printf("操作:

");

scanf("%s",p0->operate);

printf("金额:

");

scanf("%d",&(p0->num));

insert_record(p,p0,lop1);

}

if(k==4)

{

printf("请输入您要删除的记录的位置:

\n");

scanf("%d",&lop2);

del_record(p,lop2);

}

if(k==5)

{

all_print(p);

sum_num(p);

}

if(k==6)

acc_print(p);

if(k==7)

pay_print(p);

}while(k>0);

break;

}

}

j++;

}while(j<3);

printf("感谢您使用本系统,再见!

\n");

}

}

(2)量化评分表

请学生将下面成绩评定表复制到报告的最后一页(单独一页)。

程序设计工程训练成绩评定标准表

明细项目

评分等级(含系数)

评分分值

实际得分

考勤

A

(1)

B()

C

D

10

工程项目规范

A

(1)

B()

C

D

10

工程训练报告

A

(1)

B()

C

D

30

设计作品质量

A

(1)

B()

C

D

45

材料收集情况

A

(1)

B()

C

D

5

综合评分

90-100

80-89

70-79

合格

60-69

不合格

0-59

该生成绩为:

,指导老师(签名):

评定日期:

年月日

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

当前位置:首页 > 表格模板 > 合同协议

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

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