1、东 南 大 学 C++考试上机考试
东南大学08级C++(下)上机试卷B
(考试时间80分钟卷面成绩100分)
学号 姓名 机位号
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题 (50分)
【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
【注意】源程序以“学号f1.cpp”命名,存
2、入自己学号文件夹。
【题目】以下程序实现了冒泡排序算法。
【含错误的源程序】
/*冒泡排序*/
//错误1
using namespace std //错误2
void BubbleSort(int slist,int n){ //错误3
bool noswap;
int i,j;
int temp;
for (i=0;ii;j--){ //从下往上冒泡
i
3、f(slist[j]>"未排序数组:"<4、i=0;i5、在撤消inventory对象时,会调用默认的析构函数~inventory()将类的成员保存至工程目录下“mydatafile.txt”文件中。 请完成该类的构造函数、析构函数以及SetParam()函数的定义。并用main主函数来验证该类的上述功能。
【注意】 将源程序以文件名“学号f2.cpp”存入Z盘自己的文件夹中。
class inventory
{
string Description;
string No;
int Quantity;
double Cost;
double Retail;
fstream datafile;
Public:
in
6、ventory(); //从文件中读取数据进行初始化
~inventory(); //数据保存到文件中
void SetParam(string ,string,int,double,double);//为类的成员数据赋值
};
inventory::inventory()
{
//此处添加代码
}
inventory::~inventory()
{
//此处添加代码
}
void inventory::SetParam(string description ,string number,int quantity,
double cost,double retail)
{
//完成成员函数SetParam()定义,实现为类的成员数据赋值
}
用于测试的main函数如下:
int main()
{
inventory goods;
goods.SetParam("家电","10",100,2000,3500);
return 0;
}
【提醒】上传的学号文件夹中只需包含f1.cpp、f2.cpp及mydatafile.txt三个文件即可,其余文件上传前尽可删除。