人民币大小写转换课程设计.doc
- 文档编号:233661
- 上传时间:2022-10-07
- 格式:DOC
- 页数:15
- 大小:188KB
人民币大小写转换课程设计.doc
《人民币大小写转换课程设计.doc》由会员分享,可在线阅读,更多相关《人民币大小写转换课程设计.doc(15页珍藏版)》请在冰豆网上搜索。
学号
武汉科技大学城市学院
课程设计报告
课程名称可视化编程(VC++)课程设计
题目
人民币大小写软件的实现
学部
信息工程学部
专业
信息管理与信息系统
班级
信管1班
姓名
指导教师
曾志华
2014
年
4
月
17
日
编号
012
可视化编程(VC++)课程设计任务书
题目人民币大小写转换器软件的设计与实现
1开发平台:
Visualstudio2010+SQLServer2005
2设计任务
编写一个简易人民币大小写转换器的程序,要求用户输入数据,要求转换器可以获取数据,并且可以以大写的方式显示出来,如1对应。
3课程设计报告书主要内容
1)需求分析
2)总体设计
2.1设计的总体思想与算法描述
2.2模块结构图
2.3各功能模块的功能与处理流程描述
2.4界面设计
3)各功能模块程序设计
按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重点语句的注释.
4)小结
4课程设计要求
1)按时到机房签到,在指定机位上机。
遵守机房纪律。
2)独立完成课程设计任务。
指导教师到机位上指导学生和分时段验收学生完成的程序,按时提交打印的课程设计报告书
5课程设计参考书
[1]张海蕃.软件工程导论.北京:
清华大学出版社,2008
[2]杨正甫.面向对象分析与设计.北京:
中国铁道出版社,200
撰写者:
曾志华李聪审定者聂玉峰
目录
1需求分析 1
1.1系统概述 1
1.2问题分析 1
2系统总体设计 2
2.1功能模块图 2
2.2系统流程图 2
3系统实现 3
3.1登陆界面 3
3.2转换功能 3
4.关键程序代码 4
5总结 10
6参考文献 11
1需求分析
人民币转换器问题是算法中的一个经典命题之一,研究此类型的问题对提高我们的算法提升是有所帮助,有关这个问题的讲述在讲解循环控制和switch基本都将涉及本系统,同样选择使用这些方法实现该过程。
1.1系统概述
该程序运用的是基于对话框的类。
建立对话框并添加相应的编辑框,用来存储输入的数据和显示结果。
1.2问题分析
(1)当接收数为整数时直接进行转换。
(2)当接受数为不是整数时,分别提出整数部分和小数部分再进行处理。
(3)求得整数部分的长度,根据长度定制循环。
(a)循环中小写数字变成相应的大写字符。
(b)根据整数位数在大写数字后面添加相应的单位。
(c)若无小数部分则在字符串末尾添加字符“整”。
(4)求得小数部分的长度,根据长度制定循环。
(a)循环中小写数字变成相应的大写字符。
(b)根据整数位数在大写数字后面添加相应的单位。
(5)但当小数位为0或00或输入错误只有“.”而没有数字时,根据“.”判断是否添加“整”。
2系统总体设计
在对于整数划分系统的设计中,需要添加一个对话框,在对话框中添加两个编辑框,绑定相应的变量,通过算法,然后实现编辑框的数据向另一个编辑框中输出。
2.1功能模块图
人民币大小写转换软件分为显示功能和转换功能。
人民币转换界面
人民币转换
按钮部分
显示过程
图2-1功能模块图
2.2系统流程图
进入软件界面,输入你要转换的金额,点击转换则会在下方编辑框中显示大写结果,再次输入点击转换可再次转换,点击退出则退出软件。
第一步:
进入界面
第二步:
输入金额
第三步:
显示大写结果
第四步:
再来一次或退出
图2-1功能模块图
3系统实现
3.1登陆界面
点击程序进入程序界面,在上面的编辑框中输入要转换的金额,点击转换则可转换为大写金额。
图3-1:
登陆界面图
3.2转换功能
在编辑框中输入要转换的金额大小,点击转换按钮,再在编辑框中输入数字可进行第二次转换。
图3-2:
输入金额界面图
图3-3:
结果图
4.关键程序代码
voidCtestDlg:
:
OnBnClickedButton1()
{
true);
CStringdest,num,NUM1;//num整数部分,NUM输入数,NUM1小数部分
0;
len1);
(".")!
=-1)
{
j=0[j]'.';j++)
{
num=num+NUM[j];//获取整数
}
inta=NUM.Find(".");
intb=NUM.GetLength();
NUM1=NUM.Right(b-a-1);//获取小数
}
else
num=NUM;
len=num.GetLength();
dest=dest+"人民币";
for(inti=0;i { switch(num[i]) { '1': dest=dest+"壹"; break; case'2': dest=dest+"贰"; break; case'3': dest=dest+"叁"; break; case'4': dest=dest+"肆"; break; case'5': dest=dest+"伍"; break; case'6': dest=dest+"陆; break; case'7': dest=dest+"柒; break; case'8': dest=dest+"捌"; break; case'9': dest=dest+"玖"; break; case'0': { if(num[i+1]=='0'||i==len-1) break; else dest=dest+"零"; } } len-i) { case12: if((num[i]='0') break; dest=dest+"仟"; ; case11: if((num[i])=='0') break; else dest=dest+"佰"; break; case10: if((num[i])=='0') break; else dest=dest+"拾"; break; case9: dest=dest+"亿"; break; case8: if((num[i])=='0') break; else dest=dest+"仟"; break; case7: if((num[i])=='0') break; else dest=dest+"佰"; break; case6: if((num[i])=='0') break; else dest=dest+"拾"; break; case5: dest=dest+"万"; break; case4: if((num[i])=='0') break; else dest=dest+"仟"; break; case3: if((num[i])=='0') break; else dest=dest+"佰"; break; case2: if((num[i])=='0') break; else dest=dest+"拾"; break; case1: if((num[i])! ='0') dest=dest+"元"; else(num[i])=='0'&&len! =1) dest=dest+"元"; else break; case0: if(NUM.Find(".")==-1||NUM.Right (1)=='.') dest=dest+"整"; } } if(NUM1.Compare("00")==0||NUM1.Compare("0")==0) dest=dest+"整"; else { intc=NUM1.GetLength(); for(inti=0;i<=c;i++)//处理小数部分 { NUM1[i]) { case'1': dest=dest+"壹"; break; case'2': dest=dest+"贰"; break; case'3':
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人民币 大小写 转换 课程设计