软件课程设计总结报告1
C语言课程设计实验报告1

课程设计报告题目:景点查询系统课程名称:C语言课程设计专业班级:信息安全二班任务书⑴主要内容建立国内景点信息系统,提供创建、编辑和综合查询等基本业务管理和服务。
⑵任务要求收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交《课程设计报告》。
⑶参考文献[1]曹计昌,卢萍,李开. C语言程序设计,北京:科学出版社,2008[2]张引. C程序设计基础课程设计, 杭州: 浙江大学出版社,2007[3]黄明,梁旭,万洪莉. C语言课程设计,北京: 电子工业出版社,2006目录1 绪言 (1)1.1 课题背景 (1)1.2 课题目的及意义 (1)1.3 课题应解决的主要问题及应达到的技术要求 (1)1.4 研究与发展概况及存在的问题 (2)1.5 设计的指导思想 (2)2 方案论证 (3)2.1 菜单的选择 (3)2.2 链表的选择 (3)2.3 主菜单和子菜单的设定 (3)3 课设过程论述 (5)3.1 系统数据 (5)3.2 系统各模块功能 (6)3.3 数据结构设计及用法说明 (8)3.4 程序结构 (9)4 结果分析 (10)5 课程设计总结 (13)6 参考文献 (14)附录程序清单 (15)1 绪言本章阐述课程设计课题的背景、目的与意义、应解决的主要问题及应达到的技术要求;简述研究与发展概况及存在的问题,本设计的指导思想。
1.1 课题背景随着社会的发展,旅游成为一个越来越热门的话题,很多人都会以旅游的方式度过自己的假期、生日、结婚纪念日等等,但是要想充分享受旅游带来的快乐,前期的准备就显得非常重要,只有前期的准备做好了,才能充分规划自己的旅游,才能充分享受自己的旅游。
前期的准备很大一方面是要查询自己要去的地方的一些基本信息,比如景区地点,景区门票。
城市中所含有的景区等等,如果有一个系统能够快速的查询景点信息,那么这就为人们出去旅游提供了很多的信息,帮助人们为旅游做好充分的准备!1.2 课题目的及意义课题目的:本课题主要是通过景点查询系统向人们提供景点,景区,城市等方面信息的查询,修改,统计等服务,让人们快速获得有关旅游景点、景区、城市方面的信息,帮助人们充分规划自己的出行方案。
软件工程课程设计报告

软件工程课程设计报告( 2015 -- 2016 学年第一学期)课程名称:软件工程课程设计题目:学生宿舍管理系统院系:控制与计算机工程学院班级:组号:组长:组员:指导教师:设计周数:两周小组成绩:日期:2016 年1月8日《软件工程》课程设计任务书一、目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。
二、主要内容1.运用面向对象方法进行校园宿舍管理系统的需求分析与设计;2.建模语言采用UML,以Rational Rose为建模工具,进行系统的静态建模和动态建模;3.利用对象模型自动生成数据模型,自动建立数据库;4.使用hibernate技术以面向对象的方式编程管理数据库,前端使用html+css结合javaScript 进行设计,后台逻辑采用java来实现,整个系统采用了ssh框架来实现,使得各个模块低耦合,分层明确,提高了代码的重用以及二次开发;5.撰写课程设计报告。
三、任务分配四、进度计划序号设计内容名称完成时间备注1 分组及确定题目1个工作日2 初步的需求分析与设计建模, 确定实2个工作日现平台,并搭建环境3 详细的需求分析与设计建模2个工作日进行中期检查4 关键模块的实现与测试3个工作日5 编写课程设计报告1个工作日6 验收检查及评定成绩1个工作日五、设计成果要求1.建立系统分析模型与设计模型;2.初步建立系统原型,实现关键的功能;3.编写课程设计报告。
六、考核方式1.系统演示及讲解占50%。
2.设计报告占50%。
指导教师:日期:2015 年12 月25 日《软件工程》课程设计成绩评定一、指导教师评语二、成绩学号姓名成绩备注指导教师:日期:2015 年 1 月8 日摘要:学生宿舍管理是学校的一项重要工作,使用计算机技术来管理学生宿舍,不但可以节省时间、人力和资源,更能全面有效地掌握学生的基本情况,及时获取最新的准确资料和信息,加强对来访人员的管理,优化宿舍内部信息的公示,提高报修物品的处理效率,督促学生提高宿舍的卫生质量,重点监控学生缺寝情况,为同学们营造一个良好、舒适、安全的宿舍环境,从而提高生活质量。
运动会管理系统

