【vc++精品源码栏目提醒】:网学会员,鉴于大家对vc++精品源码十分关注,论文会员在此为大家搜集整理了“软件编程实训36 - 基础科学”一文,供大家参考学习!
软件编程实训 1 实训报告专 业: 计算机科学与技术班 级:学 号:期: 2012 年 6 月 20 日 制造业信息化系一、 课程实训目的1. 巩固并加深学生对 C语言程序设计知识的理解;2. 培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;3. 进一步掌握和应用 VC 6.0 或 Visual Studio 2005 集成开发环境;提高程序调试的能力,能够快速准确的排查程序错误并纠正,最终调试出可正确运行的程序;4. 提高运用 C语言解决实际问题的能力;5. 初步掌握开发小型实用软件的基本方法,能独立设计、实现基本功能的小系统;6. 掌握应用程序设计开发和文档撰写规范。
二、 课程实训任务 每位学生从所给定的题目里面选择两个感兴趣的题目作为实训任务,另外也可自定题目,需经指导老师同意后方可作为实训任务。
三、 万年历程序设计与实现1. 系统需求(1)功能结构图程序主要实现 3 个功能:显示某一年的每个月的日历、显示某一年某一个月的日历以及查询某一天是星期几。
(2)需求说明①. 功能选择用菜单实现。
例如: 1 显示某一年的日历 2 显示某年某一月的日历 3 显示某一天是星期几 0 退出 用户通过输入不同的数字进入不同的菜单。
②. 每一月以日历表格的形式显示,表格的第一行显示星期,表格的内容是每一天。
用户可以很容易看到每一天是星期几。
③. 利用输入输出函数和循环控制语句,实现一个简单的人机交互界面。
④. 利用逻辑表达式,使用控制语句,判断闰年,某年某月某日是星期几。
⑤. 实现对显示结果进行控制。
2. 系统总体设计(1)系统开发环境 Visual Studio 2005(2)系统总体设计 定义全局变量:daysOfMonth33031 定义一个 PerpetualCalendar 类,包括 getYear、getMonth、getDay、getWeek、setYear、setMonth、setDate、printMonth、printYear、 printDay、operate、PerpetualCalendar、PerpetualCalendarint yint mint d、isLeapint y、getDays getYear、getMonth、getDay的作用是返回所输入的年、月、日,getWeek返回所输入年月日的星期数,返回 0—6 中的任意一个数字; setYear、setMonth、setDate的作用是输入年月日; printYear按年打印万年历,printMonth 按月打印万年历,printDay打印输入日期所对应的星期; operate执行各种操作; PerpetualCalendar为无参构造函数 PerpetualCalendarint yint mint d带参构造函数; isLeapint y判断是否为闰年; getDays计算从 0 年以来的天数。
3. 系统详细设计(1)界面菜单设计及实现void PerpetualCalendar::operate int ichoose bool chooseFlagfalse while1 whilechooseFlag coutltltquot-----------------------------------------------------------nquotltltendl coutltltquot 欢迎进入万年历查询系统nquotltltendl coutltltquot-----------------------------------------------------------quotltltendl coutltltquot请选则要查询的内容:quotltltendl coutltltquot1.显示一年的日历quotltltendl ltltquot2.显示一月的日历quotltltendl ltltquot3.显示某一天是星期几quotltltendl ltltquot0.退出quotltltendl coutltltendlltltquot请输入数字选择你要的操作:nquot cingtgtchoose fori0ilt3i ifchoosei chooseFlagtrue break else chooseFlagfalse ifchooseFlag coutltltquotError Inputquotltltendl ifchoose1 setYear coutltltendl coutltltyearltltquot年的每月日历如下:quotltltendl printYear else ifchoose2 setMonth coutltltyearltltquot年quot printMonth else ifchoose3 setDate printDay else ifchoose0 coutltltquot程序结束quotltltendl break else coutltltquot错误quotltltendl chooseFlag0 (2)显示一年日历功能的设计及实现void PerpetualCalendar::printYear int tempMonthmonth forint i1ilt12i monthi printMonth monthtempMonthvoid PerpetualCalendar::printDay switchgetWeek case 0: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期日quotltltendl break case 1: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期一quotltltendl break case 2: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期二quotltltendl break case 3: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期三quotltltendl break case 4: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期四quotltltendl break case 5: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期五quotltltendl break case 6: coutltltyearltltquot年quotltltmonthltltquot月quotltltdayltltquot日 星期六quotltltendl break (3)显示某一月日历功能void PerpetualCalendar::printMonth int i int tempDayday day1 int weekgetWeek daytempDay int setLineweek string leapYear coutltltmonthltltquot月份的日历如下:nquotltltendl coutltltquot 日 一 二 三 四 五 六quotltltendl switchweek case 0: fori1iltdaysOfMonthmonthisetLine ifsetLine70ampampsetLine0 coutltltendlltltquot quot ifi1 coutltltquot quotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl breakcase 1: fori1iltdaysOfMonthmonthisetLine ifsetLine70 coutltltendlltltquot quot ifi1 coutltltquot quotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl breakcase 2: fori1iltdaysOfMonthmonthisetLine ifsetLine70 coutltltendlltltquot quot ifi1 coutltltquot quotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl breakcase 3: fori1iltdaysOfMonthmonthisetLine ifsetLine70 coutltltendlltltquot quot ifi1 coutltltquot quotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl break case 4: fori1iltdaysOfMonthmonthisetLine ifsetLine70 coutltltendlltltquot quot ifi1 coutltltquot quotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl break case 5: fori1iltdaysOfMonthmonthisetLine ifsetLine70 coutltltendlltltquot quot ifi1 coutltltquotquotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl break case 6: fori1iltdaysOfMonthmonthisetLine ifsetLine70 coutltltendlltltquot quot ifi1 coutltltquotquotltltsetw4ltltsetiosflagsios::leftltlti else coutltltsetw4ltltsetiosflagsios::leftltlti coutltltendl break default:coutltltquotERRORquotltltendl (4)显示某一天是星期几的实现void PerpetualCalend
上一篇:
模式识别与信息处理II类
下一篇:
网上购物系统毕业设计论文