- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《软件设计基础-C++》
课程设计报告
设计名称: 分糖果
姓 名: 学 号:
专业班级:
学 院:
设计时间:
设计地点:
指导教师评语:
指导教师签字:
年 月 日 目 录
1.课程设计目的
2.课程设计任务与要求
3.课程设计说明书
4.课程设计成果
5.程序调试过程
6.设计问题的不足和改进方案
7.课程设计心得
8.参考文献
1.课程设计目的
《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。
2.课程设计任务与要求:
要求:
本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、编程简练,程序功能齐全,能正确运行
4、说明书、流程图要清楚
5、课题完成后必须按要求提交课程设计报告
任务:幼儿园有n(20)个孩子围成一圈分糖果,老师先随机地发给每个孩子若干颗糖果,然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友;如共有8个孩子,则第1个将原来的一半分给第2个,第2个将原有的一半分给第3个……第8个将原来的一半分给第1个,这样的平分动作同时进行;若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果变成偶数。小孩人数和每个小孩的初始数由键盘输入。经过多少次调整,使每个孩子手中的糖果一样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。
应用数组通过判断数组元素是否相等来表示小孩手中的糖果是否相等。
利用循环结构,当小孩手中的糖果不等时进行调整循环。
3.课程设计说明书 ⑴概要设计
主要写模块说明,模块结构图,系统流程图(例N-S流程图)(五号,宋体)
模块说明:
在我设计的程序中一共包括了三个模块,分别是:输入模块、循环模块、输出模块。前一个模块运用了int allequall(int child[],int n)函数,另外两个个则是作为while语句中的一部分,通过while语句,把三大模块联系了起来。
模块结构图:
⑵详细设计
总体流程图:
各功能模块流程图:
模块流程图:
(1)输入模块:
模块:
(3)输出模块:
4.课程设计成果 #include iostream.h
int allequall(int child[],int n)//判断各小孩手中的糖果是否相等
{
for(int i=0;in-1;i++)
if(child[i]!=child[i+1])
return false;//不相等返回假
return true;//相等返回真
}
void main()
{
int child[10]={2,2,2,4,16,2,10,6,2,6}; //一维数组初始化
int temp=child[9];//创建临时数组
int temp1=0; //把赋值给temp int i=0;
bool flag=false;//标识变量
int count_t=0;
while(!flag)
{
flag=true;
count_t++;
for(i=0;i10;i++)//将数组赋值
{
child[i]=child[i]/2;
}
temp=child[9];
for(i=9;i=0;i--){
if(0==i)child[0]=child[0]+temp;
文档评论(0)