运动会管理系统运动会管理系统软件⼯程课程分析报告班级:学号:姓名:指导⽼师:⽬录1.确定课题 (1)1.1 选题依据 (1)1.2 设计⽬标 (1)2. 系统需求分析 (2)2.1 可⾏性分析 (2)2.2 运动会管理系统主要有以下⼏个功能模块: (2)2.3 系统模块的⼦模块功能分析: (3)2.4 ⽤户体系分析 (4)2.5 数据字典 (4)2.6 系统主要功能流程图 (5)2.7 数据流图 (7)3 建⽴系统⽤例模型 (9)4.建⽴系统静态模型 (11)4.1 类图 (11)5.建⽴系统动态模型 (11)5.1 状态图 (12)5.2 活动图 (12)5.3 顺序图 (13)5.4 协作图 (14)6.建⽴实现模型 (14)6.1 配置图 (14)7. 设计 (15)7.1 数据库结构设计 (15)7.2 E –R图设计 (15)7.3 输⼊输出 (16)8.总结 (16)运动会管理系统1.确定课题1.1 选题依据当今时代是飞速发展的信息时代。
在各⾏各业中离不开信息处理,这正是计算机被⼴泛应⽤于信息管理系统的环境。
计算机的最⼤好处在于利⽤它能够进⾏信息管理。
使⽤计算机进⾏信息控制,不仅提⾼了⼯作效率,⽽且⼤⼤的提⾼了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
管理信息系统是进⾏信息的采集、存储、加⼯、维护和使⽤的系统。
它是随着管理科学和技术科学的发展⽽形成的。
随着科学技术的不断提⾼,计算机科学⽇渐成熟,其强⼤的功能已为⼈们深刻认识,它已进⼊⼈类社会的各个领域并发挥着越来越重要的作⽤。
作为计算机应⽤的⼀部分,使⽤计算机对运动员成绩信息进⾏管理,具有着⼿⼯管理所⽆法⽐拟的优点.例如:检索迅速、查找⽅便、可靠性⾼、存储量⼤、保密性好、寿命长、成本低等。
这些优点能够极⼤地提⾼运动员档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
信息管理是现代运动会管理⼯作的不可缺少的⼀部分,是适应现代运动会管理尺度的要求、推动运动会管理⾛向科学化、规范化的必要条件。
南京理工大学EDA1实验报告(模电部分)

南京理工大学EDA课程设计(一)实验报告专业:自动化班级:姓名:学号:指导老师:2013年10月摘要在老师的悉心指导下,通过实验学习和训练,我已经掌握基了于Multisim的电路系统设计和仿真方法。
在一周的时间内,熟悉了Multisim软件的使用,包括电路图编辑、虚拟仪器仪表的使用和掌握常见电路分析方法。
能够运用Multisim软件对模拟电路进行设计和性能分析,掌握EDA设计的基本方法和步骤。
实验一:单级放大电路的仿真及设计,设计一个分压偏置的单管电压放大电路,并进行测试与分析,主要测试最大不失真时的静态工作点以及上下限频率。
实验二:负反馈放大电路的设计与仿真,设计一个阻容耦合两级电压放大电路,给电路引入电压串联深度负反馈,,观察负反馈对电路的影响。
实验三:阶梯波发生器的设计与仿真,设计一个能产生周期性阶梯波的电路,对电路进行分段测试和调节,直至输出合适的阶梯波。
改变电路元器件参数,观察输出波形的变化,确定影响阶梯波电压范围和周期的元器件。
关键词:EDA设计及仿真multisim 放大电路反馈电路阶梯波发生器实验一:单级放大电路的仿真及设计一、实验要求1、设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(峰值10mV) ,负载电阻5.1kΩ,电压增益大于50。
2、调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
3、调节电路静态工作点(调节电位计),使电路输出信号不失真,并且幅度最大。
在此状态下测试:(1)电路静态工作点值;(2)三极管的输入、输出特性曲线和 、r be 、r ce值;(3)电路的输入电阻、输出电阻和电压增益;(4)电路的频率响应曲线和f L、f H值。
二、实验步骤1、设计分压偏置的单级放大电路如图1-1所示:图1-1、单级放大电路原理图2、电路饱和失真输出电压波形图调节电位器的阻值,改变静态工作点,当电阻器的阻值为0%Rw,交流电压源为10mV时,显示饱和失真的波形图如图1-2所示:图1-2、电路饱和失真输出电压波形图饱和失真时的静态工作点:Ubeq=636。
课程设计总结(20篇)范文

