软件工程导论实验报告

合集下载

软件工程专业课实验报告(一)2024

软件工程专业课实验报告(一)2024

软件工程专业课实验报告(一)引言:软件工程专业课实验报告(一)是关于软件工程领域中的某个具体实验或项目的报告。

本文将从概述、正文内容和总结几个方面详细介绍该实验报告的内容。

概述:本实验报告旨在通过具体实验或项目,让学生深入理解软件工程的相关原理和技术,并掌握软件开发过程中常用的工具和方法。

通过实践,学生能够提高分析、设计和实现软件系统的能力。

正文内容:1. 实验目的1.1 确定实验目标和预期成果1.2 建立实验环境和所需工具1.3 设定实验计划和时间安排2. 实验过程2.1 实验前的准备工作2.1.1 研究和理解实验要求和相关文献2.1.2 熟悉软件开发过程与方法2.1.3 确定实验所需的技术和工具2.2 实验设计与实施2.2.1 进行需求分析和系统设计2.2.2 编码和测试软件系统2.2.3 进行系统部署和验证2.3 实验结果和分析2.3.1 统计和总结实验中的数据和指标2.3.2 对实验结果进行分析和解释2.3.3 探讨实验中出现的问题和改进方法3. 实验总结和反思3.1 总结实验过程和结果3.2 分析实验中遇到的问题和挑战3.3 反思实验过程中的改进和优化方向4. 实验心得和体会4.1 对软件工程知识的理解和应用4.2 对工具和方法的熟悉和运用4.3 对团队合作和沟通的重要性的认识5. 实验成果和展望5.1 展示实验的成果和效果5.2 对未来的工作和学习方向的展望5.3 提出对实验的改进和拓展建议总结:通过本次实验报告的完成,我们深入学习了软件工程领域中的具体实践和应用。

实践中,我们掌握并应用了软件开发过程中的各种工具和技术,提高了我们的软件设计和开发能力。

此外,我们也认识到团队合作和良好的沟通是软件工程中不可忽视的重要因素。

通过实验的总结与反思,我们对未来的学习和工作有了更加明确的规划和展望。

结语:软件工程专业课实验报告(一)是一个重要的实践环节,通过实践帮助我们巩固学习知识、提高实践能力。

软件工程导论报告

软件工程导论报告

实验一结构化分析实验1实验目的:通过此实验了解结构化分析的特点和步骤,和结构化分析所采用的大体图形工具。

2.实验内容:假设你在一所职业高中工作,负责该校信息系统的建设和保护。

财务科长请你研究用学校拥有的pc机生成工资明细表和各类财务报表的可能性。

3.实验要求:1.问题概念:请在这个阶段描述你需要解决的问题。

包括用户面临的问题和预期的项目规模。

最后生成一份问题概念报告书。

2.可行性研究:在这个阶段产生处置工资事务的大致进程,画出高层逻辑模型,而且画出相应的数据流图,成立数据字典。

3.对此系统进行本钱效益分析。

4.实验步骤:问题概念报告书1.项目名称:工资支付2.问题描述:该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大工作量也愈来愈大。

目前每一个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且本钱高。

此后学校规模将进一步扩大,人工计算工资的本钱还会进一步提高。

3.项目目标:1)研究开发费用较低的新工资支付系统的可能性。

4项目规模:1)开发本钱应该不超过万元5.初步假想:1)用学校自己的计算机系统生成工资明细表和财务报表6.可行性研究:为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。

这个研究的本钱不超过4000元。

可行性研究:1.处置工资事务的大致进程:1)每一个月月末教师把他们当月实际讲课时数记录在课时表上,由各系汇总后交给财务科,职工把他们当月完成承包任务的情况记录在任务表上,汇总后交给财务科。

2)两名会计按照这些原始数据计算每名教职工的工资,编制工资表、工资明细表和财务报表。

然后,把记有每名教职工工资总额的工资表报送银行。

3)由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职工。

2高层逻辑模型:.数据流图:数据字典:1)名字:讲课情况记录表别名:描述:记录每一个教师的当月完成的课时及任务。

