软件基础实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、总结:C++语言我确实不懂,调一个程序比自己写一个程序要难一些。
正确的程序:
1、顺序表的建立代码
#include <iostream.h>
#include<malloc.h>
void main()
{
int i;
struct seqlist
{
int a[10];
int n;
};
typedef struct seqlist *pseqlist;
}
运行结果如图
2、单链表的生成、插入、和删除运算:
#include <iostream.h>
#include<malloc.h>
void main()
{
typedef struct node
{
int data;
struct node * next;
}listnode;
typedef listnode *linklist;
2 建立MFC应用程序
建一个VC++的MFC应用程序的过程可分为5个步骤:
(1)创建项目
使用Files菜单下的“New”项,会弹出一个New的对话框,选中Projects选项卡,对话框会列出一系列可以创建的项目类型(见图4.),下列出部分常用类型:
ATL COM AppWizard(创建ATL应用程序)
p->data=20;
p->next=NULL;
q=head;
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;p=(listnode *)malloc(sizeof(listnode));p->data=30;
p->next=NULL;
q=head;
while(q->next!=NULL)
[13] .EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
[14] .H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
[28] .OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。
[29] .ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。
[30] .OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。
[31] .OPT:VC开发环境自动生成的存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。
[25] .MAP:由LINK工具生成的文本文件,包含被连接程序的某些信息,执行文
件的映像信息记录文件。
[26] .MDP:旧版本的项目文件,相当于.dsp。
[27] .NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、
WizardBar和Component Gallery使用的信息,编译工程后会自动生成。当自动完成功能出问题时可删除此文件。
1、把附录中的源程序复制到工作空间中,编译出现了一些错误,首先标准化式这样便于检查程序的结构,以及流程。
2、顺序表程序的debug:”for”循环中应该输出10个数,把5改成10 ,此外,加上一些必要的“{}”。
单链表的建立和插入程序,首先要更正单链表的节点结构体(信息域和指针域)。其次最后在屏幕上显示的链表信息总是把最后一个节点漏掉,这是由于“while(q->next!=NULL)”有问题,但是我找不出怎么改,只好在while(q->next!=NULL)后面添加“cout<<q->data;q=q->next;”把最后一个节点显示出来。
{
q=q->next;
}
q->next=p;p=(listnode *)malloc(sizeof(listnode));/*p->data=40;
p->next=NULL;
q=head;
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;q=head;
do
{
cout<<q->data;
listnode * p;
linklist head,q;
head=(listnode *)malloc(sizeof(listnode));/*生成头结点*/
head->data=10;
head->next=NULL;
p=(listnode *)malloc(sizeof(listnode));/*生成第一个要插入的新结点*/
(3) 编制程序
在按需求建立项目之后,应添加资源,设置资源属性,定义类文件,编写函数代码,以及响应事件时所要执行的代码。 编码时可以直接点击项目工作区的相应项目进行编辑。在类视图下可以点击类跳转到源文件相应的行编辑类以及其成员信息。或在资源视图下直接双击相应对象编辑。
(4)保存项目
当创建项目时,VC++会自动生成项目文件。在增加代码时要经常保存项目。保存项目应选File菜单上的Save命令进行保存。有时编码程序时可能会同时改动多个文件这时应注意将改动的文件分别保存或者用File菜单上的Save all命令保存。
(2)点选要创建的项目类型,然后在右边的Location框中输入要保存的路径,在Project Name框中输入项目的名字,点击OK,会弹出创建项目向导,可以根据提示选取要创建的项目的细节。最后点Finish按钮。VC++会列出一个将要创建的项目的信息,这时点OK按钮VC++就会自动创建该项目的界面窗口、对话框等的编码文件。
XX大学
软件技术基础
实验报告
姓名:xx
班级:自动化1105
学号:xx
成绩:
2013年11月05日
实验一 vc++6.0基本环境与应用
实验题目:熟悉vc++6.0的实验环境
实验目的:掌握建立vc工程的方法,并学会编写简单的vc程序。
实验内容:
1,熟悉vc++界面。
启动VC++ 6.0中文版以后,屏幕上显示如图所示的开发环境。开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口及状态栏组成。每个窗口左上角均有最小化、最大化(还原)和关闭按钮。各类窗口相互独立,可进行打开、关闭、移动、极大、极小化控制以及改变窗口大小。
Custom AppWizard(创建自定义的应用程序)
Database Project(创建数据库)
DevStudio Add-in Wizard(创建自定义宏)
ISAPI Extension Wizard(创建Internet服务器或过滤器)
Makefile(创建Make文件)
MFC AppWizard(dll)(创建MFC动态链接库)
[20] .ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
[21] .INI:配置文件。
[22] .LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
[23] .LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
[24] .MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程。
执行(Execute)执行是运行工程查看结果。可以单击快捷栏上的执行按钮执行程序。
visual C++文件后缀名释义
[1] .APS:存放二进制资源的资源辅助中间文件(可加快资源装载速度)。
[2] .BMP:位图资源文件。
[3] .BSC:浏览信息文件。由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。可在project options里去掉Generate Browse Info File,这样可加快编译进度。
pseqlist p;
p=(pseqlist)malloc(sizeof(struct seqlist));
p->n=0;
for( i=0;i<10;i++)
{
cin>>p->a[i];
p->n=(p->n)+1;
}
for( i=0;i<10;i++)
{
cout<<p->a[i]<<endl;
}
cout<<"list length is:"<<p->n;
cout<<" ";
q=q->next;
}
while(q->next!=NULL);
cout<<q->data;
cout<<" ";
q=q->next;
}
运行结果如图
实验3 查找算法
实验题目:二分查找算法
实验目的:掌握二分查找算法的基本原理,使用vc++6.0语言编写程序。
[32] .PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
[33] .PCH:预编译头文件,较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
[34] .PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
实验二 线性表的运算
实验题目:线性表的生成、插入和删除等运算
实验目的:掌握线性表的顺序存储结构和链式存储结构及它们在计算机中的实现方法。
实验内容:分别建立一个顺序表和单链表,实现其生成、插入、删除、查找和定位的程序。
(1)按指定长度和输入的相应长度的字符串建立一个顺序表和一个单链表。
(2)在指定位置插入一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入所插元素和位置“F,1”,则插入的结构为“FABCD”。
MFC AppWizard(exe)(创建MFC可执行程序)
MFC AxtiveX ControlWizard(创建MFC控件程序)
Win32 Dynamic Link Library(创建Win32动态链接库)
Win32 Application(创建Win32程序)
Win32 Console Application(创建Win32控制台程序)
(5)建立Baidu Nhomakorabea序
建立程序包括:编译,链接和运行程序。这行操作可以在快捷栏上用快捷按钮完成。向项目增加代码时,可以建立程序来检查错误和修改代码。
编译(Compile)编译是将单个文件生成*.obj文件供链使用同时以检查程序有无错误。可以单击快捷栏上的编译按钮进行编译。
链接(Build)链接是将程序连接生成*.exe文件,以便直接运行。可以单击快捷栏上的链接按钮进行链接。
实验原理:
1、顺序表的生成、插入和删除运算:
顺序表是一种线性表,主要表现形式为一维数组,一旦声明其长度,就不可改变,中间也不允许插入或删除。
2、单链表的生成、插入、和删除运算:
链表有好几种,单链表、循环链表;双向链表。链表能够根据需要变化表的长度,随时插入、删除、添加节点。链表节点由数据域和指针域构成。每一个节点的指针域总是指向下一个节点,如果没有下一个节点,就为空。
[15] .HLP:Windows帮助文件。
[16] .HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
[17] .HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
[18] .HPG:生成帮助的文件的工程。
[19] .ICO:图标资源文件。
(3)删除指定位置的一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入删除位置“1”,则删除的结果为“BCD”。
实验要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
实验报告要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
[4] .C:用C语言编写的源代码文件。
[5] .CLW:ClassWizard生成的存放类信息的文件。
[6] .CNT:用来定义帮助文件中“Contents”的结构。
[7] .CPP或.CXX:用C++语言编写的源代码文件。
[8] .CUR:光标资源文件。
[9] .DEF:模块定义文件,供生成动态链接库使用。
[10] .DLG:定义对话框资源的独立文件。对于VC工程非必需,因VC一般把对话框资源放在.RC文件中。
[11] .DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
[12] .DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中,与.dsp相似。
正确的程序:
1、顺序表的建立代码
#include <iostream.h>
#include<malloc.h>
void main()
{
int i;
struct seqlist
{
int a[10];
int n;
};
typedef struct seqlist *pseqlist;
}
运行结果如图
2、单链表的生成、插入、和删除运算:
#include <iostream.h>
#include<malloc.h>
void main()
{
typedef struct node
{
int data;
struct node * next;
}listnode;
typedef listnode *linklist;
2 建立MFC应用程序
建一个VC++的MFC应用程序的过程可分为5个步骤:
(1)创建项目
使用Files菜单下的“New”项,会弹出一个New的对话框,选中Projects选项卡,对话框会列出一系列可以创建的项目类型(见图4.),下列出部分常用类型:
ATL COM AppWizard(创建ATL应用程序)
p->data=20;
p->next=NULL;
q=head;
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;p=(listnode *)malloc(sizeof(listnode));p->data=30;
p->next=NULL;
q=head;
while(q->next!=NULL)
[13] .EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
[14] .H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
[28] .OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。
[29] .ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。
[30] .OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。
[31] .OPT:VC开发环境自动生成的存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。
[25] .MAP:由LINK工具生成的文本文件,包含被连接程序的某些信息,执行文
件的映像信息记录文件。
[26] .MDP:旧版本的项目文件,相当于.dsp。
[27] .NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、
WizardBar和Component Gallery使用的信息,编译工程后会自动生成。当自动完成功能出问题时可删除此文件。
1、把附录中的源程序复制到工作空间中,编译出现了一些错误,首先标准化式这样便于检查程序的结构,以及流程。
2、顺序表程序的debug:”for”循环中应该输出10个数,把5改成10 ,此外,加上一些必要的“{}”。
单链表的建立和插入程序,首先要更正单链表的节点结构体(信息域和指针域)。其次最后在屏幕上显示的链表信息总是把最后一个节点漏掉,这是由于“while(q->next!=NULL)”有问题,但是我找不出怎么改,只好在while(q->next!=NULL)后面添加“cout<<q->data;q=q->next;”把最后一个节点显示出来。
{
q=q->next;
}
q->next=p;p=(listnode *)malloc(sizeof(listnode));/*p->data=40;
p->next=NULL;
q=head;
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;q=head;
do
{
cout<<q->data;
listnode * p;
linklist head,q;
head=(listnode *)malloc(sizeof(listnode));/*生成头结点*/
head->data=10;
head->next=NULL;
p=(listnode *)malloc(sizeof(listnode));/*生成第一个要插入的新结点*/
(3) 编制程序
在按需求建立项目之后,应添加资源,设置资源属性,定义类文件,编写函数代码,以及响应事件时所要执行的代码。 编码时可以直接点击项目工作区的相应项目进行编辑。在类视图下可以点击类跳转到源文件相应的行编辑类以及其成员信息。或在资源视图下直接双击相应对象编辑。
(4)保存项目
当创建项目时,VC++会自动生成项目文件。在增加代码时要经常保存项目。保存项目应选File菜单上的Save命令进行保存。有时编码程序时可能会同时改动多个文件这时应注意将改动的文件分别保存或者用File菜单上的Save all命令保存。
(2)点选要创建的项目类型,然后在右边的Location框中输入要保存的路径,在Project Name框中输入项目的名字,点击OK,会弹出创建项目向导,可以根据提示选取要创建的项目的细节。最后点Finish按钮。VC++会列出一个将要创建的项目的信息,这时点OK按钮VC++就会自动创建该项目的界面窗口、对话框等的编码文件。
XX大学
软件技术基础
实验报告
姓名:xx
班级:自动化1105
学号:xx
成绩:
2013年11月05日
实验一 vc++6.0基本环境与应用
实验题目:熟悉vc++6.0的实验环境
实验目的:掌握建立vc工程的方法,并学会编写简单的vc程序。
实验内容:
1,熟悉vc++界面。
启动VC++ 6.0中文版以后,屏幕上显示如图所示的开发环境。开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口及状态栏组成。每个窗口左上角均有最小化、最大化(还原)和关闭按钮。各类窗口相互独立,可进行打开、关闭、移动、极大、极小化控制以及改变窗口大小。
Custom AppWizard(创建自定义的应用程序)
Database Project(创建数据库)
DevStudio Add-in Wizard(创建自定义宏)
ISAPI Extension Wizard(创建Internet服务器或过滤器)
Makefile(创建Make文件)
MFC AppWizard(dll)(创建MFC动态链接库)
[20] .ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
[21] .INI:配置文件。
[22] .LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
[23] .LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
[24] .MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程。
执行(Execute)执行是运行工程查看结果。可以单击快捷栏上的执行按钮执行程序。
visual C++文件后缀名释义
[1] .APS:存放二进制资源的资源辅助中间文件(可加快资源装载速度)。
[2] .BMP:位图资源文件。
[3] .BSC:浏览信息文件。由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。可在project options里去掉Generate Browse Info File,这样可加快编译进度。
pseqlist p;
p=(pseqlist)malloc(sizeof(struct seqlist));
p->n=0;
for( i=0;i<10;i++)
{
cin>>p->a[i];
p->n=(p->n)+1;
}
for( i=0;i<10;i++)
{
cout<<p->a[i]<<endl;
}
cout<<"list length is:"<<p->n;
cout<<" ";
q=q->next;
}
while(q->next!=NULL);
cout<<q->data;
cout<<" ";
q=q->next;
}
运行结果如图
实验3 查找算法
实验题目:二分查找算法
实验目的:掌握二分查找算法的基本原理,使用vc++6.0语言编写程序。
[32] .PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
[33] .PCH:预编译头文件,较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
[34] .PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
实验二 线性表的运算
实验题目:线性表的生成、插入和删除等运算
实验目的:掌握线性表的顺序存储结构和链式存储结构及它们在计算机中的实现方法。
实验内容:分别建立一个顺序表和单链表,实现其生成、插入、删除、查找和定位的程序。
(1)按指定长度和输入的相应长度的字符串建立一个顺序表和一个单链表。
(2)在指定位置插入一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入所插元素和位置“F,1”,则插入的结构为“FABCD”。
MFC AppWizard(exe)(创建MFC可执行程序)
MFC AxtiveX ControlWizard(创建MFC控件程序)
Win32 Dynamic Link Library(创建Win32动态链接库)
Win32 Application(创建Win32程序)
Win32 Console Application(创建Win32控制台程序)
(5)建立Baidu Nhomakorabea序
建立程序包括:编译,链接和运行程序。这行操作可以在快捷栏上用快捷按钮完成。向项目增加代码时,可以建立程序来检查错误和修改代码。
编译(Compile)编译是将单个文件生成*.obj文件供链使用同时以检查程序有无错误。可以单击快捷栏上的编译按钮进行编译。
链接(Build)链接是将程序连接生成*.exe文件,以便直接运行。可以单击快捷栏上的链接按钮进行链接。
实验原理:
1、顺序表的生成、插入和删除运算:
顺序表是一种线性表,主要表现形式为一维数组,一旦声明其长度,就不可改变,中间也不允许插入或删除。
2、单链表的生成、插入、和删除运算:
链表有好几种,单链表、循环链表;双向链表。链表能够根据需要变化表的长度,随时插入、删除、添加节点。链表节点由数据域和指针域构成。每一个节点的指针域总是指向下一个节点,如果没有下一个节点,就为空。
[15] .HLP:Windows帮助文件。
[16] .HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
[17] .HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
[18] .HPG:生成帮助的文件的工程。
[19] .ICO:图标资源文件。
(3)删除指定位置的一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入删除位置“1”,则删除的结果为“BCD”。
实验要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
实验报告要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
[4] .C:用C语言编写的源代码文件。
[5] .CLW:ClassWizard生成的存放类信息的文件。
[6] .CNT:用来定义帮助文件中“Contents”的结构。
[7] .CPP或.CXX:用C++语言编写的源代码文件。
[8] .CUR:光标资源文件。
[9] .DEF:模块定义文件,供生成动态链接库使用。
[10] .DLG:定义对话框资源的独立文件。对于VC工程非必需,因VC一般把对话框资源放在.RC文件中。
[11] .DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
[12] .DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中,与.dsp相似。