(最新版)课程设计总结(20篇)温馨提示:本文是笔者精心整理编制而成,有很强的的实用性和参考性,下载完成后可以直接编辑,并根据自己的需求进行修改套用。
20__课程设计总结第一篇:经过这次课程设计, 让我更加深刻了解课本知识, 和以往对知识疏忽得以补充, 在设计过程中遇到一些模糊公式和专业用语, 比如说经济刮板运输机及皮带运输选择, 在选择选择刮板皮带运输选型时, 在使用手册时, 有数据很难查出, 可是这些问题经过这次设计, 都一一得以解决, 我相信这本书中还有很多我为搞清楚问题, 可是这次课程设计给我相当基础知识, 为我以后工作打下了严实基础。
虽然这次课程是那么短暂2周时间, 我感觉到这些天我所学胜过我这一学期所学, 这次任务原则上是设计, 其实就是一次大作业, 是让我对课本知识巩固和对基本公式熟悉和应用, 计算力学和运动学及预选电动机过程中那些繁琐数据, 使我做事耐心和仔细程度得以提高。
课程设计是培训学生运用本专业所学理论知识和专业知识来分析解决实际问题重要教学环节, 是对三年所学知识复习和巩固。
同样, 也促使了同学们相互探讨, 相互学习。
所以, 我们必须认真、谨慎、踏实、一步一步完成设计。
如果时间能够重来, 我可能会认真去学习和研究, 也可能会自我独立完成一个项目, 我相信无论是谁看到自我做出成果时心里必须会很兴奋。
此次设计让我明白了一个很深刻道理:团队精神固然很重要, 担人往往还是要靠自我努力, 自我亲身去经历, 这样自我心里才会踏实, 学到东西才会更多。
课程设计是一个重要教学环节, 经过课程设计使我们了解到一些实际与理论之间差异。
经过课程设计不仅仅能够巩固专业知识, 为以后工作打下了坚实基础, 而其还能够培养和熟练使用资料, 运用工具书本事, 把我们所学课本知识与实践结合起来, 起到温故而知新作用。
课程设计诚然是一门专业课, 给我很多专业知识以及专业技能上提升, 同时又是一门讲道课, 一门设计课, 给了我许多道, 给了我很多思, 给了我莫大空间。
计算机网络课程总结三篇

时间:2020-10-02 16:31:35计算机⽹络课程总结三篇计算机⽹络课程总结三篇 篇⼀:计算机⽹络课程总结篇⼀:计算机⽹络课程总结 课程设计是每⼀个⼤学⽣在⼤学⽣涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼⾃⼰的动⼿能⼒;实习⼜是对每⼀位⼤学⽣所学专业知识的⼀种拓展⼿段,它让我们学到了很多在课堂上根本就学不到的知识,不仅开阔了⾃⼰的视野,增战了⾃⼰的见识,也为我们以后进⼀步⾛向社会打下了坚实的基础,是我们⾛向以后⾛向⼯作岗位的奠基⽯。
⼀、实习⽬的 计算机⽹络,是指将地理位置不同的具有独⽴功能的多台计算机及其外部设备,通过通信线路连接起来,在⽹络操作系统,⽹络管理软件及⽹络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
针对于此, 在经过相应的课程如《计算机⽹络》、《计算机基础知识》、《操作系统》等课程的系统学习之后,可以说对计算机⽹络已经是⽿⽬能熟了,所有的有关计算机⽹络的基础知识、基本理论、基本⽅法和结构体系,我都基本掌握了,但这些似乎只是纸上谈兵,倘若将这些理论性极强的东西搬上实际上应⽤,那我想我肯定会是⽆从下⼿,⼀窍不通。
⾃认为已经掌握了⼀定的计算机⽹络理论知识在这⾥只能成为空谈。
于是在坚信“实践是检验真理的唯⼀标准”下,认为只有把从书本上学到的理论应⽤于实际的⽹络设计操作中去,才能真正掌握这门知识。
⼆、实习的过程 计算机⽹络的设计是⼀个要求动⼿能⼒很强的⼀门实践课程,在课程设计期间我努⼒将⾃⼰以前所学的理论知识向实践⽅⾯转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成⽼师布置的任务,同时也发现了⾃⼰的许多不⾜之处。
在课程设计过程中,我⼀共完成了11个实验,分别是1.制作直通电缆和交叉UTP 、2.交换机Console ⼝和Telnet 配置、3.交换机端⼝和常规配置、4.虚拟局域⽹VLAN 配置、5.路由器Console ⼝ Telnet 配置⽅法和接⼝配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP 协议配置、10路由器访问控制表(ACL)、11.⽹络地址转换(NAT)。
软件工程课程设计-1-可行性研究报告-新生入学管理系统

