C程序设计课程设计报告doc.docx

上传人:b****7 文档编号:15296784 上传时间:2023-07-03 格式:DOCX 页数:8 大小:21.18KB
下载 相关 举报
C程序设计课程设计报告doc.docx_第1页
第1页 / 共8页
C程序设计课程设计报告doc.docx_第2页
第2页 / 共8页
C程序设计课程设计报告doc.docx_第3页
第3页 / 共8页
C程序设计课程设计报告doc.docx_第4页
第4页 / 共8页
C程序设计课程设计报告doc.docx_第5页
第5页 / 共8页
C程序设计课程设计报告doc.docx_第6页
第6页 / 共8页
C程序设计课程设计报告doc.docx_第7页
第7页 / 共8页
C程序设计课程设计报告doc.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C程序设计课程设计报告doc.docx

《C程序设计课程设计报告doc.docx》由会员分享,可在线阅读,更多相关《C程序设计课程设计报告doc.docx(8页珍藏版)》请在冰点文库上搜索。

C程序设计课程设计报告doc.docx

C程序设计课程设计报告doc

C程序设计课程设计报告

C程序设计课程设计报告起止日期2012年11月1日2012年11月29日课题名称外币兑换系统组号第十组指导教师生龙目录一.小组成员及具体分工-4-1.1小组成员信息...-4-1.2具体分工....-4-二.课程设计目的.-4-2.1设计意义.-4-2.2设计目的.-4-三.课题总体设计.-5-3.1系统的需求分析-5-3.2功能描述.-6-3.3功能模块图....-7-3.4系统流程图.-10-四.详细设计说明.-12-4.1相互调用关系....-12-4.2各功能模块算法流程图...-12-五.调试与测试..-13-5.1测试过程中遇到的主要问题及采取的解决措施.....-13-5.2调试及运行结果-16-六.课程设计心得与体会..-20-七.附录一参考文献..-21-八.附录二源程序清单..-22-在经济全球化的今天,各国之间的经济往来越来越密切,货币的兑换也越来越频繁,这就需要外币兑换系统来解决我们生活中遇到的外币兑换问题。

一.小组成员及具体分工1.1小组成员信息2.1具体分工二.课程设计目的2.1设计意义在经济全球化飞速发展的今天,各国之间的交往越来越密切,同时外币的兑换也越来越频繁,为了适应现代化的需求,开发了外币兑换系统,帮助我们解决外币之间的兑换,方便国与国之间的交流。

在VC6.0的环境下完成并实现人民币与外币之间的双向转换,让我们进一步的深入的了解C面向对象的思想;在程序编写过程中体会并深刻学习各模块函数之间的调用关系。

通过编写和调试程序代码来发现和弥补自身学习的不足,找出学习中存在的弱点并加以进一步的学习完善,帮助我们更好的吸收并运用C语言的优点,也为接下来的学习打好扎实的基础。

2.2设计目的在理论学习的基础上通过实际编写程序体会C语言的特点,从而达到学习该语言的目的,在理论学习的基础上通过实际的操作了解自己掌握该种语言的深度。

本程序主要实现的是main函数与huilv之间的调用问题,用面向对象的思想创建huilv类,使程序变得更加明了。

main函数主要控程序的进程及程序界面的控制,提示用户按照提示进行操作,并在必要时刻提醒用户是否继续运行本程序的操作。

在头文件中建立huilv类,并声明公有和私有成员,用做调用huilv函数的基础。

huilv函数主要通过代码编写各币种之间兑换的汇率,并通过相应的算法得出最后兑换的结果,从而实现外币兑换的主要功,并制定各功能模块的主界面。

三.课题总体设计3.1系统的需求分析

(一)课题设计说明使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。

(二)基本要求1)在下列菜单中选择对换方式,在接下来的下级菜单中选择币种,然后在随后弹出的菜单中输入要兑换的货币数量,完成转换操作。

2)兑换时,显示汇率。

3)可按照以下菜单提示设计程序。

外币兑换系统请选择1.外币对换人民币2.人民币兑换外币3.退出系统外币兑换系统你选择的是外币对换人民币请选择币种1.英镑2.欧元3.日元4.瑞士法郎5.加拿大元6.美元7.港元8.澳元9.........10.返回外币兑换系统你选择的是英镑汇率是1101.输入所换金额2.显示兑换结果3.返回3.2功能描述本系统主要实现人名币与外币(英镑、欧元、日元、瑞士法郎、加拿大元、美元、港元、澳元等)之间的双向转换,在实际编写过程中我们有额外添加了几个指定的外币与外币的转换,使该系统的功能更加完善,但由于将外币与外币之间的转换功能完善需要比较大的内容,所以仅涉及了其中一些比较常用的外币之间的转换,请您在使用时务必按照提示操作,否则后果自负。

