山东建筑大学C++课程设计报告.docx

上传人:b****2 文档编号:602431 上传时间:2023-04-29 格式:DOCX 页数:20 大小:324.93KB
下载 相关 举报
山东建筑大学C++课程设计报告.docx_第1页
第1页 / 共20页
山东建筑大学C++课程设计报告.docx_第2页
第2页 / 共20页
山东建筑大学C++课程设计报告.docx_第3页
第3页 / 共20页
山东建筑大学C++课程设计报告.docx_第4页
第4页 / 共20页
山东建筑大学C++课程设计报告.docx_第5页
第5页 / 共20页
山东建筑大学C++课程设计报告.docx_第6页
第6页 / 共20页
山东建筑大学C++课程设计报告.docx_第7页
第7页 / 共20页
山东建筑大学C++课程设计报告.docx_第8页
第8页 / 共20页
山东建筑大学C++课程设计报告.docx_第9页
第9页 / 共20页
山东建筑大学C++课程设计报告.docx_第10页
第10页 / 共20页
山东建筑大学C++课程设计报告.docx_第11页
第11页 / 共20页
山东建筑大学C++课程设计报告.docx_第12页
第12页 / 共20页
山东建筑大学C++课程设计报告.docx_第13页
第13页 / 共20页
山东建筑大学C++课程设计报告.docx_第14页
第14页 / 共20页
山东建筑大学C++课程设计报告.docx_第15页
第15页 / 共20页
山东建筑大学C++课程设计报告.docx_第16页
第16页 / 共20页
山东建筑大学C++课程设计报告.docx_第17页
第17页 / 共20页
山东建筑大学C++课程设计报告.docx_第18页
第18页 / 共20页
山东建筑大学C++课程设计报告.docx_第19页
第19页 / 共20页
山东建筑大学C++课程设计报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

山东建筑大学C++课程设计报告.docx

《山东建筑大学C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《山东建筑大学C++课程设计报告.docx(20页珍藏版)》请在冰点文库上搜索。

山东建筑大学C++课程设计报告.docx

山东建筑大学C++课程设计报告

 

山东建筑大学计算机科学与技术学院

课程设计说明书

 

题目:

小学生测验

课程:

C/C++课程设计

院(部):

计算机科学与技术学院

专业:

计算机科学与技术

班级:

计科133

学生姓名:

潘含笑

学号:

20131111092

指导教师:

张晓兰

完成日期:

2015.01.09

目录

1、课程设计目的1

2、课程设计任务1

3、小学生测验系统2

4、参考文献12

5、课程设计总结13

6、附件(源代码)13

1、课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《C/C++语言》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:

(1)巩固和加深学生对C/C++课程的基本知识的理解和掌握;

(2)掌握C/C++编程和程序调试的基本技能;(3)利用C/C++进行简单软件设计的基本思路和方法,初步理解面向过程和面向对象的编程思想;(4)提高运用C/C++解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。

(6)培养学生实际操作能力,为以后的工作打下坚实的基础。

2、课程设计任务

设计题目

小学生测验

已知技术参数和设计要求

面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:

电脑随机出10道题,每题10分,程序结束时显示学生得分。

1、确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的。

2、每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束,则输出正确答案。

3、对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分。

4、总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”。

设计内容与步骤

1、模块化程序设计。

2、具体数据结构的定义及其处理数据算法的设计。

3、锯齿型程序书写格式。

4、程序设计、实现、调试。

5、课程设计说明书。

设计工作计划与进度安排

1、程第1~3天:

总体需求分析,阅读相关文档,设计说明,查找资料。

2、第4~6天:

程序代码设计与实现,程序调试、修改、完善。

3、第7~8天:

撰写课程设计说明书(word电子文档)。

4、第9~10天:

课程设计成果演示。

设计考核要求

1、考勤20%。

2、课程设计说明书50%。

3、成果演示30%。

3、小学生测验系统

3.1问题描述与功能设计

面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:

电脑随机出10道题,每题10分,程序结束时显示学生得分。

1、确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的。

2、每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束,则输出正确答案。

3、对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分。

4、总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”。

3.2概要设计

3.3详细设计

类和对象模型

对象之间的关系模型

对象主要操作算法流程图

3.4测试数据与测试情

1、下图中,第一题为当问题第一次回答正确时的状态

第二题为当问题第二次回答正确时的状态

第三题为当问题第三次回答正确时的状态