概念:讲课情况记录表=教职工编号+姓名+职务+职称+大体工资+生活补助+书报费+交通费+洗理费位置:输出到打印机2)名字:教职工编号别名:描述:唯一的标识一个教职工概念:教职工编号=8{字符}8位置:讲课情况记录表3)名字:每一个人当月的实发工资数别名:描述:记录每一个教师当月应发的工资数概念:每一个人当月的实发工资数=课时费+职位津贴-个人所得税-住房公积金-保险费位置:工资明细表4)名字:工资明细表别名:描述:记录每一个教职工每一个月应得的和应扣除的费用概念:工资明细表=每一个人当月的实发工资数+课时费+职位津贴+个人所得税+住房公积金+保险费位置:输出到打印机本钱效益分析:1.低本钱系统:解决方案:把每一个月发一次工资改成每两个月发一次工资,则人工计算工资的本钱大约可减少一半,即每一年可节省万元。

软件工程导论实验报告-白盒测试-黑盒测试

软件工程导论实验报告-白盒测试-黑盒测试

.《软件工程导论》实验报告学生姓名:学号:班级:指导老师:专业:实验日期:.白盒测试一、实验目的通过简单程序白盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。

熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。

二、实验内容:1、被测试程序功能:求解系数为整数的方程ax2+bx+c=02、程序定义:键盘输入 3 个数字 a,b ,c,求解方程 ax2 +bx+c=03、测试环境: Windows8.1 、Eclipse4、说明:本次测试采用插桩测试法,由于程序比较简单,手动输入测试用例。

四、实验步骤1、程序流程图开始输入 a, b, ca=0 Y Y Y无穷多解b=0 C=0NN NX= 无解N无解b2-4ac>=0.YX1=x2=结束2、代码:import java.util.Scanner;public class test {public static void main(String[]args ) {Scanner sc= new Scanner(System.in );System. out .println( "请输入 3个整数 a,b,c:" );String as;String bs ;String cs;int a=0;int b =0;int c=0;double x, x1 , x2 ;as= sc.nextLine();bs = sc.nextLine();cs= sc.nextLine();try {a=Integer.parseInt (as );b =Integer.parseInt (bs );c=Integer.parseInt (cs);}catch (Exception e){System. out .println( " 输入错误 ");System. exit (0);}if (a == 0){if (b == 0){if ( c == 0)System. out .println(" 无穷多解 " );elseSystem. out .println(" 无解 " );}else{x = -( c / b );System. out .println( "x=" + x);}}else{double h = b * b - 4 * a*c;if (h<0)System. out .println(" 无解 " );else{x1 = (- b + Math. sqrt (h )) / (2 * a);x2 = (- b - Math. sqrt (h )) / (2 * a); System. out .println( "x1=" + x1 + "\tx2="+ x2 );}}}}3、流图:.4、程序基本路径:(1) 1 2 3 4 5 11 预期输出:无穷多解(2) 1 2 3 4 6 11 预期输出:无解(3) 1 2 3 7 11 预期输出: x=(4) 1 2 8 9 11 预期输出: x1= x2=(5) 1 2 3 10 11 预期输出:无解5、测试实验用例:路径覆盖编号测试用例覆盖路径对应输出1a=0 ,b=0 , 1 2 3 4 5 11无穷多解c=02 a=0 ,b=0 ,c=1 1 234 6 11 无解3 a=0 ,b=1 ,c=1 1 2 3 7 11 x=-14 a=1 ,b=2 ,c=1 1 2 8 9 11 x1=-1x2=-15 a=1 ,b=1 ,c=1 1 2 3 10 11 无解黑盒测试一、实验目的黑盒测试是常用的软件测试的方法,用这种方法测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构和内部特性,测试者只知道该程序的输入和输出之间的关系或程序的功能的情况下,依靠能反应这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结构的正确性。

软件工程试验报告

软件工程试验报告

软件工程试验报告第一篇:软件工程试验报告实验项目名称:需求分析(所属课程:软件工程概论)1.实验目的1.选择要设计的系统,使用UML进行需求分析,了解所要完成系统的功能需求,性能需求,接口需求等。

2.学习实使用Rational Rose 或其它软件工程工具绘制用例图、活动图。

2.实验内容使用Rose 绘制系统的用例图。

1.Rational Rose介绍Rational Rose是基于UML而产生的,是软件开发过程中的不可或缺的一个建模工具。

