软件设计实验报告.docx
- 文档编号:30068318
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:15
- 大小:176.30KB
软件设计实验报告.docx
《软件设计实验报告.docx》由会员分享,可在线阅读,更多相关《软件设计实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
软件设计实验报告
软件课程设计1报告
专 业:
班级:
姓名:
指导教师:
职称:
讲师
计算机科学与技术学院
2008年12月
前言
====================================
==============================
第一部分基础题
1基础题_4………………….....................................
1.1需求分析……………………………………………………………………….…
1.2概要设计………………………………………………………………………...
1.3详细设计与编码………………………………………………………………...
1.4调试分析………………………………………………………………………...
1.5用户使用说明…………………………………………………………………
1.6设计心得………………………………………………………………………...
2基础题_7………………………………………………………………………………………1
2.1需求分析…………………………………………………………………………..
2.2概要设计………………………………………………………………………...
2.3详细设计与编码………………………………………………………………...
2.4调试分析………………………………………………………………………...
2.6设计心得………………………………………………………………………...
3基础题_面向对象3…………………………………….17
3.1需求分析…………………………………………………………………………..17
3.2概要设计………………………………………………………………………...19
3.3详细设计与编码………………………………………………………………...21
3.4调试分析………………………………………………………………………...22
3.5用户使用说明………………………………………………………………….22
3.6设计心得………………………………………………………………………...22
4基础题-面向对象5实现对文件的COPY操作……………………………………….….
5.1需求分析…………………………………………………………………….…
5.2概要设计……………………………………………………………………….
5.3详细设计与编码…………………………………………………………….....
5.4调试分析…………………………………………………………………….....
5.5用户使用说明………………………………………………………………...
5.6设计心得……………………………………………………………………….
5基础题-30………………………………………….
11.1需求分析…………………………………………………………………………
11.2概要设计…………………………………………………………………….....
11.3详细设计与编码…………………………………………………………….....
11.4调试分析…………………………………………………………………….....
11.5用户使用说明………………………………………………………………...
11.6设计心得……………………………………………………………………….
12基础题-23图形界面_简单的四则运算…………………………………………..
12.1需求分析…………………………………………………………………………
12.2概要设计…………………………………………………………………….....
12.3详细设计与编码…………………………………………………………….....
12.4调试分析…………………………………………………………………….....
12.5用户使用说明………………………………………………………………...
12.6设计心得……………………………………………………………………….
面向过程
1基础题_4.求使用最少张数的人民币纸币
a)需求分析:
本程序主要解决的是:
用户根据提示输入一个人民币钱数,程序得出使用最少张数的人民币纸币,凑成所给钱数并输出求取结果。
本程设计思路:
如果用户输入的钱数不正确,会有提示信息,要求用户重新输入。
输入正确后可执行后面的语句
程序流程图(如下图)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
程序执行的结果:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////
1.3 详细设计与编码
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1.4调试分析:
程序一开始没有判断输入钱数是否符合标准,加入判断的语句之后程序显得更完善了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1.5 用户使用说明:
用户根据程序的提示输入人民币钱数,这个数必须是整数。
如果输入的是负数则程序会给出提示,要求重新输入,程序会算出张数最少的组合.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1.6设计心得:
这是个很实际的问题,编程序时先思考建立一个大体的框架,然后再一步步完善,编译过程中出现的错误可以暴露出程序的缺点。
2.基础题_7十进制数转化为罗马数字
(1)需求分析:
本程序需要解决的是,再用户根据提示输入一个十进制数后,转化为罗马数字并输出。
该程序输入的是十进制数,输出的是字符型数字。
(2)概要设计
本题思路:
有七个基值字母,输入十进制数后程序计算出各个基值字母的个数然后输出。
流程图如下:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<
(3)详细设计与编码:
略//////////////////////////////////////////////////////////////////////////////////////////////////////////
(4)调试分析:
要注意给i,j赋初值0;程序在用循环输出罗马数字时要特别注意,不要漏掉”g=m”,否则程序会出现错误.
(5)用户使用说明:
用户使用时只需要根据提示输入一个十进制数就可以了,程序会输出相应的罗马数字.
(6)设计心得:
这个程序的设计思想和第四题有相似之处,都是建立一个整型数组,完成相应计算后依次输出。
这是一种编程思想,好好总结经验,以方便日后使用。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
面向过程
3.利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。
具体地说,可通过在基类baseCla及其派生类fib1Cla、fib2Cla和fib3Cla中说明如下的同一个虚函数“virtualdoublefib(intn);”,来实现求Fibonacci数列第n项值并返回的3种不同求解方法。
3.1需求分析:
。
3.2概要设计:
主要函数列表,每条记录应包括函数名及功能简要说明
1.classBasecla//自定义基类baseCla
2.virtualdoublefib(intn)=0//在基类中说明一个纯虚函数fib
3.classFib1cla:
publicBasecla//基类classBasecla中派生出的Fib1cla
4.virtualdoublefib(intn)//派生类中说明同一个虚函数fib
5.voidfun(BaseCla*p,intn)//定义函数,用n指明项
6.voidmain()//主函数调用输出
3.3详细设计与编码
代码略,截图如下:
3.4调试分析:
(1)要最先定义基类Basecla,以便生成它的派生类。
(2)基类classBasecla中派生出的Fib1cla的表达式要正确
(3)注意函数对应的调用顺序,考虑程序的健壮性,简化程序。
3.5用户使用说明:
只要输入相应的值即可,程序会返回3种不同求解方法的结果
3.6设计心得:
这道题目要运用类的派生,3种派生类中分别运用一种方法来实现过程,并且要运用虚函数,这让我对这部分的知识有了更深一部的理解,积累了变成的经验。
5.设计一个类CStudent,类中包含一个学生的基本数据如下:
编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。
并假设编号为整数,且从1号往后连续编码;姓名为字符串,性别为字符。
如:
1LiPingm18899894
请采用binary文件形式,并使用随机读写处理方式,对自定义CStudent类的对象数据进行存储与读写处理(即是说,总按具有连续编码的编号num为“序”来对文件中的各对象数据进行随机读写处理)。
并设计该类的成员函数,而且对输出运算符“<<”进行重载,使该运算符能够完成将一个学生的信息输出到屏幕上。
要求成员函数完成以下功能:
(1)从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。
(2)按编号对学生信息进行检索并将检索结果显示在屏幕上。
(3)按姓名对学生信息进行检索并将检索结果显示在屏幕上。
(4)计算某编号学生的总成绩与平均成绩。
(5)列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从键盘输入)。
5.1需求分析:
CStudent类里包含学生的基本信息,CStudent类的成员函数要完成检索,计算和查找功能。
5.2概要设计:
主要函数列表,每条记录应包括函数名及功能简要说明
(1)floatcalculate_all()//求学生总成绩
(2)floatcalculate_average()//求学生平均成绩
(3)voiddisplay()//输出学生信息
(4)voidseekbynumber()//按学号检索
(5)voidseekbyname()//按姓名检索
(6)voidup()//查找所有总成绩超过n分的性别为s同学的有关信息,并输出
(7)intmain()//主函数调用输出
5.3详细设计与编码
代码略,截图如下:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
5.4调试分析:
(1)要统筹兼顾程序的五个功能,当用户选择之后要准确无误地执行相应语句。
(2)程序要写清晰,运行出错时以便查找出错误。
(3)考虑进一步优化程序的方法
5.5用户使用说明:
用户可以方便的根据提示选择要实现的功能,可以完成一系列的操作
5.6设计心得:
这个程序要实现的功能较多,设计时应该分别考虑各个模块,有序调用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 实验 报告