第四题为当问题三次回答都错误时的状态

第五题为输入乱码的状态

2、9个题第一次答对,1个题第二次答对,得分97,SMART

3、8个题第一次答对,1个题第三次答对,1个题三次都答错,得分85,GOOD

4、7个题第一次答对,1个题第三次答对,2个题三次都答错,得分75,OK

5、5个题第一次答对,2个题第二次答对,3个题三次都答错,得分64,PASS

6、5个题第一次答对,1个题第二次答对,4个题三次都答错,得分57,TRYAGAIN

4、参考文献

[1]何钦铭、颜晖著,C语言程序设计,高等教育出版社,2011年12月。

[2]杜茂康、李昌兵著,C++面向对象程序设计(第二版),电子工业出版社,2009年11月。

[3]钱能,C/C++程序设计教程(修订版)—设计思想与实现,清华大学出版社,2013年1月。

[4]Y.DanielLiang著,王刚,刘晓光,刘璟译:

C/C++程序设计,机械工业出版社,2009年11月。

[5]郑秋生:

C/C/C++程序设计教程,电子工业出版社,2007年10月。

5、课程设计总结

在这次C++课程设计中,我自己学到了很多关于C++的知识。

很多函数可以在头文件中调用,使得程序的编写变得便捷。

在每次的上机课时,与同学们的交流使得我不断完善程序,让程序的更具有交互性。

每当编程出现问题的时候,我就翻阅C++课本,实在难以解决的问题就通过互联网查询资料以及与向老师同学询问来解决。

这次课程设计,我获得了巨大收获,对C++有了更加深刻的理解。

6、附件(源代码)

#include

#include//包含srand()和rand()函数

#include//包含time()函数

usingnamespacestd;

classA

{

private:

intflag,f1,a,b;

charanswer3[100];

public:

intrandom()//随机选题

{

srand(time(NULL));//随机数发生器的初始化函数,设置供rand()使用的随机数种子,使用系统时间来初始化,防止随机数每次重复

flag=rand()%2;//将两种题目设置随机的编号

a=rand()%50;//运算的范围在0~49之间

b=rand()%50;

if(flag==0)

{

f1=a+b;

returnf1;

}

else

{

f1=a-b;

returnf1;

}

}

voidprint()//打印随机抽选的题目

{

if(flag==0)

cout<

"<

else

cout<

"<

}

intnum;

intanswer()//答题

{

for(intj=0;j<3;j++)//剩余两次答题机会,判断的分

{

cin>>answer3;//获得输入的答案

intanswer=atoi(answer3);//强制类型转换,将char型数组转为int型

if(answer==f1)

break;//若回答正确,则退出循环

else//若回答错误

{

if(j==2)//第三次输入错误时,将正确答案输出

cout<<"输入错误,正确答案为:

"<

"<

else

cout<<"答案错误,请重新输入:

"<

}

}

if(j==0)

{

num+=10;//第一次答对

cout<<"回答正确,该题得分为10,当前得分为:

"<

}

elseif(j==1)

{

num+=7;//第二次答对

cout<<"回答正确,该题得分为7,当前得分为:

"<

}

elseif(j==2)

{

num+=5;//第三次答对

cout<<"回答正确,该题得分为5,当前得分为:

"<

}

returnnum;

}

voidresult(intnum)//显示结果,划分成绩等级

{

if(num>90)

cout<<"SMART"<

elseif(num>80)

cout<<"GOOD"<

elseif(num>70)

cout<<"OK"<

elseif(num>=60)

cout<<"PASS"<

elseif(num<60)

cout<<"TRYAGAIN"<

cout<<"总成绩为:

"<

}

};

voidmain()

{

Aa;

//intn=0;

intf2=0;

intk=1;

while(k==1)//控制程序的再次运行和退出

{

a.num=0;//系统重新开始,将得分清零

for(inti=0;i<10;i++)

{

f2=a.random();//调用随机选题函数

if(f2>50||f2<0)//限制题目的运算范围

{

i--;//保证即使有不符合限制范围的题目,总题目的个数也保持10个。

continue;//有不符合限制范围的题目,就重新随机选题

}

else

{

cout<<"第"<

"<

a.print();//调用打印题目的函数

}

a.answer();//调用答题函数

cout<

}

a.result(a.num);//调用显示结果函数

cout<<"按1重新开始测试,按0退出程序"<

cin>>k;

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2