3.3功能模块图英镑、欧元、日元、瑞士法郎、加拿大元、美元、港元、澳元人民币外币双向转换美元英镑英镑英镑英镑英镑英镑兑换美元欧元兑换日元兑换美元美元瑞士法郎兑换美元加拿大元兑换美元港元兑换美元澳元英镑美元兑换兑换主界面模块图外币兑换人民币模式菜单图人民币兑换外币模式菜单图外币兑换外币模式菜单图帮助模式菜单图3.4系统流程图若您输入的是0进入退出模式若您输入的是2进入人民币兑换外币模式若您输入的是3进入外币兑换外币模式若您输入的是1进入外币兑换人民币模式点击运行按键,进入主界面输入数字选择您要进入的模式若您输入的是4进入帮助模式若您选择的是外币兑换人民币模式,则请继续输入数字,选择您要兑换的币种可选择的币种有英镑、欧元、日元、瑞士法郎、加拿大元、美元、港元、澳元输入要兑换的金额,经过计算机的计算,得出兑换后人民币的金额输入您选择的币种所对应的数字,开始兑换。

界面上显示出兑换汇率,继续操作。

若您选择的是人民币兑换外币模式,则请继续输入数字,选择您要兑换的币种可选择的币种有英镑、欧元、日元、瑞士法郎、加拿大元、美元、港元、澳元输入要兑换的金额,经过计算机的计算,得出兑换后人民币的金额输入您选择的币种所对应的数字,开始兑换。

界面上显示出兑换汇率,继续操作。

若您选择的是外币兑换外币模式,则请继续输入数字,选择您要兑换的币种可选择的有英镑、欧元、日元、瑞士法郎、加拿大元、美元、港元、澳元兑换美元机美元兑换英镑输入要兑换的金额,经过计算机的计算,得出兑换后人民币的金额输入您选择的币种所对应的数字,开始兑换。

界面上显示出兑换汇率,继续操作。

欢迎进入外币兑换系统,本系统可以实现外币与人民币之间的双向兑换,可兑换的外币有英镑、欧元、日元、瑞士法郎、加拿大元、美元、港元、澳元,至于其他外币之间的兑换功能有待作者完善,请按照提示运行,否则后果自负若您选择帮助模式四.详细设计说明4.1相互调用关系huilv.h作为头文件是huilv与main函数的基础,并且创建huilv类,声明了函数的公共部分机私有部分。

在main函数中调用huilv函数的内容,并且控制程序的进程,提示用户如何操作。

huilv函数主要构建了外币兑换人民币模式,人民币兑换外币模式,外币兑换外币模式以及帮助模式的菜单函数,是整个程序的核心部分。

在各个模块中利用简洁的代码语句表达本程序的功能,并显示相应的汇率,通过计算机的计算最后得出用户想要的结果,实现该系统的基本价值。

4.2各模块功能流程图兑换后的结果要兑换的币种的汇率兑换的币种、此符号代表此符号代表乘号等于号五.调试与测试5.1测试过程中遇到的主要问题及采取的解决措施问题一尝试更改主界面颜色,但程序运行后没有实现预期的效果例如(注此模块为学生帐号信息管理系统的主界面模块)由于受到一个用c语言所编写的学生账号信息管理系统的启发,决定像学生账号信息管理系统的程序编写者一样,试图去更改运行结果对话框的颜色(例如,将黑色的对话框改为草绿色),从而使程序的界面更加新颖,并且吸收调试者的眼神。

但在实际编写过程中,更改界面颜色这部分代码语句并未起到实际作用,在程序运行后,对话框的颜色仍然没有改变,始终显示为黑色,并没有达到预期想要的效果。

分析原因学生账号信息管理系统的原作者在程序中建立了include头文件,为windows程序的后续编写提供基础,并利用system“cls“(清屏工具)将运行对话框的原有颜色清除,重新定义新的颜色变量,从而达到更改运行对话框颜色的目的。

但在此过程中,该程序的作者还声明了类似C语言中控制台程序下的read()函数,在此函数下完成了颜色转换的目的。

