还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C语言程序设计报告设计题目家庭财务记账系统学院通信与信息工程学院年级通信1101班组长组员:2012年07月07日通信与信息工程学院实验报告设计题目家庭财务记账系统
一、程序设计的要求
1、要求设计一个家庭财务的记录系统,记录家庭的收入、支出明细,并且对访问者有权限要求
2、要求写出设计报告,报告中要求写出总体设计框架和详细程序分析
3、6名学生分一组,选出组长共同完成在报告中各个同学要明确写出自己所做的工作,并由组长认可评定
4、手写及设计方案均用A4制打印以便统一装订成册,并且要求上交电子文本
二、程序设计分组本小组成员共6个人可评出一个组长,其中有两人负责在图书管查资料一人负责写实验报告剩余4个人每人编辑若干个程序功能并且在运行无误后交上.
三、程序设计环境
1.硬件环境每生一台机
2.软件环境Vc++
6.
04、总体设计(—)功能模块设计
1.添加收入信息主菜单中选择1的时候进行添加收入操作,系统调用add_income函数来添加收入信息,首先建立单链表,函数调用input_info函数提示用户输入收入信息,并存储到单链表中,输入完成后返回到主菜单界面
2.查询收入明细主菜单中选择2的时候进行查询收入明细操作,系统调用search_income函数来查询收入的明细,调用search_data函数来完成具体的查询操作首先提示用户输入要查询的年月,如果用户输入错误,给出输入错误的提示信息,如果用户输入正确,在单链表中查找该年月的收入信息,如果查找成功,按照指定格式显示找到的收入信息每页显示9条收入信息,如果找到的收入信息多余9条,按空格键翻页如果没有找到任何信息,系统给出提示信息查找成功后提示用户是否继续查询操作,如果用户输入“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面
3.删除收入信息主菜单中选择3的时候进行删除收入信息的操作,调用delete_data函数进行删除收入的操作首先提示用户输入要删除收入的年月,然后根据用户输入的年月信息在单链表中查找相关信息,如果查找成功调用show_info函数显示查找到的收入信息,每页最多显示9条信息,如果查找到的收入信息多余9条,则按空格键翻页,最后提示用户输入要删除的收入信息的序号,完成删除的操作如果查找不成功,给出相应的提示信息删除操作结束后,提示用户是否继续删除的操作,如果用户输入“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面
4.更新收入信息主菜单中选择4的时候进行更新收入信息的操作,调用update_data函数进行更新收入的操作首先,提示用户输入要更新收入的年月,然后,根据用户输入的年月信息在单链表中查找相关信息如果查找成功则调用show_info函数,显示查找到的收入信息,每页最多显示9条信息;如果查找到的收入信息多于9条,则按空格键翻页,最后提示用户输入要更新的收入信息的序号,调用input_info函数,输入更新的收入信息,完成更新的操作如果查找不成功,则给出相应的提示信息更更新操作结束后,提示用户是否继续进行更新操作,如果用户输入“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面
5.添加支出信息主菜单中选择5的时候进行添加支出操作,系统调用add_income函数来添加支出信息添加支出信息的操作与添加收入信息的操作相似
6.查询支出明细主菜单中选择6的时候进行查询支出明细操作,系统调用search_income函数来查询支出的明细,调用search_data函数来完成具体的查询操作查询支出明细的操作与查询收入明细的操作相似
7.删除支出信息主菜单中选择7的时候进行删除支出信息的操作,调用delete_data函数进行删除支出的操作删除支出的操作与删除收入的操作相似
8.更新支出信息主菜单中选择8的时候进行统计操作,调用update_data函数进行更新支出的操作更新支出的操作与更新收入的操作相似
9.统计收入、总支出主菜单中选择9的时候进行统计操作,调用count_total函数进行总收入、总支出的统计在单链表中,计算收入和支出的总和,并将两者想见得到家庭收入的结余,并按一定的格式显示出来统计结束后,按任意键返回主菜单界面
10.退出系统主菜单中选择0的时候退出系统,调用quit函数进行退出操作,首先调用s__e-to-file函数,将单链表中的数据保存到文件,再调用clear_data函数清空单链表,最后退出系统家庭财务管理的功能模块如图所示家庭财务管理的功能模块
(2)程序处理流程系统的执行应从系统菜单的选择开始,允许用户输入0~9之间的数值来选择要进行的操作,输入其他字符都是无效的,系统会给出错误的提示信息若用户输入0,调用quit退出系统;若输入一,则调用add_income函数,进行添加输入操作;如输入2,则调用search_income函数,进行查询收入明细;若输入3,则调用delete_income函数,进行删除收入操作,若用户输入4,则调用update_income函数,修改收入操作;若输入5,则调用add_payout函数,进行添加支出操作;若输入6,则调用search-payout函数,进行查询支出明细操作;如输入7,则调用delete_payout,进行删除支出操作;若输入8,则调用update_payout函数,进行修改支出操作;若输入9,则调用count——total函数,进行统计总收入、总支出操作其处理流程入图所示
1.添加操作建立单链表,调用input_info函数,提示用户输入要添加的收入或支出的信息;并将输入的信息存储到单链表中,输入完成后返回主菜单界面
2.查询操作提示用户输入查询的年月,如果用户提示错误,则给出相应的出错提示信息;如果用户输入正确,则根据用户输入的数据在单链表中查找收入或支出的信息如果没有找到,则给出没有数据的提示;如果找到,则判断记录个数是否小于9,如果小于9,直接显示结果,否则提示用户按空格翻页查询操作的处理流程如图所示否是是是否否否是否是否是是否是否
2.查询操作提示用户输入查询删除的年月,如果用户输入错误,则给出相应的出错提示信息;如果用户输入正确,则根据用户输入的数据在单链表中查找收入或支出的信息如果没有找到,则给出没有数据的提示信息;如果找到,显示找到的记录信息,并提示用户输入序号进行删除操作删除成功后给出相应的提示信息删除的处理流程如图所示否是是是否否是是否否是是否是否是否
4.修改操作首先提示用户输入查询的年月,如果用户输入错误,则给出相应的出错提示信息;如果用户输入正确,则根据用户输入的数据在单链表中查找收入或支出的信息如果没有找到,则给出没有数据的提示信息;如果找到,显示找到的记录信息,并提示用户输入序号进行修改操作修改成功后给出相应的提示信息修改的处理流程如图所示否是是是否否否是否是是否是否是否是否五.详细设计及程序设计1头文件finan__.h
1.常量定义#define__X_NAME11/*家庭成员姓名最大长度*/#define__X_DETAIL21/*备注最大长度*/#defineMENU_COUNT9/*菜单选项个数*/#defineDATA_FILEfs.dat/*数据文件文件名*/2.数据结构定义
(1)定义枚举,表示收入和支出typedefenum_fi_type{income=1/*收入*/payout=-1/*支出*/}fi_type;
(2)定义储存家庭财务信息的结构体typedefstruct_fi_info{intyear;intmonth;fi_typetype;charname[__X_NAME];floatmoney;chardetail[__X_DETAIL];}fi_info;
(3)定义储存财务数据结构的结构体typedefstruct_fi_data{fi_infoinfo;struct_fi_data*next;}fi_data;3.函数声明
(1)主菜单对应的处理函数voidadd_income;/*添加收入*/voidsearch_income;/*查询收入*/voiddelete_income;/*删除收入*/voidupdate_income;/*修改收入*/voidadd_payout;/*添加支出*/voidsearch_payout;/*查询支出*/voiddelete_payout;/*删除支出*/voidupdate_payout;/*修改支出*/voidcount_total;/*统计总收入总支出*/voidquit;/*退出*/
(2)主要处理函数voidsearch_datafi_typetype;/*查询处理*/voiddelete_datafi_typetype;/*删除处理*/voidupdate_datafi_typetype;/*更新处理*/
(3)辅助函数voidmi__;/*__*/voidinitialize;/*系统初始化*/voids__e_to_file;/*数据保存文件*/voidclear_data;/*清空链表数据*/fi_data*get_last;/*得到链表数据最后一个节点*/fi_data*get_previousfi_data*p;/*取前一个节点*/voidinput_infofi_info*info;/*输入财务数据信息*/voidshow_infofi_data*p[]intcount;/*显示财务信息*/
(二)模块设计
1.文件包含#includestdio.h#includestdlib.h#includestring.h#includefinan__.h
2.定义一个头节点fi_data*head;
3.常量定义以下是主菜单中要显示的字符charmenu[]========================\n|家庭财务管理系统|\n++\n|收入管理|\n|
(1)添加收入|\n|
(2)查询收入|\n|
(3)删除收入|\n|
(4)修改收入|\n++\n|支出管理|\n|
(5)添加支出|\n|
(6)查询支出|\n|
(7)删除支出|\n|
(8)修改支出|\n|
(9)合计|+------------------------------------+\n|
(0)退出|\n+------------------------------------+\n;
4.定义函数指针数组函数指针数组menu___in_func储存的是主菜单项中10个功能函数的地址,分别对应0—9菜单项void*menu_fun[]={quitadd_incomesearch_incomedelete_incomeupdate_incomeadd_payoutsearch_payoutdelete_payoutupdate_payout};
5.主函数int__in{intseleted=0;mi__;initialize;whileseleted=0seleted=MENU_COUNT\{systemcls;//清屏printfmenu;printf请选择要进行的操作%d-%d0MENU_COUNT;ifscanf%dseleted!=1||seleted0||seletedMENU_COUNT{printf输入错误!请选择[%d-%d]之间的数,按任意键重试0MENU_COUNT;fflushstdin;getchar;}else{menu_fun[seleted];}seleted=0;}}
6.主菜单对应的处理函数
(1)添加收入函数名称add_income函数功能用户在主菜单中选择1的时候调用此函数,用来添加收入信息的操作处理流程首先建立链表,调用input_info函数,提示用户输入输入信息,并将输入的信息储存到单链表中,输入完成后返回到主菜单界面程序清单voidadd_income{fi_data*p=fi_data*__llocsizeoffi_data;memsetp0sizeoffi_data;p-next=NULL;input_infop-info;p-info.type=income;ifhead==NULL{head=p;}else{get_lasthead-next=p;}}
(2)查询收入明细函数名称search_income函数功能用户在主菜单中选择2的时候调用此函数,用来查询收入明细的操作,函数中调用search_data来完成收入明细的查询程序清单voidsearch_income{search_dataincome;}
(3)删除收入函数名称delete_income函数功能用户在主菜单中选择3的时候调用此函数,用来删除收入信息的操作在函数中调用delete_data来完成程序清单voiddelete_income{delete_dataincome;}
(4)修改收入函数名称updata_income函数功能用户在主菜单中选择4的时候调用此函数,用来修改收入信息的操作函数中调用update_data来完成的程序清单voidupdate_income{update_dataincome;}
(5)添加支出函数名称add_payout函数功能用户在主菜单中选择5的时候调用此函数,用来添加支出信息的操作处理流程首先建立链表,调用input_info函数,提示用户输入输入信息,并将输入的信息储存到单链表中,输入完成后返回到主菜单界面程序清单voidadd_payout{fi_data*p=fi_data*__llocsizeoffi_data;memsetp0sizeoffi_data;input_infop-info;p-info.type=payout;ifhead==NULL{head=p;}else{get_lasthead-next=p;}}
(6)查询支出明细函数名称search_payout函数功能用户在主菜单中选择6的时候调用此函数,用来查询收入明细的操作,函数中调用search_data来完成收入明细的查询程序清单voidsearch_payout{search_datapayout;}
(7)删除支出函数名称delete_payout函数功能用户在主菜单中选择7的时候调用此函数,用来删除支出信息的操作在函数中调用delete_data来完成程序清单voiddelete_payout{delete_datapayout;}
(8)修改支出函数名称updata_payout函数功能用户在主菜单中选择8的时候调用此函数,用来修改收入信息的操作函数中调用update_data来完成的程序清单voidupdate_payout{update_datapayout;}
(9)统计总收入总支出函数名称count_total函数功能主菜单中选择9的时候进行统计的操作,在单链表中,计算收入和支出的总和,并将两者想减得到家庭收入的结余,并按一定的格式显示出来程序清单voidcount_total{floattotal_income=
0.0;floattotal_payout=
0.0;fi_data*p=head;whilep!=NULL{ifp-info.type==income{total_income+=p-info.money;}else{total_payout+=p-info.money;}p=p-next;}printf+------------+------------+------------+\n;printf|合计收入|合计支出|结余|\n;printf+------------+------------+------------+\n;printf|%
12.2f|%
12.2f|%
12.2f|\ntotal_incometotal_payouttotal_income-total_payout;printf+------------+------------+------------+\n;printf按任意键返回主菜单\n;fflushstdin;getchar;}
(10)退出系统函数名称quit函数功能将链表中的数据释放,退出系统程序清单voidquit{s__e_to_file;clear_data;exit0;}
7.主要处理函数
(1)查询处理函数名称search_data函数功能收入和支出的查询操作处理流程
①提示用户按照指定格式输入要查询的年月,如果用户输入错误,给出提示;如果用户输入正确,则在单链表中查找该年月的收入信息
②如果查询成功,判断查询结果个数是否小于9,调用函数show_info显示找到的收入信息;如果大于9,按空格进行翻页操作
③如果没有找到任何信息,系统给出提示信息
④提示用户是否继续查询,如果用户输入Y或y,则再次进行查询操作;否则,返回主菜单界面程序清单/*查询处理*/voidsearch_datafi_typetype{intyear=0;intmonth=0;fi_data*p=NULL;fi_data*result
[9]={NULL};intcount=0;charinput=;while1{printf请输入要查询的年月(例如2009/1);ifscanf%d/%dyearmonth!=2{printf输入错误\n;}else{p=head;count=0;memsetresult0sizeoffi_data*;whilep!=NULL{ifp-info.year==yearp-info.month==monthp-info.type==type{ifcount9{result[count]=p;count++;}else{show_inforesultcount;printf输入空格并回车翻页其余键退出;fflushstdin;input=getchar;ifinput=={memsetresult0sizeoffi_data*;count=0;result[count]=p;count++;}else{break;}}}p=p-next;}ifcount!=0{show_inforesultcount;}else{printf没有找到数据\n;}printf继续查找其它数据?yorn;fflushstdin;input=getchar;ifinput==y||input==Y{continue;}else{break;}}}}
(2)删除处理函数名称delete_data函数功能收入和支出的删除操作处理流程
①提示用户输入要删除收入的年月,然后根据用户输入的年月信息在单链表中查找相关信息
②如果查找成功,且查找到的数据小于9,直接调用show_info函数显示查找到的收入信息;入过查到的数据大于9,则按空格键翻页
③最后提示用户输入要删除的收入信息的序号,完成删除的操作
④如果查找不成功,给出相应的提示信息
⑤提示用户是否继续删除的操作,如果用户输入“Y”或“y”则再进行查询操作;否则,返回值菜单界面程序清单voiddelete_datafi_typetype{intyear=0;intmonth=0;fi_data*p=NULL;fi_data*pre=NULL;fi_data*result
[9]={NULL};intcount=0;charinput=;inti=0;while1{printf请输入要查询的年月例如:2009/1;ifscanf%d/%dyearmonth!=2{printf输入错误!\n;}else{p=head;count=0;memsetresult0sizeoffi_data*;whilep!=NULL{ifp-info.year==yearp-info.month==monthp-info.type==type{ifcount9{result[count]=p;count++;}else{show_inforesultcount;printf输入空格并翻页输入对应的序号删除其他键退出;fflushstdin;input=getchar;ifinput=={memsetresult0sizeoffi_data*;count=0;result[count]=p;count++;}elseifinput=1input=48+count{i=input-49;pre=get_previousresult[i];ifpre==NULL{head=head-next;}else{pre-next=result[i]-next;}freeresult[i];for;icount-1;i++{result[i]=result[i+1];}result[i]=p;printf删除成功!\n;}else{break;}}}p=p-next;}ifcount!=0{show_inforesultcount;printf输入对应的序号删除,其它键退出;fflushstdin;input=getchar;ifinput=1input=48+count{i=input-49;pre=get_previousresult[i];ifpre==NULL{head=head-next;}else{pre-next=result[i]-next;}freeresult[i];for;icount-1;i++{result[i]=result[i+1];}result[i]=NULL;count++;printf删除成功!\n;}}else{printf没有找到数据!\n;}printf继续查找其它数据?yorn;fflushstdin;input=getchar;ifinput==y||input==Y{continue;}else{break;}}}}
(3)更新处理函数名称update_data函数功能收入和支出的更新操作处理流程
①首先提示用户输入要更新收入或支出的年月,然后根据用户输入的年月信息在单链表中查找相关信息
②遇过查找成功,且查找到的数据小于9,直接调用show_info函数显示查找到的收入或支出信息;如果大于9,则按空格键翻页
③最后提示用户输入要更新的收入或支出信息的序号,调用input_info函数输入更新的收入或支出信息,完成更新操作
④如果查找不成功,则给出相应的提示信息
⑤提示用户是否继续更新操作,如果用户输入“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面程序清单voidupdate_datafi_typetype{intyear=0;intmonth=0;fi_data*p=NULL;fi_data*pre=NULL;fi_data*result
[9]={NULL};intcount=0;charinput=;inti=0;while1{printf请输入要查询的年月例如:2009/1;ifscanf%d/%dyearmonth!=2{printf输入错误!\n;}else{p=head;count=0;memsetresult0sizeoffi_data*;whilep!=NULL{ifp-info.year==yearp-info.month==monthp-info.type==type{ifcoumt9{result[count]=p;count++;}else{show_inforesultcount;printf输入空格并翻页输入对应的序号删除其他键退出;fflushstdin;input=getchar;ifinput=={memsetresult0sizeoffi_data*;count=0;result[count]=p;count++;}elseifinput=1input=48+count{i=input-49;input_inforesult[i]-info;printf修改成功!\n;p=get_previousp;}else{break;}}}p=p-next;}ifcount!=0{show_inforesultcount;printf请输入对应的序号修改,其它键退出;fflushstdin;input=getchar;ifinput=1input=48+count{i=input-49;input_inforesult[i]-info;show_inforesultcount;printf修改成功!\n;}}else{printf没有找到数据!\n;}printf继续查找其它数据?yorn;fflushstdin;input=getchar;ifinput==y||input==Y{continue;}else{break;}}}}
8.辅助函数
(1)系统初始化函数名称initialize函数功能系统初始化操作,包括数据文件和单链表的初始化函数清单voidinitialize{FULE*fp=NULL;fi_data*p=NULL;fi_data*last=NULL;intcount=0;/*判断数据文件是否存在,不存在创建一个*/fp=fopend:\\data.datrb;iffp==NULL{fp=fopend:\\data.datw;/*创建文件*/fclosefp;return;}p=fi_data*__llocsizeoffi_data;memsetp0sizeoffi_data;p-next=NULL;whilefreadp-infosizeoffi_data1fp==1{ifhead==NULL/*链表为空*/{head=p;}else{last=get_last;/*头节点不为空时,在链表中找到最后一个*/last-next=p;/*将b连到最后一个节点之后*/}count++;fseekfpcount*sizeoffi_infoSEEK_SET;/*将文件指针指到下个*/p=fi_data*__llocsizeoffi_data;memsetp0sizeoffi_data;p-next=NULL;}freep;p=NULL;fclosefp;}
(2)将财务数据保存到文件函数名称s__e_to_file函数功能将单链表中的数据保存到文件程序清单voids__e_to_file{FILE*fp=fopend:\\data.datwb;fi_data*p=head;whilep!=NULL{fwritep-infosizeoffi_info1fp;fseekfp0SEEK_END;p=p-next;}fclosefp;}
(3)清空链表中的数据函数名称clear_data函数功能退出系统时调用该函数,清空单链表中的数据函数清单voidclear_data{fi_data*p=NULL;whilehead!=NULL/*链表不为空*/{ifhead-next!=NULL/*如果链表中有两条以上的数据*/{p=head;head=head-next;/*头节点向后__一位*/freep;/*释放原节点*/p=NULL;}else/*清除链表中最后一本书*/{freehead;head=NULL;}}}
(4)取最后一个节点函数名称get_last函数功能取得收入和支出数据链表中的最后一个节点函数清单fi_data*get_last{fi_data*p=head;ifp==NULL{returnp;}whilep!=NULLp-next!=NULL{p=p-next;}returnp;}
(5)取参数p的去前一个节点函数名称get_previous函数功能取得收入或支出数据节点p的前一个节点函数清单fi_data*get_previousfi_data*p{fi_data*previous=head;whileprevious!=NULL{ifprevious-next==p{break;}previous=previous-next;}returnprevious;}
(6)输入收入或支出数据信息函数名称input_info函数功能提示用户按指定格式输入收入或支出信息函数清单voidinput_infofi_info*info{printf请输入年月YYYY/M:;scanf%d/%dinfo-yearinfo-month;printf请输入家长成员姓名最大长度为%d:__X_NAME-1;scanf%sinfo-name;printf请输入金额:;scanf%finfo-money;printf请输入备注最大长度为%d__X_DETAIL-1;scanf%sinfo-detail;}
(7)显示收入或支出数据函数名称show_info函数功能按指定格式显示收入或支出信息函数清单voidshow_infofi_data*p[]intcount{inti;printf+---+---------+------+------------+------------+----------------------+\n;printf|NO.|年-月|类型|姓名|金额|备注|\n;printf+---+---------+------+------------+------------+----------------------+\n;fori=0;icount;i++{printf|%3d|%4d-%02d|%4s|%-10s|%
10.2f|%-20s|\ni+1p[i]-info.yearp[i]-info.monthp[i]-info.type==income收人:支出p[i]-info.namep[i]-info.moneyp[i]-info.detail;printf+---+---------+------+------------+------------+----------------------+\n;}}
(8)权限设置函数名称mi__函数功能对使用者设置访问权限程序清单voidmi__{inta=1;chars1
[10]s2
[10]={abc123};printf========================\n;printf欢迎进入家庭财务管理系统!\n;printf+--------------------------------------+\n;printf请输入__\n;whilea{getss1;printf+-------------------------+\n;ifstrcmps1s2==0{printf输入正确!\n;printf按回车继续.\n;getchar;a=0;}else{printf__错误!\n;printf请重新输入\n;}}}
六、个人心得体会众人拾财火焰高,这是我在这次作业中最大的体会,我想这也是这次作业的意义所在吧,通过这次作业,我们都锻练了很好的合作能力,提升了彼此的沟通能力;再者,通过这次程序设计,一让我懂得了只有平时的多练习才会编写一些程序,以及会分析这些程序的功能,了解程序的特点二认真细心会在编写程序时节约不少的时间三在这次的程序设计中团结是很重要的,每个人的明确分工使任务能很顺利的完成经过两周的课程设计,在c语言方面有很多的体会更多的是关于人与人之间的关系方面的,因为本人对c__的学习不是很好,学的东西没有完全掌握链表部分就很让人抓挠我们组长耐心的给我们讲解并一次又一次调试,在最后终于看到了成果所以在以后的学习过程中,我会理论加实践,使自己成为完整型人才通过这次实习活动,体现出当今社会是一种集中体现了团队合作的社会体制,虽然世界劳动的分配方式是能者多劳,劳者多得的社会现状但是社会是我们每一个成员分子所组成的大熔炉任凭每一个人也发挥不了多大能耐,唯有团结一致才能发挥最大效果这次实习中,我们每个成员积极参与,服从分配,工作热情高涨,团队合作出色各成员之间彼此互相帮助,依彼之长,补己之短使得这次实习任务完成空前成功回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整二个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和__思考的能力在设计的过程中遇到问题,这毕竟__做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故本次实习,给我的最大体会就是学习要严谨,要认真,在我们组全体成员的__努力下,我们出色的完成了这次实习计划和教学任务团结互助、齐心努力是我们能完成的根本原因我现在认识到,在学习上,就要不懂就问,不懂就钻研,如果我们同学之间,同学和老师之间不去交流,不去相互帮助,那么就什么也做不好,今后,我会更加努力,更加勤奋的去学习这门课程!在这个程序当中,我们组的每个成员都发挥了不可或缺的作用,在组长的坚强__下,在老师和同班同学的大力支持下,在全组成员的不懈奋斗下,我们的课题终于完成了这说明了什么,这说明团结就是力量!一个人的力量是有限的,但是我们大家的力量却是巨大的在学习上,我认为就应该这样,就应该同学之间多交流,多帮助我相信,明天会更好!
八、组长评语首先,我能成为组长,我感到十分荣幸!这次的实习课题,我们组能在规定的时间内出色完成,我感觉这是组内每一个成员的辛勤所得,这次的成功离不开大家的努力对于这次的课题,确实难度非常大,在刚开始的几天的里,我们尝试了几种方法,但是都不能全面的完成程序,大家一时间陷入了瓶颈!直到后来,老师告诉我们要静下心来细细的去把其中出问题的地方弄懂,我们大家信心倍增经过了不懈的努力,在老师的__下,我们历尽千辛万苦,终于将这个系统完成这说明了什么,这说明团结就是力量!一个人的力量是有限的,但是我们大家的力量却是巨大的在这里,我想说的是,大家辛苦了!在学习上,我认为就应该这样,就应该同学之间多交流,多帮助我相信,我们的明天会更好!参考资料《C程序设计(第二版)》谭浩强清华大学出版社《C语言程序设计》田祥松西安电子科技大学出版社《C语言课程设计》第二版黄明等电子工业出版社通信与信息工程学院通信工程1101班2012年07月07日家庭财务记账系统收入管理支出管理统计退出添加收入查询收入明细删除收入修改收入添加支出查询支出明细删除支出修改支出开始继续查询询继续查询主菜单界面主菜单界面0退出1添加收入2查询收入明细3删除收入4修改收入5添加支出6查询支出明细7删除支出8修改支出9统计总收入总支出结束开始用户输入条件输入正确?提示错误定义指针p指向头节点提示没有数据结果个数是0?P是NULL?取得p指向节点的数据显示结果P的值等于用户输入的条件?P是NULL?提示用户按空格键翻页结果个数9?用户翻页?将p的值添加到结果中提示是否再次查询P=p-next清空结果结果再次查询?结束开始用户输入条件输入正确?提示错误定义指针p指向头节点结果个数为0?提示没有数据P是NULL取得p指向节点的数据P的值等于用户输入的条件?显示结果提示用户按数字键删除数据删除链表中对应的值结果个数9?P是NULL?将p的值添加到结果中提示用户按空格键翻页用户翻页?P=p-next清空结果在结果中删除第i个值用户删除第i个?再次查询?结束开始用户输入条件输入正确?提示错误定义指针p指向头节点结果个数为0?提示没有数据P是NULL取得p指向节点的数据显示结果P的值等于用户输入的条件?提示用户按数字键删除数据P是NULL结果个数9?将p的值添加到结果中提示用户按空格键翻页清空结果用户翻页?P=p-next更新链表中的数据用户删除第i个?再次查询?结束。