计算机硬件及网络软件编程.docx
- 文档编号:464094
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:41
- 大小:45.33KB
计算机硬件及网络软件编程.docx
《计算机硬件及网络软件编程.docx》由会员分享,可在线阅读,更多相关《计算机硬件及网络软件编程.docx(41页珍藏版)》请在冰豆网上搜索。
计算机硬件及网络软件编程
软件编程实训1
实训报告
专业:
计算机科学与技术
班级:
学号:
姓名:
指导教师:
完成日期:
2012年6月20日
制造业信息化系
一、课程实训目的
2、课程实训任务
三、万年历程序设计与实现
1.系统需求
(1)功能结构图
(2)需求说明
1、程序主要实现3个功能:
显示某一年的每个月的日历、显示某一年某一个月的日历以及查询某一天是星期几。
2、功能选择用菜单实现。
用户通过输入不同的数字进入不同的菜单。
3、每一月以日历表格的形式显示,表格的第一行显示星期,表格的内容是每一天。
4、用户可以很容易看到每一天是星期几。
5、利用输入输出函数和循环控制语句,实现一个简单的人机交互界面。
6、利用逻辑表达式,使用控制语句,判断闰年,某年某月某日是星期几。
7、实现对显示结果进行控制。
2.系统总体设计
(1)系统开发环境
操作系统:
Windows7
开发平台:
MicrosoftVisualC++6.0
(2)系统总体设计
该程序包含PerpetualCalendar类,类的成员函数有getYear()返回年份,getMonth()返回月份,getDay()返回日,setYear()显示输入的年份,setMonth()显示输入的年月,setDate()显示输入的年月日,getWeek()计算输入的年月日是星期几并返回星期几,boolisLeap(inty)判断是否为闰年,intgetDays()计算从0年以来有多少天,printMonth()打印出要查询的年份的日历,printYear()打印出查询年份某一月的日历,printDay()打印出查询的星期几,operate()显示所有操作。
3.系统详细设计
(1)界面菜单设计及实现
(2)显示一年日历功能的设计及实现
(3)显示某一月日历功能的设计与实现
(4)显示某一天是星期几的实现
答:
(1)operate()包含界面菜单设计及实现,在operate()下运用while来打印出界面,同时运用if()语句来实现菜单选择。
(2)printMonth()来实现一年日历,运用switch语句打印出按从星期一到星期日来打印出每个月的日历,关键步骤:
Case0:
for(i=1;i<=daysOfMonth[month];i++,setLine++){
if(setLine%7==0&&setLine!
=0)
{cout< cout<<""< : left)< else{cout< : left)< 判断闰年关键技术: boolPerpetualCalendar: : isLeap(inty){ if((y%4==0&&y%100! =0)||(y%400==0))returntrue; elsereturnfalse;} (3)printYear()来实现某年的某月的日历,关键步骤: for(inti=1;i<=12;i++){month=i;printMonth();} (4) 1)首先计算星期几,关键步骤: intweek=getDays()%7;week+=5; week%=7;returnweek;之前在计算从万年历第一年1月1日到要查询的那一天的所有天数,关键技术: inti,sumDays=0;if(isLeap(year)){daysOfMonth[2]=29;}for(i=1;i sumDays+=day;returnsumDays; 2)再是星期几的显示,用printDay()来显示,关键步骤: switch(getWeek()) {case0: cout< case1: cout< case2: cout< case3: cout< case4: cout< case5: cout< case6: cout< 4、特殊计算器程序设计与实现 1.系统需求 (1)功能结构图 (2)需求说明 1、程序的功能是实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊运算。 其中,可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现两个集合的求交集、并集和判断一个集合是否是另一个集合的子集的运算。 2、功能选择可以用菜单实现,用户通过输入不同的数字进入不同的菜单。 3、运行时给出明确的提示信息,比如,输入一个什么类型的数据。 根据用户的输入计算出结果。 4、使用运算符重载实现各种特殊的计算。 2.系统总体设计 (1)系统开发环境 操作系统: Windows7 开发平台: MicrosoftVisualC++6.0 (2)系统总体设计 Complex类包含运算符重载: operator+加,operator-减,operator*乘,operator/除,voidcomplex: : print()函数,显示复数; matrix类matrix: : operator()(shortrow,shortcol)重载运算符成员函数,matrix: : SetElem(shortrow,shortcol,intval)将元素(row,col)设置为val,matrix: : Disp()显示矩阵元素。 rational类,optimization()定义有理数优化函数,voidrational: : print()显示有理数,doublereal(rationalx)声明转换函数,将有理数对象转换为实数。 Set类集合类包含booloperator&(int,set)声明重载运算符&,判断某一整数是否属于某一集合,友元: booloperator==(set,set)声明重载运算符==,判断两个集合是否相等,booloperator! =(set,set)声明重载运算符! =,判断两个集合是否不等,setoperator*(set,set)声明重载运算符+,求两个集合的并,booloperator<(set,set)声明重载运算符<,判断某一集合是否为另一集合的纯子集,booloperator<=(set,set)声明重载运算符<=,判断某一集合是否为另一集合的子集,additem()增加集合元素,print()显示有理数,operator+重载运算符+,operator-重载运算符-,operator*重载运算符*,operator/重载运算符/. Matrix类包含voidDisp(),显示矩阵所有元素,intmatrix: : operator()(shortrow,shortcol),重载运算符成员函数(),voidSetElem(shortrow,shortcol,intval),将元素(row,col)设置为val,friendmatrixoperator+(matrixp,matrixq)重载运算符+,friendmatrixoperator-(matrixp,matrixq)重载运算符-,friendmatrixoperator*(matrixp,matrixq),重载运算符×。 3.系统详细设计 (1)界面菜单设计及实现 (2)显示复数计算功能的设计及实现 (3)显示有理数计算功能的设计与实现 (4)显示矩阵计算的实现 (5)显示集合类计算的实现 答: (1)构造一个函数voidjiemian()来实现界面菜单,并用switch()语句来实现选择,关键技术: if(i>=0&&i<=4){ switch(i) {case1: complexcompute();break; case2: rationalcompute();break; case3: matrixcompute();break; case4: setcompute();break; case0: tuichu();break;} (2)利用complex类来实现复数计算, 1)复数相加用运算符重载: complexoperator+(complexa,complexb){complextemp;temp.real=a.real+b.real;temp.image=a.image+b.image;returntemp;}, 2)相减: complexoperator-(complexa,complexb){complextemp;temp.real=a.real-b.real;temp.image=a.image-b.image;returntemp;} 3)相乘: complexoperator*(complexa,complexb){complextemp;temp.real=a.real*b.real-a.image*b.image;temp.image=a.real*b.image+a.image*b.real;returntemp;} 4)相除: complexoperator/(complexa,complexb){complextemp;floattt;tt=1/(b.real*b.real+b.image*b.image);temp.real=(a.real*b.real+a.image*b.image)*tt;temp.image=(b.real*a.image-a.real*b.image)*tt;returntemp;} 5)复数显示,构建voidcomplexcompute() 6)关键技术: while(j){if(j>=0&&j<=4){floatr1,j1,r2,j2; 7)cout<<"请输入第一个复数的实部: ";cin>>r1;cout<<"请输入第一个复数的虚部: ";cin>>j1;cout<<"请输入第二个复数的实部: ";cin>>r2;cout<<"请输入第二个复数的虚部: ";cin>>j2;complexc1(r1,j1);complexc2(r2,j2);complexc3;switch(j){case1: c3=c1+c2;c1.print();c2.print();c3.print();break; case2: c3=c1-c2;c1.print();c2.print();c3.print();break; case3: c3=c1*c2;c1.prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机硬件 网络软件 编程