资源描述
东 南 大 学 C++考试上机考试
东南大学08级C++(下)上机试卷c
(考试时间80分钟卷面成绩100分)
学号 姓名 机位号
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题 (50分)
【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。
【题目】实现了直接选择排序算法。程序中有十处错误。
【含错误的源程序】
/*直接选择排序*/
#include <iostream>
//错误1
void SelectSort(int slist,int n) //错误2
{
int i,j,k;
int temp ;
for(i=0;i<n;i++){//错误3
k=i;
temp=slist[i];
for(j=i;j<=n;j++) //错误4
if(slist[j]<temp){
k==j; //错误5
temp=slist[j];
}
if(k!=i){
temp=slist[i];
slist[i]=slist[k];
slist[k]=temp;
}
}
}
int main(){
const int h=10;
int i //错误6
int list[h]={5,8,7,9,6,12,11,15,3,10};
cout<<"未排序数组:">>endl; //错误7
for(i=0;i<h;i++) cout<<list[j]<<'\t'; //错误8
Selectsort(list,h); //错误9
cout<<"已排序数组:"<<endl;
for(i=0;i<h;i++) cout<<list[i]<<'t'; //错误10
return 0;
}
二、编程题(50分)
【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。
【题目】创建类CGoods,该类的定义如下,在创建CGoods对象时,会调用默认的构造函数CGoods ()从D盘根目录下“mydatafile.txt”文件中读取数据来初始化类的成员;在撤消CGoods对象时,会调用默认的析构函数~CGoods ()将类的成员保存至工程目录下“mydatafile.txt”文件中。 请完成该类的构造函数、析构函数以及SetParam函数的定义,并用main主函数来验证该类的上述功能。
【注意】 将源程序以文件名“学号f2.cpp”存入Z盘自己的文件夹中。
class CGoods
{
string Description;
string No;
int Quantity;
double Cost;
double Retail;
fstream datafile;
Public:
CGoods ();//从文件中读取数据进行初始化
~CGoods ();//数据保存到文件中
void SetParam(string ,string,int,double,double);//为类的成员数据赋值
};
CGoods::CGoods ()
{
//此处添加代码
}
CGoods::~CGoods ()
{
//此处添加代码
}
CGoods::void SetParam(string ,string,int,double,double)
{
//为类的成员数据赋值
}
用于测试的main函数如下:
int main()
{
CGoods goods;
goods.SetParam("家电","10",100,2000,3500);
return 0;
}
展开阅读全文