实验报告范例.docx
- 文档编号:13237282
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:61
- 大小:529.42KB
实验报告范例.docx
《实验报告范例.docx》由会员分享,可在线阅读,更多相关《实验报告范例.docx(61页珍藏版)》请在冰点文库上搜索。
实验报告范例
软件设计报告
姓名:
陆炳君
学号:
13004123
2016年4月11日~2008年4月24日
第一章软件设计介绍
软件设计总时间:
二周
一、软件设计的性质、目的
本课程是一门技能训练课,为在校学生的必修课程。
通过设计培养学生良好的编程习惯,使学生掌握编程的基本步骤,规范学生的编写程序的格式,锻炼学生编写程序的能力,为将来编写较大程序的打好基础。
二、软件设计的任务
通过集中时间上机实验,使学生充分发挥已有的编程能力,熟悉编译环境,选择若干课题,进行审题、分析、设计和调试,并根据要求写出实验报告。
三、实验内容
软件设计课题共分A、B两档。
A档共5题,第一周完成;B档共2题,第二周完成。
四、考核办法
考核采取程序验收和面试的方法进行。
其中,程序验收及面试占50%,实验报告占50%。
在考核过程中,若发现抄袭程序者,所抄袭的程序按零分记。
五、实验设备
南京邮电大学微机室微机。
第二章软件开发平台简介
本次实验采用VisualC++开发平台。
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。
VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。
这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。
VisualC++它大概可以分成三个主要的部分:
1.DeveloperStudio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“MicrosoftVisualC++”,所以很多人理所当然的认为,那就是VisualC++了。
其实不然,虽然DeveloperStudio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。
我们也知道,DeveloperStudio并不是专门用于VC的,它也同样用于VB,VJ,VID等VisualStudio家族的其他同胞兄弟。
所以不要把DeveloperStudio当成VisualC++,它充其量只是VisualC++的一个壳子而已。
这一点请切记!
2.MFC。
从理论上来讲,MFC也不是专用于VisualC++,BorlandC++,C++Builder和SymantecC++同样可以处理MFC。
同时,用VisualC++编写代码也并不意味着一定要用MFC,只要愿意,用VisualC++来编写SDK程序,或者使用STL,ATL,一样没有限制。
不过,VisualC++本来就是为MFC打造的,VisualC++中的许多特征和语言扩展也是为MFC而设计的,所以用VisualC++而不用MFC就等于抛弃了VisualC++中很大的一部分功能。
但是,VisualC++也不等于MFC。
3.PlatformSDK。
这才是VisualC++和整个VisualStudio的精华和灵魂,虽然我们很少能直接接触到它。
大致说来,PlatformSDK是以MicrosoftC/C++编译器为核心(不是VisualC++,看清楚了),配合MASM,辅以其他一些工具和文档资料。
上面说到DeveloperStudio没有编译程序的功能,那么这项工作是由谁来完成的呢?
是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成VisualStudio的基石。
第三章软件设计的内容
3.1分数统计软件(A1)
3.1.1设计题目及要求
分数统计
要求:
(1)输入某班级学生的姓名、分数;
(2)对
(1)的分数进行降幂排列并输出;
(3)具有输入输出界面。
3.1.2设计思想及程序流程框图
提示用户输入学生信息,检查动态开辟的内存空间是否够用,不够用则重新申请更大的一块空间。
输入结束后采用冒泡排序,最终按要求打印成绩。
3.1.3逻辑功能程序
#include
#include
#defineN10//人数
intmain(void)
{
structstudent
{
charname[20];
floatscore;
}st[N],temp;
inti,j;
intyn;
printf("请输入%d个学生的姓名和分数(姓名和分数用空格分隔)\n",N);
for(i=0;i { scanf("%s%f",st[i].name,&st[i].score); } printf("是否要进行排序,是输入1,否输入0\n"); scanf("%d",&yn); if(yn==1) { for(i=0;i { for(j=i;j { if(st[i].score { temp=st[i]; st[i]=st[j]; st[j]=temp; } } } for(i=0;i { printf("NO%d: 姓名: %s分数: %f\n",i+1,st[i].name,st[i].score); } } else { printf("不需要排序,原样输出为: \n"); for(i=0;i { printf("NO%d: 姓名: %s分数: %f\n",i+1,st[i].name,st[i].score); } } } 3.1.4结果及完善方向 结果如下: 0 1 完善方向: 输入姓名可编写一函数使输入姓名可含空格,用MFC,使输入界面更加友好。 3.2打字软件(A2) 3.2.1设计题目及要求 打字程序。 要求: (1)随即产生一字符串,每次产生的字符串内容、长度都不同; (2)根据 (1)的结果,输入字符串,判断输入是否正确,输出正确率; (3)具有输入输出界面。 3.2.2设计思想及程序流程框图 先设定可产生的字符串的最大长度,随机生产一整数,将它与长度最大值取余,得到该次所要生成字符串长度。 重复调用随机数生成函数,将生成的随机数对应输出字符,提示用户按所给字符串输入。 当用户输入完后,统计用户输入字符情况,打印输出。 3.2.3逻辑功能程序 voidmain() { constintmaxlength=30; charfommer[maxlength],latter[maxlength*2],temp,c='1'; intlength,i,len; floatj; srand((unsigned)time(NULL)); while(c! ='q'&&c! ='Q'){ length=rand()%maxlength; if(length==0)length=maxlength; for(i=0;i temp=rand()%(2*26); if(temp<27)fommer[i]=temp+'A'; elsefommer[i]=temp+'a'-27; } fommer[i]='\0'; cout<<"\t请输入如下字符串,按回车结束: "< cin>>latter; len=strlen(latter); if(len cout<<"您只输入了"< \n"; length=len; } if(len>length) cout<<"您多输入了"< \n"; for(i=0,j=0;i if(fommer[i]==latter[i])j++; cout<<"\t您的成绩是: "< cout<<"\n是否再次练习? 推出按Q(q),继续按其他键: "; cin>>c; } } 3.2.4结果及完善方向 结果如下: 改善方向: 生成字符串可扩展为含有标点符号。 3.3文本编辑器(A3) 3.3.1设计题目及要求 要求: (1)编辑文本; (2)保存、打开指定位置的文本文件; (3)具有输入输出界面。 3.3.2设计思想及程序流程框图 输出主菜单,提示用户是创建还是打开文档并追加内容。 若为新建文档,则动态申请空间保存用户输入文档,输入结束后提示用户输入保存路径及文件名,将字符串输出到文件。 若用户需打开文件,则打开文件,输出文件内容,将用户输入字符保存在字符串内,输入结束后再次打开该文件,把字符串追加到文件尾。 3.3.3逻辑功能程序 voidnewtext() { inttotal=0; char*q,*p; chartemp; charfilename[30]; intshipment=0; constintquantity=30; cout<<"\t注意: 按#结束输入"< while (1){ if(total==quantity*shipment){//申请空间不够 shipment++; q=newchar[quantity*shipment]; if(q==NULL){ cout<<"内存已满,无法继续输入"< total--; } else{ for(intj=0;j q[j]=p[j]; if(total! =0)delete[]p; p=q; } } cin>>temp; if(temp=='#')break; p[total]=temp; total++; } p[total]='\0'; cout<<"\t是否保存此文件? (n放弃,其它键保存): "; cin>>temp; if(temp=='n'){ delete[]p; return; } cout<<"\t请输入文件名及保存路径: "; cin>>filename; ofstreamout(filename,ios: : out); if(! out) cout<<"Sorry! Youlostnumbersyousavedthistime! \n"; else out< out.close(); delete[]p; } voidopenfile() { inttotal=0; chara; charfilename[30]; ifstreamout; cout<<"\t请输入文件名及保存路径: "; cin>>filename; out.open(filename,ios: : nocreate); if(! out){ cout<<"\tSorry! 该文件不存在或无法打开\n"; return; } while(out.get(a))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 范例