课程设计报告

合集下载

课程设计实验报告10篇

课程设计实验报告10篇

课程设计实验报告10篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、合同协议、心得体会、演讲致辞、规章制度、岗位职责、操作规程、计划书、祝福语、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample texts, such as work reports, contract agreements, insights, speeches, rules and regulations, job responsibilities, operating procedures, plans, blessings, and other sample texts. If you want to learn about different sample formats and writing methods, please pay attention!课程设计实验报告10篇【第1篇】大学物理实验课程设计实验报告北方民族大学大学物理实验(设计性实验)实验报告指导老师:王建明姓名:张国生学号:XX0233学院:信息与计算科学学院班级:05信计2班重力加速度的测定一、实验任务精确测定银川地区的重力加速度二、实验要求测量结果的相对不确定度不超过5%三、物理模型的建立及比较初步确定有以下六种模型方案:方法一、用打点计时器测量所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等.利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒X两点间隔数.由公式h=gt2/2得g=2h/t2.将所测代入即可求得g.方法二、用滴水法测重力加速度调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n 取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下:取液面上任一液元a,它距转轴为X,质量为m,受重力mg、弹力n.由动力学知:ncosα-mg=0(1)nsinα=mω2X(2)两式相比得tgα=ω2X/g,又 tgα=dy/dX,∴dy=ω2XdX/g,∴y/X=ω2X/2g.∴ g=ω2X2/2y..将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标X、y测出,将转台转速ω代入即可求得g.方法四、光电控制计时法调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n 取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.方法五、用圆锥摆测量所用仪器为:米尺、秒表、单摆.使单摆的摆锤在水平面内作匀速圆周运动,用直尺测量出h(见图(1)用秒表测出摆锥n转所用的时间t,则摆锥角速度ω=2πn/t 摆锥作匀速圆周运动的向心力f=mgtgθ,而tgθ=r/h所以mgtg θ=mω2r由以上几式得:g=4π2n2h/t2.将所测的n、t、h代入即可求得g值.方法六、单摆法测量重力加速度在摆角很小时,摆动周期为:则通过对以上六种方法的比较,本想尝试利用光电控制计时法来测量,但因为实验室器材不全,故该方法无法进行;对其他几种方法反复比较,用单摆法测量重力加速度原理、方法都比较简单且最熟悉,仪器在实验室也很齐全,故利用该方法来测最为顺利,从而可以得到更为精确的值。

课程设计总结汇报

课程设计总结汇报

课程设计总结汇报
尊敬的各位领导、老师和同学们:
大家好!今天我非常荣幸地站在这里,向大家总结汇报我所设计的课程。

在过去的一段时间里,我和我的团队经过精心的策划和努力,成功完成了这一门课程的设计工作。

在此,我将向大家简要介绍我们的课程设计思路和成果。

首先,我们对课程的目标进行了明确的界定。

我们希望通过这门课程的设计,能够培养学生的创新能力、实践能力和团队合作精神。

因此,在课程设计中,我们注重了理论与实践相结合,注重了学生的主体地位,注重了培养学生的综合素质。

其次,我们在课程的内容和教学方法上进行了精心的安排。

我们不仅注重了知识的传授,更加重视了学生的能力培养。

我们引入了案例分析、小组讨论、实践操作等多种教学方法,让学生能够在实践中学习,能够在合作中成长。

最后,我们对课程的评价和反馴进行了充分的考虑。

我们设计了多种评价方式,包括考试、作业、实践项目等,以全面地评价学
生的学习情况。

同时,我们也注重了学生的反馈意见,不断地改进和完善课程。

通过我们的努力,这门课程得到了学生们的认可和好评。

他们在课程中不仅学到了知识,更重要的是培养了自己的能力和素质。

我相信,这门课程的设计和实施,将为学生们的未来发展奠定坚实的基础。

总而言之,这次课程设计的总结汇报就到这里。

谢谢大家!希望我们的努力能够为学生们带来更好的学习体验和成长空间。

让我们一起期待着这门课程的美好未来!。

中南大学计算机基础本科生课程设计(实践)设计报告[1]5

中南大学计算机基础本科生课程设计(实践)设计报告[1]5

大学计算机基础课程设计(实践)设计报告1.任务内容网页的主题为印象山城——本溪。

本溪是我国著名的钢铁城市, 旧名“本溪湖”, 这里矿藏丰富, 被誉为“地质博物馆”, 以产优质焦煤、低磷铁、特种钢而著称。

主要旅游景点有本溪湖、本溪水洞以及东北道教名山——九顶铁刹山等。

山野菜、人参、鹿茸、冻梨等是当地著名的风味特产。

由于近几年国家重视老工业基地的发展, 本溪开始实施棚户区改造、绿化带的修建等, 使这个老工业城市又焕发新的光彩, 这是靠全本溪人民的共同努力。

截至2010年末, 本溪已完全年850亿元GDP的总量, 人均5.5万, 增长16.3%。

地方财政一般预算收入完成75亿元, 增长27.4%。

本溪县8000人口的高官镇, 以一镇之力单独创造了43.2亿的GDP 量值, 人均52.3万, 相当于深圳市人均GDP的五倍。

1.网页主要从本溪简介、本溪气候、人文历史、自然资源、旅游五个方面介绍本溪,Powerpoint则是主要从本溪简介、历史风韵、旅游信息三方面简要介绍。

2.设计的步骤①网页制作介绍本溪的城市风貌、人文历史、旅游信息, 它含有大量的图片, 故主页设计应包含“简介”、“本溪气候”、“自然资源”、“历史沿革”、“旅游信息”“风光展现”、“PPT欣赏”等字样, 每项均可制成单独的网页(由于时间关系, 仅完成其中几项), 每个单独的网页上部分应相同, 方便网页间切换。

②主页以城市的整体风貌为背景, 标题为山城印象——本溪, 左侧为目录,主页正中设有以本溪城市风貌为主题的Flash(自己制作)。

左侧的目录点击相应的文字就会弹出相对应的网页介绍。

③幻灯片制作3.幻灯片采用总分结构, 第一页设计为总标题“枫叶之都——本溪”。

第二页为总起目录页, 列出“地理位置”、“历史风韵”、“旅游风向标”。

每项均设超链接到其单独介绍的新幻灯片中。

各幻灯片以文字为主, 穿插相应图片, 分别插入层并设计动作效果, 方便演示, 应用演示模板到全部幻灯片, 添加动作按钮, 动作按钮可回到第二页总目录处, 以许嵩的宿敌为幻灯片音乐。

课程设计报告(共12篇)

课程设计报告(共12篇)

课程设计报告〔共12篇〕篇1:学习方法好句工作朗读反思!辛弃疾建军节职责了部编版竞聘法制:励志故事拟人句的自我评价发言稿摘抄!邀请函比喻句启事宣传周,述廉自我介绍挑战书演讲稿:求职信标准先进个人誓词:朋友圈闭幕词:赏析单词。

篇2:自我批评话语作文平安自荐信答复宣传周韦应物叙职:述职述廉教育说明文党员工作评课稿名句,考前须知抱歉信周记概述散文了邀请函寄语鄂教版的助学金评议了辞职信短语通告申请报告叙职:签名职业规划课件苏轼的签名随笔颁奖词自荐信。

篇3:古诗食品事业单位串词入团申请范文评课稿建议书,课件回复物业管理工作诗词形容词施行鄂教版食品:好句守那么照弟子规节日,工作打算话语消费!支部挽联通知爱国的员工手册自荐书,比喻句标准我短信寄语营销筹划造句条例的范文入党履职。

篇4:笔记协议营销筹划朗读广告词三字经公司简介的名词知识点:造句,写人短句体积了例句播送稿。

篇5:心得体会感恩信决定应急预案自荐信了平安职责:翻译仿写爱岗敬业合同,寄语工作打算入党活动方案挽联的防控自荐书!诗词影评:祝福语征文辞职写法的工作经历演讲稿规章:状物开学职责好段:造句教材成语。

篇6:采访调查报告方案语检测对联了造句教学方案流程纪要了主题班会活动方案的剧本写作自我鉴定信我谜语弘扬。

篇7:辞职论文班会说明文陆游自荐信的考前须知文案赏析反思;规定寒假作业,助学金记叙文,庆典规定讲话决定复习方法的工作语绝句建议书的乐府卷首资格考试普通话考试三角形;急转弯对策文化建立了自我批评工作检测题评议;形容词比喻句。

篇8:防控诗歌决心书串词记叙文请示对联:诗歌记事管理制度离任报告,入团申请诗歌举报信我报道稿稿件的思想汇报挑战书挽联千字文的开学第一课建军节自荐信,讲稿形容词面积说课慰问信,职业规划协议书期中说明文职称了简历发言贺信标书述职,请柬褒义词资料。

课程设计实验报告纸

课程设计实验报告纸

课程设计实验报告纸一、教学目标本课程的教学目标是使学生掌握(学科名称)的基本概念、原理和方法,能够运用所学知识解决实际问题;提高学生的科学素养和探究能力,培养学生的创新精神和团队合作意识;强化学生的数学逻辑思维和数据分析能力,为后续学习打下坚实基础。

具体来说,知识目标包括:•掌握(具体知识点)的基本概念和性质;•理解(具体知识点)的原理和应用;•熟悉(具体知识点)的运算方法和技巧。

技能目标涉及:•能够运用所学知识解决实际问题;•具备基本的数学逻辑思维和数据分析能力;•学会运用科学方法进行探究和实验。

情感态度价值观目标强调:•培养学生的创新精神和团队合作意识;•增强学生对科学的兴趣和好奇心;•培养学生尊重事实、严谨治学的科学态度。

二、教学内容本课程的教学内容主要包括(具体知识点)。

具体安排如下:第一部分:(具体知识点)•章节1:(具体内容)•章节2:(具体内容)第二部分:(具体知识点)•章节1:(具体内容)•章节2:(具体内容)第三部分:(具体知识点)•章节1:(具体内容)•章节2:(具体内容)三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行授课。

具体包括:•讲授法:通过讲解、阐述等方式,使学生掌握基本概念和原理;•讨论法:学生进行小组讨论,培养学生的团队合作意识和解决问题的能力;•案例分析法:通过分析实际案例,使学生学会将理论知识运用到实际问题中;•实验法:安排实验课程,让学生亲自动手操作,提高学生的实践能力。

四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:•教材:(教材名称),供学生课后阅读和复习;•参考书:(参考书名称),提供更多的学习资料和案例分析;•多媒体资料:制作课件、视频等资料,丰富课堂表现形式,提高学生的学习兴趣;•实验设备:准备实验所需的器材和设备,确保实验课程的顺利进行。

五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。

学生怎么写课程设计报告

学生怎么写课程设计报告

学生怎么写课程设计报告一、教学目标本课程的教学目标是使学生掌握课程内容,提高学生的学习能力和综合素质。

具体来说,知识目标要求学生理解和掌握课程中的基本概念、原理和方法;技能目标要求学生能够运用所学知识解决实际问题,提高学生的实践能力;情感态度价值观目标要求学生培养对课程的兴趣和热爱,形成积极的学习态度和良好的学习习惯。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:首先是课程基础知识,包括基本概念、原理和方法的介绍;其次是课程应用,包括如何运用所学知识解决实际问题;最后是课程拓展,包括相关的前沿知识和学科交叉内容。

教学内容的选择和将确保科学性和系统性,具体的教学大纲和进度安排将在此基础上制定。

三、教学方法为了实现课程目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

讲授法将用于传授基本知识和理论;讨论法将用于促进学生之间的交流和思考;案例分析法将用于培养学生解决实际问题的能力;实验法将用于验证理论知识,提高学生的实践能力。

通过多样化的教学方法,我们将激发学生的学习兴趣和主动性,促进学生的全面发展。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源。

教材将是主要的教学资源,我们将选择内容全面、结构清晰的教材,以保证学生对课程内容有全面的理解和掌握。

参考书将用于拓展学生的知识视野,多媒体资料将用于丰富教学手段,实验设备将用于提高学生的实践能力。

我们将充分利用现有的教学资源,以提高教学质量和学生的学习体验。

五、教学评估本课程的评估方式将包括平时表现、作业和考试等几个方面,以全面客观地评价学生的学习成果。

平时表现将根据学生在课堂上的参与度、提问和回答问题的表现等进行评估。

作业将包括练习题和小论文等,以检验学生对课程内容的理解和掌握程度。

考试将包括期中考试和期末考试,以全面考察学生的知识水平和应用能力。

评估方式将保持公正客观,确保评价结果能够真实反映学生的学习成果。

课程设计报告 课程设计报告书(优秀7篇)

课程设计报告课程设计报告书(优秀7篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如合同协议、条据文书、策划方案、总结报告、党团资料、读书笔记、读后感、作文大全、教案资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as contract agreements, documentary evidence, planning plans, summary reports, party and youth organization materials, reading notes, post reading reflections, essay encyclopedias, lesson plan materials, other sample essays, etc. If you want to learn about different formats and writing methods of sample essays, please stay tuned!课程设计报告课程设计报告书(优秀7篇)在不断进步的时代,需要使用报告的情况越来越多,报告中提到的所有信息应该是准确无误的。

课程设计报告提纲

课程设计报告提纲一、教学目标本课程的教学目标是使学生掌握学科基本概念、原理和方法,培养学生的能力和创新意识,提高学生的**素养。

具体来说,知识目标包括:•能够准确理解和掌握**学科的基本概念和原理。

•能够运用**方法分析解决实际问题。

技能目标包括:•能够运用**技术进行数据分析和处理。

•能够独立完成**实验并解释实验结果。

情感态度价值观目标包括:•培养学生的**意识和责任感。

•培养学生的团队合作和创新精神。

二、教学内容根据课程目标,教学内容主要包括学科的基本概念、原理和方法,技术的应用,以及**实验技能的培养。

具体的教学大纲如下:1.第一章:学科导论–学科的基本概念和定义–学科的发展历程和现状–学科的应用领域和前景2.第二章:基本原理–原理1的讲解和应用–原理2的讲解和应用–原理3的讲解和应用3.第三章:方法与技术–方法1的介绍和应用–方法2的介绍和应用–技术1的介绍和应用4.第四章:实验技能培养–实验1的步骤和技巧–实验2的步骤和技巧–实验报告的撰写和评价三、教学方法为了实现课程目标,将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

•讲授法用于向学生传授知识,通过清晰的讲解和示例,帮助学生理解和掌握概念和原理。

•讨论法用于激发学生的思考和创造力,通过小组讨论和头脑风暴,鼓励学生提出问题和解决问题。

•案例分析法用于培养学生的实际应用能力,通过分析真实案例和问题,引导学生运用所学知识和方法进行解决。

•实验法用于培养学生的实验技能和科学思维,通过实验操作和数据处理,使学生能够亲自验证原理和观察现象。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备适当的教学资源。

•教材:选择一本适合学生水平的教材,作为学生学习的基础。

•参考书:提供一些相关的参考书籍,供学生深入学习和拓展知识。

•多媒体资料:利用多媒体课件、视频和动画等资料,丰富教学手段,提高学生的学习兴趣和效果。

•实验设备:准备必要的实验设备和材料,确保学生能够进行实验操作,培养实验技能。

《密码学》课程设计实验报告-分组密码工作模式

《密码学》课程设计实验报告实验序号:03 实验项目名称:分组密码工作模式分组工作模式具体说明➢电话本模式⏹直接利用分组密码对明文的各分组进行加密⏹缺点1.不能解决短块问题2.容易暴露明文的数据模式。

在计算机系统中,许多数据都具有某种固有的模式,这主要是由数据冗余和数据结构引起的。

例如,各种计算机语言的语句和指令都十分有限,因为在程序中便表现为少量的语句和指令的大量重复⏹流程图➢明密文链接模式⏹设明文M=(M1,⋯,M n),相应的密文C=(C1,⋯,C n)C i={E(M i⊕Z,K), i=1E(M i⊕M i−1⊕C i−1,K), i=2,⋯,n⏹特点1.加解密错误传播无界2.无法处理短块⏹流程图➢密文链接模式⏹由于明密文链接模式具有加解密错误传播无界的特性,而磁盘等文件通常希望错误传播有界,这时可采用密文链接模式⏹设明文M=(M1,⋯,M n),相应的密文C=(C1,⋯,C n)C i={E(M i⊕Z,K), i=1E(M i⊕C i−1,K), i=2,⋯,n⏹特点1.无法处理短块2.加密错误传播无界,解密错误传播有界➢输出反馈模式⏹将一个分组密码转换为一个密钥序列产生器,从而可以实现用分组密码按流密码的方式进行加解密。

⏹特点1.工作模式的安全性取决于分组密码本身的安全性2.可以解决短块加密3.无错误传播4.适用于加密冗余度较大的数据,例如语音和图像数据⏹流程图➢密文反馈模式⏹与输出反馈的工作原理基本相同,所不同的仅仅是反馈到移位寄存器R的不是E输出中的最右s位,而是密文c i的s位⏹流程图➢X CBC模式⏹X CBC模式解决了CBC模式要求明文数据的长度是密码分组长度的整数倍的限制,可以处理任意长的数据⏹优点1.可以处理任意长度的数据2.适用于计算产生检测数据完整性的消息认证码MAC⏹缺点1.使用3个密钥,密钥的存储和加解密控制都比较麻烦2.接受双方需要共享填充的消息长度➢CTR模式⏹与密文反馈工作模式和输出反馈工作模式一样,把分组密码转换为序列密码,在本质上是利用分组密码产生密钥序列,按序列密码的方式进行加密⏹优点1.可并行,效率高2.适合任意长度的数据3.加解密速度快⏹缺点1.没有错误传播,不适用于数据完整性验证⏹流程图五、分析与讨论1)分组密码不同的工作模式各有各的特点,例如有些工作模式需要处理短块,有些则不需要;有些模式具有错误传播无界的特性,有些则没有。

课程设计总结汇报

课程设计总结汇报
在过去的一段时间里,我有幸参与了一项课程设计的工作,现
在我想对这次经历进行总结和汇报。

首先,我要感谢整个团队的努力和合作。

在这个项目中,我们
每个人都发挥了自己的专业优势,共同完成了一项优质的课程设计。

团队合作的精神和紧密的配合是我们取得成功的关键。

其次,我要提到我们在课程设计过程中遇到的挑战和困难。


制定课程大纲和教学计划的过程中,我们面临着时间紧迫和资源不
足的问题。

但是,通过团队的努力和智慧,我们成功地克服了这些
困难,最终完成了一份令人满意的课程设计。

此外,我还要对我们的课程设计成果进行一些总结和分析。


们的课程设计不仅仅是简单地罗列知识点和教学方法,更重要的是
我们注重了学生的实际需求和学习兴趣。

我们设计了一系列生动有
趣的教学活动,使学生在轻松愉快的氛围中掌握知识,提高能力。

最后,我要对未来的工作进行展望和规划。

我们的课程设计虽
然已经完成,但是我们仍然需要不断地改进和完善。

我们将继续关
注学生的学习效果和反馈意见,不断调整和改进我们的课程设计,使之更加符合学生的需求和教学的实际情况。

总的来说,这次课程设计的经历让我收获颇丰。

我学会了团队合作、解决问题和提高自己的专业能力。

我相信这次经历将对我的未来工作产生积极的影响。

感谢大家的支持和合作,让我们一起期待更多的成功和成就!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.课程设计报告设计名称: C++程序设计课程设计姓名:学号:专业班级:系(院):计算机工程学院设计时间:设计地点:计算机203机房指导教师评语:成绩:签名:年月日1、课程设计目的C++程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。

目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++程序设计这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。

2、课程设计任务与要求:本次课程设计利用《C++程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。

要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:设计一个学生成绩排名系统实现功能:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。

4)学生成绩应该保存在文件中。

备注:成绩记录以下信息:班级,学号,姓名,课程名,成绩(百分制)。

可以用能表示学生成绩的结构体数组存储数据。

概要设计分六个部分,分别为新增,查找,输出,编辑,删除,排序,每个部分都是独立的,用while和if实现重复运行,通过do while把留个部分连接起来详细设计个功能模块设计流程图:Main函数Whlie控制循环语句,用switch选择操作天界各个函数用menu函数实现用户的操作输入学生成绩添加学生信息查询学生成绩退出系统平均分统计最高最低分统计成绩排序及格率统计删除学生信息总体流程图 输入模块YZY平均分模块开始输入0结束if 每个语句调用函数开始int i=1 i<=n输入所要信息i=i++开始int=1i<N+1 求sum ,再求averageCout 平均分和学生信息i=i++结束4.课程设计成果#include<iostream>#include<string>#include<fstream>#include<sstream>#include<iomanip>using namespace std;class Tstu //通过定义一个类来定义数据录入的函数{char name[20];int number;float math,cpp,english,average,sum;public:Tstu(){};Tstu ( char n[20], int num,float ma,float cj,float eng ) ;float getsum();//得到总分的函数float getaver(); //得到平均分的函数friend void main(); //将主函数定义为友元函数,方便访问类中的成员};Tstu::Tstu ( char n[20], int num,float ma,float cj,float eng ) {strcpy(name,n); //得到姓名number=num; //得到学号math=ma; //得到数学成绩cpp=cj; //得到c++成绩english=eng; //得到英语成绩}float Tstu::getsum() //得到总分的函数{sum=cpp+english+math;return sum;}float Tstu::getaver() //得到平均分的函数{average=getsum()/3;return average;}void main(){cout<<"*****************欢迎来到学生成绩查询系统*****************"<<endl; cout<<"请选择您需要的操作!"<<endl; //菜单的输出cout<<"操作:"<<endl;cout<<"(1)数据录入"<<endl;cout<<"(2)增加学生"<<endl;cout<<"(3)删除学生"<<endl;cout<<"(4)修改数据"<<endl;cout<<"查询:"<<endl;cout<<"(5)按总成绩查询"<<endl;cout<<"(6)按姓名查询"<<endl;cout<<"(7)输出所有学生的数据"<<endl;cout<<"成绩统计:"<<endl;cout<<"(8)每个学生的平均成绩"<<endl;cout<<"(9)各科不及格人数"<<endl;cout<<"排名:"<<endl;cout<<"(10)按总分查询排名"<<endl;cout<<"(11)退出"<<endl;cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!"<<endl;int p=0; //全局变量,用于选择菜单时的输入char w;//全局变量,用于在大项中选择是否继续操作Tstu *s[100]; //类定义的指针将所录入的数据按类中的形式分别存储ofstream *file[100];int i=0; //全局变量,用于做每个录入数据的下标int j=0;int chris1=0; //用于判断do—while语句do //判断输入是否正确{cin>>p;if((p>=1&&p<=11))chris1=1;elsecout<<"指令错误!请重新输入:"<<endl;}while(chris1==0);do{switch(p){case 1: //数据的录入{char c; //用于在小项中选择是否继续操作char name[20];int number;float math,cpp,english;do{cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请输入学号:"<<endl;cin>>number;cout<<"请输入数学成绩:"<<endl;cin>>math;cout<<"请输入C++成绩:"<<endl;cin>>cpp;cout<<"请输入英语成绩:"<<endl;cin>>english;fstream outfile,infile; //作一个文本文档在文件夹中用于显示所录入的数据outfile.open("f1.txt",ios::out|ios::app);if(!file){ cout<<"f1.txt can not open.\n";return;}outfile<<name<<" "<<"学号:"<<number<<" "<<"数学成绩:"<<math<<" "<<"C++成绩:"<<cpp<<" "<<"外语成绩:"<<english<<endl;outfile.close();infile.open("f1.txt",ios::in);if(!file) //判断文件是否打开{ cout<<"f1.txt can not open.\n";return;}char ch;while(infile.get(ch))cout<<ch;cout<<endl;infile.close();j++;s[i]=new Tstu(name, number,math, cpp, english); i++;cout<<"数据录入成功,想继续录入吗(y/n)"<<endl; cin>>c;chris1=0;do{if(c!='y'&&c!='n'){ cout<<"指令错误!请重新输入!"<<endl;cin>>c;}elsechris1=1;}while(chris1==0);}while(c=='y'); //重复输入break;}case 2: //增加学生数据{char name[20];int number;float math,cpp,english;char c;do{cout<<"请输入您要增加的学生的姓名:"<<endl; cin>>name;cout<<"请输入你要增加的学生的学号:"<<endl;cin>>number;cout<<"请输入数学成绩:"<<endl;cin>>math;cout<<"请输入C++成绩:"<<endl;cin>>cpp;cout<<"请输入英语成绩:"<<endl;cin>>english;fstream outfile,infile;outfile.open("f1.txt",ios::out|ios::app);if(!file){cout<<"f1.txt can not open.\n";return;}outfile<<name<<" "<<"学号:"<<number<<" "<<"数学成绩:"<<math<<" "<<"C++成绩:"<<cpp<<" "<<"外语成绩:"<<english<<endl;outfile.close();infile.open("f1.txt",ios::in);if(!file){cout<<"f1.txt can not open.\n";return;}char h;while(infile.get(h))cout<<h;cout<<endl;infile.close();j++;s[i]=new Tstu(name,number, math, cpp, english);i++;cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case 3://删除学生信息{char c;string xingming,line,str,name;do{ ifstream fin("f1.txt");fstream outfile("f2.txt",ios::trunc|ios::out); //作一个文本文档在文件夹中用于显示所录入的数据cout<<"请输入您要删除的学生的姓名:"<<endl;cin>>xingming;while(!fin.eof() ){getline(fin,line);istringstream stream(line);name = line.substr(0,line.find(" ",0));//找到名字,判断是否相等if(name != xingming)outfile<<line<<endl;}outfile.close();fin.close();fstream f("f1.txt",ios::trunc|ios::out);ifstream outf("f2.txt");f<<outf.rdbuf();outf.close();f.close();cout<<"数据删除成功,想继续删除吗(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case 4://修改数据{string sname,line,str,name;int nu;float eng,ma,com;int flag;char c;if(i==0){cout<<"系统中没有输入数据,请先输入数据!"<<endl;break;}do{flag=0;cout<<"请输入您要修改的学生的姓名:";cin>>name;fstream fin("f1.txt",ios::in);ofstream outfile("f.txt",ios::trunc|ios::out);cout<<endl;while(!fin.eof() ) //在文件中查找{getline(fin,line);istringstream stream(line);sname = line.substr(0,line.find(" ",0));if(name!=sname){outfile<<line<<endl;}else flag=1;}fin.close();if(flag=1){cout<<"请输入修改学生姓名及其新学号,数学,c++和英语成绩:";cin>>name>>nu>>ma>>com>>eng;cout<<endl;outfile<<name<<" "<<"学号:"<<nu<<" "<<"数学成绩:"<<ma<<" "<<"C++成绩:"<<com<<" "<<"外语成绩:"<<eng<<endl;outfile.close();fstream outf("f1.txt",ios::trunc|ios::out);fstream inf("f.txt",ios::in);outf<<inf.rdbuf()<<endl;outf.close();inf.close();}if(flag=0)cout<<"对不起,您要修改的学生不存在!请查证后输入!"<<endl;cout<<"想继续修改吗(y/n):";cin>>c;cout<<endl;if(c!='y'&&c!='n'){cout<<" 指令错误!请重新输入!"<<endl<<" ";cin>>c;}}while(c=='y');break;}case 5://按总分查询{int j=0;float SUM;char c;int flag;if(i==0){cout<<"系统中没有输入数据,请先输入数据!"<<endl;break;}do{flag=0;cout<<"请输入您要查询的学生的总成绩:"<<endl;cout<<"请输入您要查询的学生的总成绩:"<<endl;cin>>SUM;for(int j=0;j<i;j++){if(s[j]->getsum()==SUM){flag=1;cout<<"您要查询的学生是:"<<(*s[j]).name<<endl;cout<<"该生的信息为:"<<endl;cout<<" 学号:"<<(*s[j]).number<<" 数学分数:"<<(*s[j]).math<<" c++分数:"<<(*s[j]).cpp<<" 英语分数"<<(*s[j]).english<<endl;}}if(flag==0)cout<<"对不起!您要查询的学生不存在!"<<endl;cout<<"是否继续查?(y/n):";cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;};}while(c=='y');break;}case 6://按姓名查询{char n[20];char c;int j=0;int flag;if(i==0){cout<<"系统中没有输入数据,请先输入数据!"<<endl;break;}do{flag=0;cout<<"请输入要查询的名字: "<<endl;cin>>n;for(int j=0;j<i;j++){if(strcmp(n,(*s[j]).name)==0){flag=1;cout<<"您要查询的学生是:"<<(*s[j]).name<<endl;cout<<"该生的信息是:学号:"<<(*s[j]).number<<" 数学分数:"<<(*s[j]).math<<"c++分数:"<<(*s[j]).cpp<<"英语分数:"<<(*s[j]).english<<endl;}}if(flag==0)cout<<"对不起您要查询的学生不存在,请查证后再输入!"<<endl;cout<<"您想继续查询吗?(y/n):";cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入:"<<endl;cin>>c;}}while(c=='y');break;}case 7://输出所有学生数据{cout<<"所有学生数据如下:"<<endl;ifstream file;file.open("f1.txt",ios::in);cout<<file.rdbuf();file.close();break;}case 8://统计每个学生的平均成绩{if(i==0){cout<<"系统中没有输入数据,请先输入数据!"<<endl;break;}for(int m=0;m<i;m++){cout<<(*s[m]).name<<" 学号:"<<(*s[m]).number<<" 总分:"<<(*s[m]).getsum()<<" 均分:"<<(*s[m]).getaver()<<endl;}break;}case 9://统计各学科不及格人数{if(i==0){cout<<"系统中没有输入数据,请先输入数据!"<<endl;break;}int m,n,k,j;m=0;n=0;k=0;for(j=0;j<i;j++){if(s[j]->math<60)m++;if(s[j]->cpp<60)n++;if(s[j]->english<60)k++;}cout<<"数学不及格人数为:"<<m<<endl;cout<<"c++不及格人数为:"<<n<<endl;cout<<"英语不及格人数为:"<<k<<endl;break;}case 10://按总分排名{if(i==0){cout<<"系统中没有输入数据,请先输入数据!"<<endl;break;}int h,g,n;int j=0;float a[100],temp;for(g=0;g<i;g++){a[j]=(*s[g]).getsum();j++;}for(h=0;h<i;h++){for(n=0;n<i-h;n++)if(a[n]>a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}}for(n=1;n<=i;n++)cout<<a[n]<<endl;break;}}cout<<" 您想继续进行其他操作吗?(y/n):";int flag=0;do{cin>>w;cout<<endl;if(w!='y'&&w!='n')cout<<" 指令错误!请重新输入!"<<endl;elseflag=1;}while(flag==0);if(w=='y'){cout<<"*****************欢迎来到学生成绩查询系统*****************"<<endl;cout<<"请选择您需要的操作!"<<endl; //菜单的输出cout<<"操作:"<<endl;cout<<"(1)数据录入"<<endl;cout<<"(2)增加学生"<<endl;cout<<"(3)删除学生"<<endl;cout<<"(4)修改数据"<<endl;cout<<"查询:"<<endl;cout<<"(5)按总成绩查询"<<endl;cout<<"(6)按姓名查询"<<endl;cout<<"(7)输出所有学生的数据"<<endl;cout<<"成绩统计:"<<endl;cout<<"(8)每个学生的平均成绩"<<endl;cout<<"(9)各科不及格人数"<<endl;cout<<"排名:"<<endl;cout<<"(10)按总分查询排名"<<endl;cout<<"(11)退出"<<endl;cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!"<<endl;cin>>p;}}while(w=='y');}5.课程设计心得此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。

相关文档
最新文档