地大14级测绘工程系C++实习指导书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c.输入一个学生学号,查找并删除文件中他/她的记录。若无,则提示“无此人”。
d.增加一个学生信息到记录中,并保持文件中学生记录仍然有序,不可重复。
a.txt文件内容如下:(自行下去复制存文件)
学号姓名专业数学外语物理
20221000265寇天香111221906874.6
20221000318李未发111221907076.0
三、课程设计内容和时间分配
1、课程设计内容分为四部分:
(1)课程设计基本练习题目
(2)课程设计基本练习题目
(3)课程设计基本练习题目
(4)课程设计综合题
2、实习中,建议每次上机完成至少完成一个题目,前7次上机要基本完成所有的题目,第8次上机为提问检查时间。在课程设计中,同学们可以根据自己的实际情况,时间上酌情调整。
基本能按要求进行课程设计
总分
总分=(X1+X2+X3+X4+X5)/5
2、指导老师按优秀、良好、中等、及格、不及格五档提交成绩,成绩等级如下:
优秀:90-100;
良好:80-89;
中等:70-79;
及格:60-69;
不及格:<60,成绩不合格者需要重修。
实习题目一(<小二,黑体,居中>)
【需求规格说明】
7、设计一个程序用于管理自己的个人资金软件。其中有3个类,CBC、CICBC和CCash,分别为中国银行类、工商银行类和现金类。每个类都包含一个私有数据balance,用于存放自己在该类帐号中的余额数,每个类还有转帐(tranfer)、收入(income)、支出(consume)、统计(Statistic)等操作功能。类结构如图4-2所示。
(2)编写一段主程序,要求主程序中生成整型、浮点型、字符型的栈实例各一个并分别测试其功能。
6、编写一个程序实现文件读写操作、排序、查找、删除等操作。
要求:
a.将“a.txt”文件中将学生成绩记录按照总分的由高到低方式排列,并将结果输出到“b.txt”。总分相同的情况下,按照数学成绩的由高到低排列。
b.输入一个学生姓名,查找并输出他/她的信息。若无,则提示“无此人”。
void main()
{
CBook b1("面向对象程序设计",100,"郑莉"),b2("数据结构",110,"严蔚敏");
CReader r1("王华",1234);
r1.rentbook(b1);
r1.rentbook(b2);
r1.showreader();
}
运行结果:
读者王华(1234)
所借图书:
(<五号,宋体>,具体内容:题号及题目、问题描述、问题分析。)
【算法设计】
(1)设计思想:
(<五号,宋体>,具体内容:主要的算法思想。)
(2)设计表示:
(<五号,宋体>,具体内容:子模块(过程或函数)的规格说明、关系图(描述类与类之间的关系图、各功能模块之间的关系图等)。)
【调试报告】
(<五号,宋体>,具体内容:问题是如何解决的,改进设想。)
由指导教师根据课程设计任务完成情况、现场提问、观看运行结果、评阅课程设计报告并参考学生平时表现等五方面给出课程设计成绩。
1、具体评分标准(见表5-1),成绩等级分为:A(100分)、B(80分)、C(70分)、D(60分)、E(<60分)五档或折合成百分制给出成绩。
表5-1VC++课程设计评分暂行标准
virtual long statistic(TimeStamp_STRU &timeStart, TimeStamp_STRU &timeEnd);
private:
double balance;
}
(3)其他说明:在实现的过程中可根据自己的实际Leabharlann Baidu况增加软件的实用性。实用性强的软件可酌情加分。
五、成绩评定及评分标准
项目
评定内容
评分标准(ABCDE)
评分
A
D
课堂
检查
完成设计题目的数量与质量(X1)
超额完成设计题目,达到较高的程序设计水平,具有一定的创新性、实用性。
基本完成课程设计要求
提问检查基础理论掌握情况(X2)
回答问题准确合理,概念表达清楚、有条理。
基本符合问题要求
调试能力和软件运行检查(X3)
具有较强的调试程序的能力,操作熟练,程序运行结果正确,界面友好,界面结构合理。
中国地质大学(武汉)信息工程学院测绘工程系
面向对象课程设计实习指导书
使用班级:115141-3
实习指导老师:方芳、杨林、田文文
2015-6
1、使学生对所学理论知识进行一次综合性复习;
2、培养学生对实际问题的分析能力;
3、培养学生独立编程、开发软件的动手能力;
4、培养学生开放思维的创新能力;
5、培养学生熟练掌握VC++调试技能;
//参数说明:inType[in]-收入类型:例如奖学金、勤工俭学、父母支助等。可根据实际情况添加。
virtual long income(CMyAccount *ptSourceA, short inType, double sum, char *ptNote=NULL);
//参数说明:conType[in]-支出类型:食物、衣物、学费、书籍等。可根据实际情况添加。
程序运行结果基本符合要求
课程
设计
报告
课程设计报告情况检查(X4)
严格按照课程设计报告格式的要求,设计文档规范;书写清晰有条理,图文并貌,能够总结算法或设计的优缺点,附有改进意见、设计体会或心得。
基本达到课程设计报告的要求
平时
表现
出勤记载(X5)
严格遵守机房规定,不迟到不早退,不做与课程设计无关的事情
20221001627王钟国111222856268.9
20221001731王唯其111222907680.2
20221001941唐郭凡111222958990.8
20221002029胡志明111222907478.8
20221002094郑楷钟111222907579.5
20221002480张黎明111222856772.4
virtual long consume(CMyAccount *ptSourceA, short conType, double sum, char *ptNote=NULL);
//参数说明:conType[in]-支出类型:食物、衣物、学费、书籍等。可根据实际情况添加。
//功能说明:统计某个时间段内的收支情况,结果有收支总体情况和各种子类的具体数据。
2、小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”请你写出:小明的较小的妹妹的年龄。
3、(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1,1 3 3 1,1 4 6 4 1。这些系数构成了著名的杨辉三角形:
【附录】
(<五号,宋体>,具体内容:源程序清单(必须有必要的注释)、测试数据及运行结果。)
实习题目二
……
总结
(<五号,宋体>,具体内容:通过本次课程设计,谈谈你的体会和感想以及对本课程设计的意见和建议。)
Class CObject
{
private:
char name[20];
int no;
public:
object(){}
object(char na[],int n)
{
strcpy(name,na);no=n;
}
void show()
{ cout<<name<<"("<<no<<")"; }
};
测试代码为:
6、培养学生规范的编程习惯;
7、培养学生团队协作精神;
8、培养学生撰写课程设计报告的能力。
二、课程设计要求
为了能更好地达到课程设计的目的,要求学生:
1、每次上机前充分做好准备工作,查阅资料,预习相关内容,对课程设计内容进行方案的预设计,编制出源程序代码。
2、充分利用上机时间完成源程序代码的输入、调试及优化。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
试计算给定n对应的杨辉三角形,输出到文件中。
4、假设图书馆的图书包含书名、编号、作者属性;读者包含姓名和借书证属性;每位读者最多可借5本书,编写程序列出某读者的借书情况。
提示:设计一个基类CObject,从它派生出书类CBook和读者类CReader,在CReader类中有一个rentbook()成员函数用于借阅图书。基类和测试代码已经给出,请完成CBook,CReader类。
3、程序代码的编制应按照C++编码规范的要求进行。
4、课程设计结束后,按照指导书中【附件】“课程设计报告格式”的要求撰写出课程设计报告(要求用A4纸打印,自行增加学校课程设计统一封面)。
5、按题目要求独立完成课程设计,不旷课、不迟到、不早退、遵守机房规定、爱护机房设备。
6、课程设计结束后第一周内提交:“代码”及“课程设计报告”电子版(以班级为单位刻盘,格式:[姓名-学号文件夹]-[每个题目一个工程]);
class CMyAccount
{
public:
//参数说明:ptSourceA[in]-转帐源方;
// ptDestA[in] -转帐目的方;
// sum[in] -转帐金额
// ptNote[in] -备注
//功能举例:从银行取钱时,就需要执行转帐操作:从某个银行帐号转入到现金帐号中。
virtual long transfer(CMyAccount *ptSourceA, CMyAccount *ptDestA, double sum, char *ptNote=NULL);
(1)界面的形式如图4-3~4-5所示。界面上需要实现的功能包括:
1、记帐功能:记录某个帐户中的资金变化的明细。写入到磁盘文件。
2、统计功能:本月总支出;
3、帐单查看:各个帐号的查看;(直接调用文件显示)
图4-2银行类结构图
图4-3记账功能菜单设计
图4-4帐单查看菜单设计
图4-5记账功能界面设计
(2)基类CMyAccount的定义如下:
3、课程设计的成绩与题目完成的数量、质量、创新程度、回答提问、课程设计报告以及平时表现等有关,具体请看指导书“成绩评定及评分标准”。
四、
1、福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA。他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”。于是,两人沉默了好久,还是没有算出合适的结果来。请你利用编程技术,找到破解的答案。
20221000588刘文亮111221907076.0
20221000727黄一凡111221805965.3
20221000820许启良111221908485.8
20221001032苗一方111221907076.0
20221001136路忠良111221856067.5
20221001282钟凌涛111222704049.0
1:面向对象程序设计(100)
2:数据结构(110)
5、栈模板及其实例的使用:
(1)利用类模板实现一个通用的栈模板。要求这个栈模板能够完成一般栈的基本操作(栈元素为基本数据类型,不包括指针、数组以及对象):向栈中压入一个元素(push)、取栈顶元素的值(top)、弹出栈顶元素(pop)、清空栈(empty)、判断栈是否为空(isEmpty)。
d.增加一个学生信息到记录中,并保持文件中学生记录仍然有序,不可重复。
a.txt文件内容如下:(自行下去复制存文件)
学号姓名专业数学外语物理
20221000265寇天香111221906874.6
20221000318李未发111221907076.0
三、课程设计内容和时间分配
1、课程设计内容分为四部分:
(1)课程设计基本练习题目
(2)课程设计基本练习题目
(3)课程设计基本练习题目
(4)课程设计综合题
2、实习中,建议每次上机完成至少完成一个题目,前7次上机要基本完成所有的题目,第8次上机为提问检查时间。在课程设计中,同学们可以根据自己的实际情况,时间上酌情调整。
基本能按要求进行课程设计
总分
总分=(X1+X2+X3+X4+X5)/5
2、指导老师按优秀、良好、中等、及格、不及格五档提交成绩,成绩等级如下:
优秀:90-100;
良好:80-89;
中等:70-79;
及格:60-69;
不及格:<60,成绩不合格者需要重修。
实习题目一(<小二,黑体,居中>)
【需求规格说明】
7、设计一个程序用于管理自己的个人资金软件。其中有3个类,CBC、CICBC和CCash,分别为中国银行类、工商银行类和现金类。每个类都包含一个私有数据balance,用于存放自己在该类帐号中的余额数,每个类还有转帐(tranfer)、收入(income)、支出(consume)、统计(Statistic)等操作功能。类结构如图4-2所示。
(2)编写一段主程序,要求主程序中生成整型、浮点型、字符型的栈实例各一个并分别测试其功能。
6、编写一个程序实现文件读写操作、排序、查找、删除等操作。
要求:
a.将“a.txt”文件中将学生成绩记录按照总分的由高到低方式排列,并将结果输出到“b.txt”。总分相同的情况下,按照数学成绩的由高到低排列。
b.输入一个学生姓名,查找并输出他/她的信息。若无,则提示“无此人”。
void main()
{
CBook b1("面向对象程序设计",100,"郑莉"),b2("数据结构",110,"严蔚敏");
CReader r1("王华",1234);
r1.rentbook(b1);
r1.rentbook(b2);
r1.showreader();
}
运行结果:
读者王华(1234)
所借图书:
(<五号,宋体>,具体内容:题号及题目、问题描述、问题分析。)
【算法设计】
(1)设计思想:
(<五号,宋体>,具体内容:主要的算法思想。)
(2)设计表示:
(<五号,宋体>,具体内容:子模块(过程或函数)的规格说明、关系图(描述类与类之间的关系图、各功能模块之间的关系图等)。)
【调试报告】
(<五号,宋体>,具体内容:问题是如何解决的,改进设想。)
由指导教师根据课程设计任务完成情况、现场提问、观看运行结果、评阅课程设计报告并参考学生平时表现等五方面给出课程设计成绩。
1、具体评分标准(见表5-1),成绩等级分为:A(100分)、B(80分)、C(70分)、D(60分)、E(<60分)五档或折合成百分制给出成绩。
表5-1VC++课程设计评分暂行标准
virtual long statistic(TimeStamp_STRU &timeStart, TimeStamp_STRU &timeEnd);
private:
double balance;
}
(3)其他说明:在实现的过程中可根据自己的实际Leabharlann Baidu况增加软件的实用性。实用性强的软件可酌情加分。
五、成绩评定及评分标准
项目
评定内容
评分标准(ABCDE)
评分
A
D
课堂
检查
完成设计题目的数量与质量(X1)
超额完成设计题目,达到较高的程序设计水平,具有一定的创新性、实用性。
基本完成课程设计要求
提问检查基础理论掌握情况(X2)
回答问题准确合理,概念表达清楚、有条理。
基本符合问题要求
调试能力和软件运行检查(X3)
具有较强的调试程序的能力,操作熟练,程序运行结果正确,界面友好,界面结构合理。
中国地质大学(武汉)信息工程学院测绘工程系
面向对象课程设计实习指导书
使用班级:115141-3
实习指导老师:方芳、杨林、田文文
2015-6
1、使学生对所学理论知识进行一次综合性复习;
2、培养学生对实际问题的分析能力;
3、培养学生独立编程、开发软件的动手能力;
4、培养学生开放思维的创新能力;
5、培养学生熟练掌握VC++调试技能;
//参数说明:inType[in]-收入类型:例如奖学金、勤工俭学、父母支助等。可根据实际情况添加。
virtual long income(CMyAccount *ptSourceA, short inType, double sum, char *ptNote=NULL);
//参数说明:conType[in]-支出类型:食物、衣物、学费、书籍等。可根据实际情况添加。
程序运行结果基本符合要求
课程
设计
报告
课程设计报告情况检查(X4)
严格按照课程设计报告格式的要求,设计文档规范;书写清晰有条理,图文并貌,能够总结算法或设计的优缺点,附有改进意见、设计体会或心得。
基本达到课程设计报告的要求
平时
表现
出勤记载(X5)
严格遵守机房规定,不迟到不早退,不做与课程设计无关的事情
20221001627王钟国111222856268.9
20221001731王唯其111222907680.2
20221001941唐郭凡111222958990.8
20221002029胡志明111222907478.8
20221002094郑楷钟111222907579.5
20221002480张黎明111222856772.4
virtual long consume(CMyAccount *ptSourceA, short conType, double sum, char *ptNote=NULL);
//参数说明:conType[in]-支出类型:食物、衣物、学费、书籍等。可根据实际情况添加。
//功能说明:统计某个时间段内的收支情况,结果有收支总体情况和各种子类的具体数据。
2、小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”请你写出:小明的较小的妹妹的年龄。
3、(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1,1 3 3 1,1 4 6 4 1。这些系数构成了著名的杨辉三角形:
【附录】
(<五号,宋体>,具体内容:源程序清单(必须有必要的注释)、测试数据及运行结果。)
实习题目二
……
总结
(<五号,宋体>,具体内容:通过本次课程设计,谈谈你的体会和感想以及对本课程设计的意见和建议。)
Class CObject
{
private:
char name[20];
int no;
public:
object(){}
object(char na[],int n)
{
strcpy(name,na);no=n;
}
void show()
{ cout<<name<<"("<<no<<")"; }
};
测试代码为:
6、培养学生规范的编程习惯;
7、培养学生团队协作精神;
8、培养学生撰写课程设计报告的能力。
二、课程设计要求
为了能更好地达到课程设计的目的,要求学生:
1、每次上机前充分做好准备工作,查阅资料,预习相关内容,对课程设计内容进行方案的预设计,编制出源程序代码。
2、充分利用上机时间完成源程序代码的输入、调试及优化。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
试计算给定n对应的杨辉三角形,输出到文件中。
4、假设图书馆的图书包含书名、编号、作者属性;读者包含姓名和借书证属性;每位读者最多可借5本书,编写程序列出某读者的借书情况。
提示:设计一个基类CObject,从它派生出书类CBook和读者类CReader,在CReader类中有一个rentbook()成员函数用于借阅图书。基类和测试代码已经给出,请完成CBook,CReader类。
3、程序代码的编制应按照C++编码规范的要求进行。
4、课程设计结束后,按照指导书中【附件】“课程设计报告格式”的要求撰写出课程设计报告(要求用A4纸打印,自行增加学校课程设计统一封面)。
5、按题目要求独立完成课程设计,不旷课、不迟到、不早退、遵守机房规定、爱护机房设备。
6、课程设计结束后第一周内提交:“代码”及“课程设计报告”电子版(以班级为单位刻盘,格式:[姓名-学号文件夹]-[每个题目一个工程]);
class CMyAccount
{
public:
//参数说明:ptSourceA[in]-转帐源方;
// ptDestA[in] -转帐目的方;
// sum[in] -转帐金额
// ptNote[in] -备注
//功能举例:从银行取钱时,就需要执行转帐操作:从某个银行帐号转入到现金帐号中。
virtual long transfer(CMyAccount *ptSourceA, CMyAccount *ptDestA, double sum, char *ptNote=NULL);
(1)界面的形式如图4-3~4-5所示。界面上需要实现的功能包括:
1、记帐功能:记录某个帐户中的资金变化的明细。写入到磁盘文件。
2、统计功能:本月总支出;
3、帐单查看:各个帐号的查看;(直接调用文件显示)
图4-2银行类结构图
图4-3记账功能菜单设计
图4-4帐单查看菜单设计
图4-5记账功能界面设计
(2)基类CMyAccount的定义如下:
3、课程设计的成绩与题目完成的数量、质量、创新程度、回答提问、课程设计报告以及平时表现等有关,具体请看指导书“成绩评定及评分标准”。
四、
1、福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA。他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”。于是,两人沉默了好久,还是没有算出合适的结果来。请你利用编程技术,找到破解的答案。
20221000588刘文亮111221907076.0
20221000727黄一凡111221805965.3
20221000820许启良111221908485.8
20221001032苗一方111221907076.0
20221001136路忠良111221856067.5
20221001282钟凌涛111222704049.0
1:面向对象程序设计(100)
2:数据结构(110)
5、栈模板及其实例的使用:
(1)利用类模板实现一个通用的栈模板。要求这个栈模板能够完成一般栈的基本操作(栈元素为基本数据类型,不包括指针、数组以及对象):向栈中压入一个元素(push)、取栈顶元素的值(top)、弹出栈顶元素(pop)、清空栈(empty)、判断栈是否为空(isEmpty)。