注有关运行界面颜色更改的问题尚未解决,其中原因之一便是不知道怎样更改底层函数的控制颜色的代码。

问题二在主界面前跳出程序启动提示,并且需要输入验证码才能进入主界面,否则将不能进入该程序这样一个模块。

但程序运行后虽然出现次功能,但没有像学生账号信息管理系统一样与主界面模块分开显示,作为进入该程序的一个屏障,而是与主界面同时显示例如(注此模块为学生帐号信息管理系统的初始模块)原因分析学生帐号信息管理系统的原作者像第七组的程序一样加入了时间控制功能,在初始模块与主界面模块之间加入了延时工具,并且学生帐号信息管理系统的作者还设置了密码输入时允许的最大出错次数并且定义了异或因子,从而实现保护本程序的目的,防止除用户之外的其他人进入该系统并修改用户储存的信息,使用户的信息得到保护。

注此功能虽已找到问题出现的原因,但由于各种原因在外币兑换系统中尚未添加此功能。

问题三在调试过程中发现输入兑换金额时不能输入小数点如果输入小数点,系统不能识别,从而导致系统自动退出。

原因分析源程序将输入兑换金额这部分代码声明为整形变量。

解决方案将原程序中输入兑换金额这部分代码修改为浮点类型(float)的变量,其他部分不变。

修改后运行结果如下(注该问题是程序编写过程中的一个漏洞){附加XX给出的节解决方案,添加一个头文件,再添加一个小数点函数。

但由于这种方案使程序变得繁琐,而且看起来比较累赘,所以没有采用}问题四本程序尚未实现联网更新汇率的功能并且外币兑换外币模式的功能本不完全原因分析有关外币兑换外币模式那个模块由于要添加完全需要比较多的代码语句支持,而且这部分语句均相同,所以没有将这部分代码语句添加完全(为使程序代码不累赘,而且代码语句类似,没有太多必要编写完全)。

至于联更新汇率这部分功能尚未找到解决方案,次问题尚未解决。

问题五尝试用类模块的方式编写了一个新程序(即将各个模式看作一个新模块,相互之间无影响),但程序编好后不能在VC6.0的环境下运行,而可以在MicrosoftVisualStudio2005(或MicrosoftVisualStudio2008)的环境下运行原因分析MicrosoftVisualStudio是VC6.0的进化版,在其功能模块下定义了许多VC6.0中没有的功能,相对VC6.0而言比较完善,它包含了对许多变量的默认定义,可以运行在VC6.0中不能运行的程序(需要注意的是这里指的程序本身没有问题,而是在VC6.0的环境下运行不成功),是日后我们编程首选的软件。

因为VC6.0中对许多功能没有默认的定义功能,所以在运行我编写的以类模块的形式构建的函数体时,总是会有错误(该错误为对某个变量没有定义)。

在与同学商讨之后,采取他的建议,从官网上下载了一个VC6.0的补丁包,原以为程序可以运行了,但结果却在意料范围之外,该程序依然不能运行,任然出现与原来相同的错误提示。

注此问题尚未找到更好的解决方案,任然是我们在程序编写过程中的一个难点,这也充分说明我们对C的认识不够深入,如果要编写类模块的程序,还需要进一步深入的学习,深入理解C中类与面向对象这部分内容。

5.2调试及运行结果主界面模块图外币兑换人民币菜单模块图及运行结果模块图人民币兑换外币菜单模块图及运行结果图外币兑换外币菜单模块图及运行结果图六.课程设计心得与体会经过这次的C课设,我们对C语言中函数、类与面向对象以及函数的调用关系等内容有了一个更加深刻的认识。

在调试过程中还认识到C语言在编写程序的过程中需要非常细心和严谨的态度,并且要有足够的耐心,否则就会出现很多问题这就需要我们有耐心,一步一步的来,问题终究会解决。

从理论到实践,在将近一个月的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

本程序涉及的知识虽然简单,却也是C语言必备的基本知识。

在做课程设计的过程中,我见识到了C语言的重要性和我在程序设计方面的不足,让我了解到要把书本知识转换为可以实际操作的东西是需要扎实的理论基础和严谨的逻辑思维的,同时我也发现了平时很多没有注意到的问题,弥补了我C语言方面的不足,比如说数组,在本程序中出现的很频繁,我必须用心的一个一个分析,调试,每一次的调试成功,都带给了我莫大的欣喜。

通过这次的C的课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