新生入学管理系统可行性研究报告拟制人审核人批准人[XX年XX月XX日]目录1 引言 (1)1.1编写的目的 (1)1.2背景 (1)1.3定义 (2)1.4参考资料 (2)2 可行性研究的前提 (2)2.1 要求 (2)2.2 目标 (2)2.3 条件、假定和限制 (3)2.4 进行可行性研究的方法 (3)2.5 评价尺度 (3)3 对现有系统的分析 (3)3.1 处理流程和数据流程 (3)3.2 工作负荷 (4)3.3 费用开支 (4)3.4 工作人员 (4)3.5 设备 (5)3.6 局限性 (5)4 所建议的系统 (5)4.1 对所建议系统的说明 (5)4.2 处理流程和数据流程 (6)4.3 改进之处 (6)4.4 影响 (7)4.5 技术条件方面的可能性 (8)5 可选择的其他系统方案 (9)5.1 可选择的系统方案1 (9)5.2 可选择的系统方案2 (9)6 投资及效益分析 (10)6.1 支出 (10)6.2 收益 (10)6.3收益/投资比 (11)6.4 投资回收周期 (11)6.5 敏感性分析 (12)7 社会因素方面的可能性 (12)7.1法律方面的可行性 (12)7.2 使用方面的可能性 (12)结论 (13)1 引言1.1编写的目的新学期伊始,各学校迎新生活动如火如荼的展开着。
随着时代的发展,信息化的进步。
学校现有的新生接待工作显得较为繁琐和混乱,如何能更合理的安排好学校的迎新工作,已经成为一个学校是否能跟的上时代和信息进步的体现。
本软件就是在这种背景下开发的。
新生入学管理是一个以3G网络或无线网络为平台建立一个用电脑软件来实现流程一体并可视化的新生接待系统,减少了原有的新生接待流程人力资源浪费的现象,并且去除了不必要的餐饮开销;此外,该软件利用网络之间的信息同步共享,随时随地的查阅新生的各项信息,比起现有的操作系统更具实时性,准确性;而且,新生入学管理系统对于新生信息的安全性比起传统的接待流程更为突出。
pkpm课程设计总结