(1)Rational Rose的特点:λ支持多种语言,如Ada、CORBA、Visual Basic、Java等;λ支持模型的Internet发布;λ可以生成简单、清晰且定制灵活的文档;λ双向工程保证了模型和代码高度一致;λ支持逆向工程,建立代码框架;λ支持多种关系型数据库的建模;λ从需求分析到测试,在整个软件生命周期中,都为团队开发提供强有力的支持。

(2)Rational Rose的作用λ整个开发团队可以使用用例图,来获得一个系统高层次的视图,并且可以协商项目的范畴;λ项目经理可以使用用例图和文档,把项目分解成便于管理的多个模块;λ系统分析员和客户在看到用例规格描述文档的时候,就可以明白系统将会提供什么样的功能;λ技术编写者在看到用例规格描述文档时,就可以着手编写用户手册和培训计划;λ系统分析员和软件开发者在看到时序图和协作图时,就可以明白整个系统的逻辑流程、对象以及对象之间的消息2.安装Rational Rose ①双击Rational Rose 2007的安装程序,进入安装界面;按照系统提示一步一步完成系统的安装。

其中在选择安装产品时,选择“Rational Rose Enterprise Edition”;并且在设置创建程序位置时,选择创建一个本地的应用程序而非网络的,即选择“Desktop installation from CD”。

②安装成功,进入Rational Rose界面,如图1-1所示。

软件工程导论报告

软件工程导论报告

软件工程导论报告实验报告课程名称实验题目学生学号实验目的:本课程实验的教学目标在于通过绘制数据流图、实体关系图、用例图、状态图等实验,重点熟悉软件设计中的逻辑模型设计方法及其绘制工具软件,从软件工程角度理解和掌握软件设计开发过程。

实验条件:电脑一台、能上网查阅资料。

实验项目一熟悉软件工程工具 1.实验目的、任务:通过创建、编辑、保存一个简单的Visio图形文件,让学生学习掌握Microsoft Office Visio 的基本用法,掌握使用Microsoft Office Visio绘制业务流程图、数据流图、功能模块图、软件结构图和软件界面的方法。

2.实验基本要求:熟练应用Visio绘制软件开发图形的基本操作。

3.实验内容:打开Microsoft Office Visio,按照给出的业务流程图、数据流图、功能模块图、软件结构图和软件界面,绘制出相同的图形。

实验结果:软件工程姓名日期班级 2021-6-10 实验项目二绘制数据流图和实体关系图 1.实验目的、任务:能够根据业务描述,分析设计并绘制其数据流图和实体关系图。

2.实验基本要求:基本掌握数据流图和实体关系图的分析设计方法。

3.实验内容:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

要求用数据流图描绘本系统的功能,并用实体关系图描绘系统中的数据对象。

实验结果:数据流图: E-R图:实验项目三绘制用例图和状态图 1.实验目的、任务:掌握用例图分析方法和绘制方法,掌握状态分析方法和状态图的绘制方法。

2.实验基本要求:能够根据业务描述分析绘制用例图和状态图,能够熟练使用绘图工具软件绘制出用例图和状态图。

软件工程导论实验报告航空订票系统设计

软件工程导论实验报告航空订票系统设计

“机票预订系统”的需求分析需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。

通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、业务范畴、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等,为系统设计打下基础。

需求分析的好坏往往决定了系统开发的成败。

需求分析从系统的调查研究入手,需求分析要对系统的各个方面有全面的了解,既包括系统内部的各个方面,也包括与系统有联系的各种外部因素。

通过调查研究和分析,对系统产生比较深刻的认识。

需求分析阶段的最终结果是“需求分析说明书”,它涵盖了对用户环境、事务处理和信息流程分析的一切成果,供项目开发小组和用户共同遵守。

如果采用瀑布模型,就要对“需求分析说明书”进行冻结,使它成为凝固可靠的基线。

万一要求变更基线,开发者和用户双方,都必须执行基线变更程序,此变更程序在合同中已做了明确规定。

现针对“机票预订系统”对机票预订部门的组织结构、业务流程、用户角色职能、系统数据流进行分析。

利用结构化分析和UML中的用例从大到小、从粗到细进行系统建模。

1、组织结构调查系统的组织结构,反映了单位内部各个部门的职责划分和它们之间的关系。