让我感受最深的一点是以前上实验课时,只是注重如何编写函数能够完成所需要的功能,似乎没有明确的战术,只是凭单纯的意识和简单的语句来堆砌出一段程序。

感觉有点像张飞打仗有勇无谋,只要能完成任务就行。

但现在编程感觉完全不同了。

在编写一个程序之前,自己能够综合考虑各种因素,首先选取自己需要的数据结构,是树图或是别的什么图然后选定一种或几种储存结构来具体决定后面的函数的主要风格。

最后在编写每一个函数之前,可以仔细斟酌比对,挑选出最适合当前状况的算法。

这样,即使在完整程序还没有编写出来之前,自己心中已经有了明确的原图了。

这样无形之中就提高了自己编写程序的质量。

同时在此次C课程设计中也或得了一些经验,将其罗列如下1.调试程序的时候有简单到复杂碰到程序运行出错时,可以先把不关联的那部分程序注释掉,只留下与问题相关联的一部分,确保程序运行正确后,然后在逐段将代码释放,这样变很容易发现问题所在。

2.有错误的程序会莫名其妙的运行正常,但你并没有找到出错的原因。

这时千万不要高兴太早,应该继续调试和试验,一定要把错误找出来。

只要你找不出这个错误来,这个错误将会成为一个不定时的炸弹,不一定什么时候会爆炸。

七.附录一参考文献1.C面向对象程序设计谭浩强著2.C语言程序设计(c99版)3./download1094./3308002.html5./11226098.html2.C语言程序设计(C99版)3./downloads1094./3308002.html5./1226098.html八.附录二源程序清单头文件includeincludeincludeincludeincludeusingnamespacestd;classhuilv//定义类huilv{publicintch;intcoin;voidshouye{cout英镑“cout欧元“cout日元“cout瑞士法郎“cout加拿大元“cout美元“cout港元“cout澳元“cout返回“coutcoin;//请输入您的选择ifcoin1//您选择的是英镑{floatnum;coutnum;floatduihuan2;{floatx;x9.9095*num;coutnum;floatduihuan2;{floatx;x7.9602*num;coutnum;floatduihuan2;{floatx;x0.0783*num;coutnum;floatduihuan2;{floatx;x6.6043*num;coutnum;floatduihuan2;{floatx;x6.2367*num;coutnum;floatduihuan2;{floatx;x6.2345*num;coutnum;floatduihuan2;{floatx;x0.8037*num;coutnum;floatduihuan2;{floatx;x6.4690*num;cout英镑“cout欧元“cout日元“cout瑞士法郎“cout加拿大元“cout美元“cout港元“cout澳元“cout返回“coutcoin;//请输入您的选择ifcoin1//您选择的是英镑{floatnum;coutnum;floatduihuan2;{floatx;x0.1012*num;coutnum;floatduihuan2;{floatx;x0.1264*num;coutnum;floatduihuan2;{floatx;x13.010*num;coutnum;floatduihuan2;{floatx;x0.1514*num;coutnum;floatduihuan2;{floatx;x0.1603*num;coutnum;floatduihuan2;{floatx;x0.1601*num;coutnum;floatduihuan2;{floatx;x1.2434*num;coutnum;floatduihuan2;{floatx;x1.2796*num;cout英镑兑换美元“cout欧元兑换美元“cout日元兑换美元“cout瑞士法郎兑换美元“cout加拿大元兑换美元“cout港元兑换美元“cout澳元兑换美元“cout美元兑换英镑“cout返回“coutcoin;ifcoin1//您选择的是英镑兑换美元{floatnum;coutnum;floatduihuan2;{floatx;x1.6033*num;coutnum;floatduihuan2;{floatx;x1.2975*num;coutnum;floatduihuan2;{floatx;x0.0121*num;coutnum;floatduihuan2;{floatx;x1.0776*num;coutnum;floatduihuan2;{floatx;x1.0072*num;coutnum;floatduihuan2;{floatx;x0.1290*num;coutnum;floatduihuan2;{floatx;x1.0460*num;coutnum;floatduihuan2;{floatx;x0.6237*num;couthuilv1.ch;huilv1.duihuan;ifhuilv1.ch4//您选择的是4退出模式exit1;//退出系统ifhuilv1.ch0//您选择的是0帮助模式{coutch;//请输入您的选择coutch;coutendlendl;iftolowerchy//输入y返回主函数main;else//输入n退出系统exit1;system“pause“;return0;}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2