18大学生个人消费管理系统课程设计Word格式.docx
《18大学生个人消费管理系统课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《18大学生个人消费管理系统课程设计Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
函数名称
主界面模块
zhujiemian
浏览模块
liulan
录入模块
luru
查询模块
chaxun
删除模块
shanchu
排序模块
paixu
统计模块
tongji
准备的测试数据如下:
吃饭
电话
买书
旅游
其他
勤工
总支出
1月份
100
400
2月份
200
800
3月份
2、各功能模块的设计:
说明各功能模块的实现方法
1)liulan模块
该函数为void型函数,当选择1是调用浏览函数,然后选择要浏览的月份(选择1,2,3),输入数字,则系统将输出所选择月份的消费信息。
浏览完毕返回主函数。
2)luru模块
该函数完成大学生每个月份的各项消费的录入,为double型。
选择2将调用录入函数,然后选择要录入的月份,然后依次录入各项消费记录。
录入完毕返回主函数。
3)chaxun模块
该函数完成大学生对某个月的消费记录的查询,选择3将调用查询函数,然后输入要查询的月份。
查询完毕后返回主函数。
4)shanchu模块
该函数完成大学生对某个月的消费记录的删除,选择4将调用删除函数,然后输入要删除的月份。
删除后信息将不再存在。
修改完毕后返回主函数。
5)paixu模块
该函数将完成大学生月总支出对消费记录的排序,选择5将调用排序函数,采用替换完成排序。
排序完成后返回主函数。
6)tongji模块
该函数将完成大学生对各项消费记录的统计,采用for循环语句。
选择6将调用统计函数,系统将自动输出对各项消费的统计。
统计完毕后返回主函数。
3、设计中的主要困难及解决方案
设计中要实现多个功能,要用到多个函数。
于是采用分支的机构,主函数中利用switch,case完成各个函数的调用。
4、你所设计的程序最终完成的功能
1)说明你编制的程序能完成的功能
能完成大学生对每个月份消费信息的浏览、录入、查询、删除、排序、统计的功能。
2)准备的测试数据及运行结果
三、程序清单
#include<
iostream.h>
structstudent//定义结构体类型
{
intmonth;
//月份
inteat;
//吃饭消费
intphone;
//电话消费
intbook;
//买书花费
inttravel;
//旅游花费
intother;
//其他花费
intwork;
//勤工收入
intzhichu;
//月总支出
}stu[12],wutong={0,0,0,0,0,0,0,0},kong;
定义结构体数组
voidliulan(studentstu[12])//浏览函数定义
cout<
<
"
月份"
'
\t'
吃饭"
电话"
买书"
旅游"
其他"
勤工"
支出"
\n'
;
for(inti=0;
i<
12;
i++)//
{
cout<
stu[i].month<
stu[i].eat<
stu[i].phone<
stu[i].book<
stu[i].travel<
stu[i].other<
stu[i].work<
stu[i].zhichu<
}
}
voidluru(studentstu[12],studentwutong)//录入函数定义
请输入录入月份:
cin>
>
wutong.month;
//输入选择的月份
intn;
i++)//输入各项的消费
if(stu[i].month==0)
{
n=i;
break;
}
stu[i].month=wutong.month;
请输入吃饭消费:
stu[n].eat;
请输入电话话费:
stu[n].phone;
请输入买书花费:
stu[n].book;
请输入旅游花费:
stu[n].travel;
请输入其他花费:
stu[n].other;
请输入勤工俭学收入:
stu[n].work;
请输入月总支出:
stu[n].zhichu;
voidchaxun(studentstu[12],studentwutong)//查询函数定义
请输入需要查询的月份:
endl;
i++)//查询选择的月份
if(wutong.month==stu[i].month)
cout<
voidshanchu(studentstu[12],studentkong)//删除函数定义
请输入需要删除的月份:
month;
i++)//删除选择的月份
if(month==stu[i].month)
stu[i]=kong;
删除完成"
voidpaixu(studentstu[12],studentwutong)//排序函数定义
i++)//排序输入的信息
for(intj=0;
j<
j++)
if(stu[i].month>
stu[j].month)
{
wutong=stu[i];
stu[i]=stu[j];
stu[j]=wutong;
}
排序完成"
voidtongji(studentstu[12],studentwutong)//统计函数定义
i++)//计算各项消费的总和
{wutong.eat+=stu[i].eat;
wutong.phone+=stu[i].phone;
wutong.book+=stu[i].book;
wutong.travel+=stu[i].travel;
wutong.other+=stu[i].other;
wutong.work+=stu[i].work;
wutong.zhichu+=stu[i].zhichu;
各项消费的总支出为:
wutong.month<
wutong.eat<
wutong.phone<
wutong.book<
wutong.travel<
wutong.other<
wutong.work<
wutong.zhichu<
7)zhujiemian模块
voidzhujiemian()//主界面函数定义
--------欢迎使用大学生消费管理系统主菜单--------"
浏览消费记录,请选择:
1"
录入消费记录,请选择:
2"
查询消费记录,请选择:
3"
删除消费记录:
请选择:
4"
排序消费记录,请选择:
5"
统计消费记录,请选择:
6"
退出,请选择:
0"
//输出主界面
8)main模块
//主函数
voidmain()
for(;
)
zhujiemian();
intanjian;
anjian;
//输入选择的数字
switch(anjian)
case1:
liulan(stu);
break;
//调用浏览函数
case2:
luru(stu,wutong);
break;
//调用录入函数
case3:
chaxun(stu,wutong);
break;
//调用查询函数
case4:
shanchu(stu,wutong);
//调用删除函数
case5:
paixu(stu,wutong);
//调用排序函数
case6:
tongji(stu,wutong);
//调用统计函数
if(anjian==0)
四、对该设计题目有何更完善的方案
1、对自己完成程序进行自我评价。
我的程序较好的完成了任务中规定的设计内容,调用相对完成的较好。
多次运用了分支结构。
2、对课题提出更完善的方案
本课题还可以设计的更加详细,可以设计到每天的消费,每个月按31天机算,这样就可以解决每个月不同天数的问题。
应该还可以用指针设计本课题。
五、收获及心得体会
通过此次课程设计,使我更加扎实了有关结构体定义、结构体数组、分支、循环、调用等方面的知识,在设计过程中虽然遇到了很多问题,但经过问老师、看书以及思考,一遍又一遍的检查找出错误原因,一遍又一遍的修改,说明了我在这方面的知识有所欠缺和经验不足。
实践出真知,我们必须要亲自动手操作。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
最终的检测调试环节,本身就是在证明实践出真知。
这次课程设计终于顺利完成了,在设计中遇到很多问题,最后在老师的指导下,终于都得到了解决。
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,也给了我很多思考,给了我发挥的莫大空间。
同时,设计过程让我感触很深。
此次设计,不仅培养了我们独立思考、动手操作的能力,在其他各种能力上也都有了提高。
日期:
2012年6月29日