为了对系统有一个全貌性的了解,首先要对系统内部部门结构、人员组织及用户情况有所了解。

对系统组织结构的调查,是从总的方面对系统进行宏观了解和分析。

信息的流动关系是以组织结构为背景的,而且总是伴随着组织部门之间的资金流和物流的传递而产生。

机票预订系统的组织结构如图 1所示。

图1 系统组织结构图机票预订由机票预定部门全面负责,下设信息管理部、票务部、客服部三个部门的业务职责如下:●信息管理部:管理基本信息、主要包括旅客基本信息的查询、更改、删除;航班信息的添加、查询、更改、删除。

●票务部:管理各种票据,主要包括根据订票信息和航班信息打印账单和取票通知、核对账单和取票通知以及交款信息,无误则打印机票并发放。

●客服部:为订票旅客提供实时服务,主要包括投诉咨询受理,和售前售后支持。

软件工程导论实验报告材料

软件工程导论实验报告材料

软件工程导论实验报告一、实验题目:学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统、招聘考试成绩管理系统二、实验目标通过独立完成项目开发,加深对软件开发分析过程的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。

实验一实验要求:①.在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求,并建立系统的分析模型。

②.对系统进行需求分析,掌握ER图、DFD、DD的设计与编写③.熟悉Visio环境和基本操作,制作一个简单的系统流程图和数据流图、主要数据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。

④.撰写需求分析规格说明书用户需求分析作为图书管理系统,其主要的需求人员是借阅者,借阅者对其的要求可以大体概括如下:1)能按各种方式,比如书名、编号、作者等查询图书馆的藏书情况;2)能熟悉使用图书管理系统;3)能方便地借阅图书、续借图书、归还图书;4)能查询自己的基本资料、借阅图书情况;5)能方便图书管理员对图书的录入登记、注销;6)能方便对新生的登记或注销已经毕业学生的信息;7)能及时发布一些学院学生借阅图书超期情况、馆内藏书情况等。

功能说明1)、读者管理系统(1)未注册者可以进入注册系统进行注册;(2)已注册借阅者可按姓名、编号或身份证号登陆进入借阅者检索系统查询借阅者情况;(3)、已注册借阅者可按书名、出版社或作者对图书信息进行检索查询或提出预约请求;2)、图书管理员管理系统(1)图书管理员通过图书管理员身份认证进入图书管理员管理系统;(2)读者可借阅在库图书;(3)在规定期限内借阅者归还借阅图书;(4)读者在不违规情况下可继续借阅已借阅图书;(5)读者可以预约图书。

3)、系统管理员管理系统(1)系统管理员通过系统管理员身份认证进入系统管理员管理系统;(2)系统管理员可以对图书进行图书管理(如:查询、删除、修改图书资料或图书分类查询修改、删除管理);(3)系统管理员可以对借阅者进行学生管理(如:查询、删除、修改借阅者信息或借阅者类别修改、删除管理,查询浏览借阅者详细资料,包括借阅次数,登陆次数,最后登陆时间);4)、罚款管理系统(1)罚款管理员通过罚款管理员身份认证进入罚款管理系统;(2)罚款处理可以读取借阅信息表再生成超时罚款信息表,通过超时罚款信息表可以生成罚款单给罚款管理员;(3)图书管理员告知罚款系统图书超时未还,经罚款管理员鉴定后,对图书进行注销处理且罚款管理员对借阅者进行罚款处理。

软件工程导论总结报告[最终定稿]

软件工程导论总结报告[最终定稿]

软件工程导论总结报告[最终定稿]第一篇:软件工程导论总结报告软件工程总结报告序言本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。

主体第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终的基础为何。

其中较为基础并相当重要使的应该是算法。

对于算法重要性与基础性的理解,我个人有比较切身的体验。

比如前不久的ACM竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我们对算法理论知识的匮乏(不清楚优化个人算法的方法)。

我对软件工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言也起到了一定的指导作用。

第二节课老师带来了三位本专业的前辈向我们传授大学生活应如何度过以及对我等一些问题作出解答。

其中我个人印象深刻的是其中一位学姐PPt中引用李开复的那部分内容。

即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费了时间,应该如何整改。

我个人认为这方法可能有一定直观性,因为直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。