pkpm课程设计总结pkpm课程设计总结篇一:土木工程PKP M课程设计心得附件三:科学技术学院工程训练报告 201X ----201X学年第二学期形式:□ 集中□ 分散学生姓名:学号: 4 专业班级:时间: 201X.1 2.28-201X.1.6 理工学科部一、工程训练目的1,能运用PKPM系列分析软件完成一个实际工程的建模和计算; 2,能将计算结果和现行规范进行对比,判断结果是否符合规范要求,培养根据计算结果判断结构布置是否合理的能力,3,培养利用PKPM201X结果文件绘制AutCA D施工图的技巧,了解整套结构施工图需表达的内容; 4,了解结构计算书编制内容。
将学生培养成符合社会实际需求的应用型人才。
5,通过上机实习,熟悉、了解PKPM项目管理软件的功能及用途,学习使用PKPM项目管理软件。
二、工程训练内容 1,熟悉给定的整套建筑图纸,仔细审读图纸内容,将建筑图的基本轮廓印入脑海里,在心中构建建筑图的轮廓,构思结构竖向受力构件(即侧向受力构件)布置,初步确定结构方案;2,应用PKP M201X系列分析软件之PMCAD模块构建结构方案的几何模型,准确定位各层的柱、梁节点,准确输入梁柱板构件的截面信息和材料信息。
3,根据建筑平面图的功能设置查阅《建筑结构荷载规范》(GB50009—201X),确定每个功能区的活荷载(面荷载,单位kN/m2);根据楼面、屋面做法查阅《建筑结构荷载规范》(GB 50009—201X)计算恒荷载(面荷载,单位k N/m2);根据建筑平面图中隔墙布置查阅《建筑结构荷载规范》(GB 50009—201X)计算框架梁上线荷载;根据建筑节点详图准确计算结构的附属恒活荷载。
将以上各类荷载输入PMCA D几何模型,建立包含几何信息、材料信息和荷载信息的完整的结构标准层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:()字号《软件课程设计》报告班级:信科09-3班姓名:张晴刚学号:08093588讲师:谢红侠中国矿业大学计算机科学与技术学院2011年1 月软件课程设计任务书专业年级:电子信息科学与技术2009级学生姓名:张晴刚任务下达日期:2010年10月16日课程设计日期:2010年10月16日至2011年1月2日课程设计题目:类别题目序号面向过程1,2,3,4,5,6,7面向对象1,2,3,4,5,6,7,8图形界面 3数据结构1,2,3,4, 6, 9软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日目录==============================第一部分基础题第一题1面向过程5. 编程序,使用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。
注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。
// 思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。
(7)1.1 需求分析 (1)1.2 概要设计 (1)1.3 详细设计与编码 (1)1.4 调试分析 (2)1.5 用户使用说明 (3)1.6 设计心得 (3)第二题7.将输入的罗马数据化为10进制数。
假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
如,罗马数据LXXXVII表示10进制的87。
将输入的10进制正整数转换为罗马数据。
假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
(3)2.1需求分析 (3)2.2 概要设计 (3)2.3 详细设计与编码 (4)2.4 调试分析 (4)2.5 用户使用说明 (5)2.6 设计心得 (5)2面向对象第三题1.第一题自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类可以完成复数的加法以及对复数的输出。
请完成类定义,并编制主函数,说明complex 类对象,对定义的各成员函数进行调用。
class complex{double real; //复数实部double imag; //复数虚部public:complex(); //无参构造函数complex(double r, double i); //2参构造函数complex addCom(complex c2); //调用者对象与对象c2相加,返回complex类对象void outCom (); //输出调用者对象的有关数据(各分量)};进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。
(5)3.1需求分析 (5)3.2 概要设计 (5)3.3 详细设计与编码 (6)3.4 调试分析 (6)3.5 用户使用说明 (7)3.6 设计心得 (7)第四题6 编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):template <class T, int n> class tmplt {T arr[n]; // n个T类型的数据存放于数组arr之中public:void dataIn(); //从键盘输入n个T类型数据放入arr数组中void reverseOut(); //将arr数组中的数据按输入的相反顺序输出}; (7)4.1需求分析 (7)4.2 概要设计 (7)4.3 详细设计与编码 (8)4.4 调试分析 (8)4.5 用户使用说明 (9)4.6 设计心得 (10)第五题可视化编程用你熟悉的一种可视化编程语言实现以下汉诺塔演示程序(可以参考附件中的程序代码)。
5.1需求分析 (11)5.2 概要设计 (12)5.3 详细设计与编码 (13)5.4 调试分析 (14)5.5 用户使用说明 (15)5.6 设计心得 (15)数据结构第六题2假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。
已知p 为指向链表中某结点的指针,试编写算法在链表中删除结点p 的前趋结点。
6.1需求分析 (17)6.2 概要设计 (17)6.3 详细设计与编码 (17)6.4 调试分析 (18)6.5 用户使用说明 (18)6.6 设计心得 (18)第七题编程序,按如下方法求A矩阵的转置矩阵B:输入两个正整数m和n,而后通过使用指针配合new运算符生成一个m行n列的二维动态数组A以及另一个n行m列的二维动态数组B,之后为A输入数据(A矩阵数据),进而求出其转置矩阵B(数据放动态数组B中)并输出结果。
7.1需求分析 (19)7.2 概要设计 (19)7.3 详细设计与编码 (19)7.4 调试分析 (19)7.5 用户使用说明 (19)7.6 设计心得 (20)1面向过程第5题5. 编程序,使用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。
注意,2月份闰年为29天,非闰年为28天;可被4整除而不可被100整除的年份、或者可被400整除的年份均为闰年。
// 思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入一个表示日期的年月日,则程序就应计算出那一天是星期几。
需求分析:当我们处理查找具体年份月日是周几的问题,往往会遇到闰年平年的问题,还有七天一循环的问题。
因此实现此类算法是很有必要的。
1.2 概要设计:对于指定具体年月日所在本年的第多少天,有如下算法。
int sum_day(int month,int day){int i;int day_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31};for(i=0;i<month-1;i++)day+=day_tab[i];return (day);}求解平年还是闰年的算法如下:int leap(int year){int leap;leap=((year%4==0&&year%100!=0)||(year%400==0));return (leap);}求解指定日期是周几的算法如下:days=sum_day(month,day);if(leap(year)&&month>=3)days=days+1;s=s+(days-1)%7;if(s>7)s=s%7;cout<<s<<endl;1.3详细设计与编码:#include<iostream>using namespace std;int main(){开始int sum_day(int,int);int leap(int);int year,month,day,days,s; cout<<"年,1月1日星期:"; cin>>year>>s; cout<<"指定月日:"; cin>>month>>day;days=sum_day(month,day); if(leap(year)&&month>=3)days=days+1;s=s+(days-1)%7;if(s>7)s=s%7;cout<<s<<endl; return 0; } int sum_day(int month,int day) {int i;int day_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31}; for(i=0;i<month-1;i++) day+=day_tab[i]; return (day); } int leap(int year) { int leap;leap=((year%4==0&&year%100!=0)||(year%400==0)); return (leap); }noyesInt year,month,day,days,s; Cin>>year>>s; Cin>>month>>day ; 按平年计算出该月日在本年第多少天days=sum_day(month,day); leap=((year%4==0&&year%100!=0)||(year%400==0));判断是否为闰年 days=days+1; 求出该日月在本年是周几 s=s+(days-1)%7; 得出daysCout<<s;;终止1.4调试分析1.year,month,day,days,s的类型是int型的。
2.对于平年闰年的分析,要分别对待,加以区分。
3. 注意体会尝试程序的健壮性。
4.尝试用其他方法完成该程序1.5用户说明用户可直接通过键盘向界面输入你指定年份1月1日是星期几,然后输入本年的月日,即可在屏幕上得到本年指定年月日是周几了。
1.6 设计心得:在这个程序设计中,所用的都是最基本的知识,对于最基本的知识一定要达到熟练的程度,才能熟中生巧,设计出高质量的程序。
2.面向过程第7题将输入的罗马数据化为10进制数。
假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
2.1需求分析:我们在生活中常会遇见用罗马数字表示的代码或者数学、物理等学习过程中,往往会遇到将罗马数字转化为十进制数的计算,设计一个简单的转换程序是很有意义的2.2概要设计将输入的10进制正整数转换为罗马数据。
假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
显然是一个翻译程序,肯定是将一种表达形式换算成另一种表达形式。
该题是把罗马数字转换成十进制数,初步设想:对于每个输入的字母,用一个算法返回一个指定的数值,算法如下:case 'M':return 1000;break;case 'D':return 500;break;case 'C':return 100;break;case 'L':return 50;break;case 'X':return 10;break;case 'V':return 5;break;case 'I':return 1;break;对于罗马数据中每个字母对应数据累加过程,我们有如下算法:while((y=getchar())!='\n') {if(f(x)<f(y))m=m-f(x);else m=m+f(x);x=y;}m=m+f(x);cout<<m<<endl;return 0;}2.3详细设计与编码:#include<iostream>using namespace std;int main(){int f(char);int m=0;char x,y;cout<<"输入罗马数字:"<<endl;cin>>x;while((y=getchar())!='\n'){if(f(x)<f(y))m=m-f(x);else m=m+f(x);x=y;}m=m+f(x);cout<<m<<endl;return 0;}int f(char c){switch(c){case 'M':return 1000;break;case 'D':return 500;break;case 'C':return 100;break;case 'L':return 50;break;case 'X':return 10;break;case 'V':return 5;break;开始int f(char);int m=0;char x,y;Cin>>x;执行由罗马数字转化为阿拉伯数字的转换;while((y=getchar())!='\n'){ if(f(x)<f(y))m=m-f(x);else m=m+f(x);x=y;}m=m+f(x);int f(char c){switch(c){case 'I':return 1;break;}}运行结果如下:Cout<<m;终止2.4调试分析1程序开始不可少语句 int f(char);int m=0;char x,y;//设“基值”并作零初始化,若不做初始化,字母输出任意值。