求上进,珍惜时间也无需以丧失人生情趣为代价。

还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。

他提到的个人的学习生活情况倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正好是冷门时。

当掌握了一些实实在在有能保证自身良好发展前景后,再去做一些自己感兴趣的事也来得及。

于我而言,一个人尚不能独善其身,何求其兼济天下。

成己方成人就是如此道理。

第三节课主要讲解了大学学习生活中应着重的基础课以传递重基础的要旨。

据个人体会,其中英语科目实是基础中的基础,主要是为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利接手他人接下来的工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验项目:选修课管理系统
姓名:张景东 学号:129074282 学院:计算机学院
班级:软124
实验一:项目计划、分析和设计
[ 实验日期 ] 2013 年 4月 23 日 [ 实验目的 ]
初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练 习撰写简要的需求文档、设计文档。 [ 实验内容 ] 选择选修课管理系统这个小的C语言程序,依据项目可行性研究的结 果,进行需求分析和设计,编写简要的需求文档、设计文档。 [ 实验原理和步骤 ]
浏览 删除 录入 修改
4.程序处理流程 选修课管理系统处理流程图:
主菜单界面 结束
主菜单界面 开始
6修改学生记录 5学生成绩录入 4删除学生记录 3查询选课学生 2插入选课学生 1浏览选课情况 9 系统初始化 0退出 8保存选课情况 7导入选课情况
系统的执行应从系统菜单的选择开始,允许用户输入0~9之间的数值 来选择要进行的操作,输入其他的字符都是无效的,系统会给出错误的 提示信息。
输入平时成绩在总评成绩中所占的百分比;
while(p!=NULL)
{
printf("%2d%10s %8s %10s\n",++th,p->num,p->name,p->class);
printf("平时成绩期末成绩:");
输入平时成绩与期末成绩;
计算出总评成绩;
输出平时成绩、期末成绩与总评成绩;
p=p->next;
}
查找函数模块伪码:
stud *search(stud * head,int * th)
{
int xz;
/*xz表示以后的选择的查找方式代号*/
char xuehao[10],xingming[9];
stud *p;
/*工作指针*/
使P指向首结点;
*th=1;
选择按姓名还是按学号查找;
if(选择按姓名查找)
删除函数模块伪码: void deletel(struct student * head) {
int th,xz,n; char c,xingming[9],xuehao[10]; struct student *p,*q; p=head; if(p->next!=NULL) {
选择删除方式; switch(xz) { case 1: 输入学生学号;
if(tolower(c)=='y')
{
把结点从链表中删除
释放P内
}
成绩录入函数模块伪码:
void input(stud * head)
{
int th=0,ps,qm; /*ps为平时成绩的比重,qm为期末成绩的比重*/
stud *p;
/*工作指针*/
p=head->next;
要求的基本功能已经全部具备了。在伪码部分,没有急于求成,一 次性写出整个程序的伪码,而是采取分步攻克的方法,我觉得这样 做还是比较的合理的,可以在一定程度上提高编程时所花费的时间 与精力。另外,部分函数模块可能写的比较粗糙,不容易看懂,这 里仍然有进步的空间。我认为,可以在函数模块伪码下画出函数模 块的流程图,这样把伪码和流程图组合起来看,清楚明白,使人一
详细设计 这个阶段的任务主要是确定每个模块的处理过程,包括(1)确定 每个模块的算法。(2)确定每一个模块的数据组织。(3)为每个模块 设计一组测试用例。(4)编写详细设计说明书。 [ 实验结果 ] 1.主要功能陈述:在这个选修课管理系统中,每个学生的信息由:学 号、姓名、班级、成绩等几项数据构成。因为选修课的学生人数不能预 知,故采用链表来进行数据管理,要求实现以下基本功能:插入、删 除、查询、浏览、初始化、导入、导出等。 2.选修课管理系统主要由以下几个模块组成: menu():选单函数,显示菜单并接受选择; show();浏览函数,将链表中各结点的数据依次输出; insert();插入函数,向链表中插入新结点,并使链表的各结点按学号 升序排列; search();查找函数,在链表中按姓名或学号进行查找; deletel();删除函数,在链表按学号、姓名或序号删除结点; input();成绩录入函数,依次给链表中各结点的数据录入成绩;
/*删除*/
目了然。 3. 收获与体会:别看流程图与功能模块图比较小,实际上在这个上我
花了很多的时间与精力。每次画的时候,都要注意画的图形的大小 与位置,而且线条要笔直,画线条的时候,手不能有一点点的抖 动,这个是非常困难的。后来,我发现,我们在一开始画各个部分 的时候不需要去过度在意每个图形的大小与位置,仅需画个大概即 可。等到把所有模块都画好之后,再慢慢调整各个图形的大小与位 置。这样做的话,会方便很多。
change();修改函数,对链表中指定结点的数据进行修改; load();读入函数,从文件中将选课情况导入到链表; save();保存函数,将链表中的选课情况保存到文件。
3.选修课管理系统的功能模块如图所示: 选修课管理系统
改姓名 按学号 按序号 按姓名 按学号 按姓名 改班级 改学号 插入 查找 保存 读入
查找输入学号在链表中的位置; break; case 2: 输入学生姓名; 查找输入姓名在链表中的位置; break; case 3: 输入学生学号; 查找输入学号在链表中的位置; break; default: 选择错误; } q指向p的直接后继; if(q等于NULL) { 则未找到结点; } 输出学号与姓名; c=getchar(); getchar();
/*指向首结点*/
输出“序号 学号 姓名 班级 平时成绩期末成绩总评成绩”;
while(若P不为空)
{
输出学号、姓名、班级;
输出平时成绩、期末成绩与总评成绩;
使P移动到链表下一个位置;
}
}
插入函数模块伪码:
void insert(stud * stud)
{
char an,xuehao[10],xingming[9],banji[11];
实验二:编码
[ 实验日期 ]
2013 年
[ 实验目的 ]
培养良好的编码风格。
4月
26 日
[ 实验内容 ] 根据详细设计的结果,按结构化思想编写代码,并对程序进行注释。 [ 实验原理和步骤 ]
注意变量或函数的名字要有意义,表达式和语句要一目了然,排版风 格、循环语句风格要保持一致,函数宏的定义,常数的定义,注释要全
}
gecthar();
}
修改函数模块伪码: void change(stud * head) {
int th=0,xz; float x,y; /*x,y分别代表平时成绩和期末成绩占最终成绩的比重*/ stud *p; do {
p=search(head,&th); if(p)
{ 输出学号、姓名与班级; 输出平时成绩、期末成绩与总评成绩;
break; case 5: 输入修改后的平时成绩并计算总评成绩;
break; } 输出学号、班级、姓名; 输出平时成绩、期末成绩与总评成绩; }
[ 实验总结 ]
1.在写程序伪码的时候,我们并不需要写的多么合理,只要符合要求, 自己可以看得懂就可以了的。在写这个选修课管理之前首先要清楚这个 管理系统所需要的功能,再根据这个设计不同的模块来满足此管理系统 要求的功能。通过写管理系统的伪码,我们能对写此管理系统的代码有 了更加深刻的认识与了解,为我们写选修课管理系统这个程序作了一定 的铺垫,起到了很好的指导作用。 2. 实验中的问题和提高:我觉得自己的设计仍然有不足之处,但系统
{
char num[10];
char name[10];
char class[10];
float commonscore;
float finalscore;
float score;
struct student *next;
}stud;
/*typedef来定义struct student*/
char menu();
{
输入学生姓名;
while(p!=NULL&&strcmp(xingming,p->name)!=0)
{
p=p->next;
(*th)++;
}
}
else
{
输入学生学号;
while(p!=NULL&&strcmp(xuehao,p->num)!=0)
{
p=p->next;
(*th)++; } } 返回要查找的学生信息所在结构体的地址; }
} Else 未找到!!!! }while(!p); 选择要修改部分的信息; switch(xz) { case 1: 输入修改后的学号;
break; case 2: 输入修改后的姓名;
break; case 3: 输入修改后的班级;
break; case 4: 输入修改后的平时成绩并计算总评成绩;
*
* 时间:2013.4.30
*
***********************************************
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define NULL 0
/*定义结构体类型*/
typedef struct student
/*选单*/
stud * load();
/*导入*/
stud * search(stud *,int *);
/*查询*/
void save(stud *);
/*导出*/
void input(stud *);
相关文档
最新文档