程序设计实践报告

 我来答
会哭的礼物17
2022-06-27 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5803
采纳率:100%
帮助的人:30.6万
展开全部

程序设计实践报告


本文是关于《程序设计实践报告》范文,详情请您对下文进行参考:


本文编辑:yjbys.com


1、实验目的、内容
通过课程设计,能够熟练运用C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术.
要求学生在指导老师的指导下,独立完成实习课题的全部内容,包括:
(1) 通过调查研究和上机实习,收集和调查有关技术资料;
(2) 掌握设计课题的基本步骤和方法;
(3) 根据课题的要求进行上机实验调试.
2、题目一:比赛求平均分
2.1程序内容
在体育、文艺比赛及选举等打分类项目中,为了公平起见,往往n个评委打出分数后,要去掉一个最高分和一个最低分,然后求取平均得分。当n较大时(本题设为9),则应取掉两个最高分和两个最低分,然后求取平均分。编程实现该算法。

2.2实验程序设计及结构
(1)需求分析:
输入9个评委所打分数,程序运行最后结果为去掉最高分和最低分后的平均分.
(2)设计结构:
总体结构
 


数据结构

从a[0]到a[9]依次为9位评委的打分.
2.3设计过程
(1) 建立iostream/ofstream/fstream、输入、输出、输入输出流对象,建立ifndef,define预编命令,STRUCT 数据.
(2)根据流程图,建立main函数,并运用for循环.
(3)运行main函数进行调试.
2.4运行结果


3、题目二:火柴游戏
3.1程序内容:
23根火柴游戏: 两个游戏者开始拥有23根火柴(或小棒)。每个游戏者轮流移走1根、2根或3根火柴,拿到最后一根火柴的就算输了。编一程序与计算机玩这个游戏。
3.2实验程序设计
(1)需求分析:
运行程序能使人与计算机进行23根火柴游戏。
(2)设计思路:
使计算机能最先使火柴变成4或4以下计算机就能赢了。

3.3设计过程
(1) 建立iostream/ofstream/fstream、输入、输出、输入输出流对象,建立ifndef,define预编命令,STRUCT 数据.
(2)根据设计思路运用if判断语句设计
(3)建立main函数
(4)运行main函数调试

 

3.4运行结果


4、题目三:足球比分
4.1设计内容:
问题描述
足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。
基本要求
设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的.场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。
测试数据
可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。
4.2设计方案:
定义一个球队类和对象数组,每个球队均是球队类的对象。由于联赛中参赛队伍数目是固定的,因此将每个球队存放在对象数组的一个数组元素中。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢得场数,进球数等等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数,积分为排序元素)排出名次并输出。
5、设计的特点与心得:
经过一个学期的学习和上机实践,使我对C++语言有了更认识和和了解,要想学好它要重在实践,要通过不断的上机操作才能更好的学习它,通过实践,我也发现我的好多不足之处,对各种控制结构及语句、数组的基本与高级应用、指针数组、字符数组、动态数组、函数的定义、调用方式;函数在编程中的具体应用;以及变量存储特征与标识符的作用域,通过实践,使我在这些方面有了认识和提高。课程设计它是一项任务,更是一种挑战和历练。在课程设计中,为了使用时方便,着重对不足方面的知识进行了分析与理解,在这一过程中对文件的操作有了很大的提高。通过实际的演练,可以增强对知识的理解和运用能力。

 

 

 

 

 


参考文献
[1]、杨长兴、刘卫国,《C++程序设计》,中国铁道出版社,2008年

附录
题目一实验源代码:
#include<stdio.h>
#include<iostream.h>
void main()
{
int a[9],i,j,temp,b=0,s;
cout<<"请打分:"<<endl;
for(i=0;i<9;i++)
{
cin>>a[i];
}
for(i=0;i<9;i++)
for(j=i;j<9;j++)
{
if(a[i]<=a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=2;i<7;i++)
{
b=b+a[i];
}
s=b/5;
cout<<"最后成绩为:"<<s;
}

 

 

 

 

 

 

 

 

 

 

 

 

题目二实验源代码:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>

int getMin(int a,int b)
{
return a<b?a:b;
}
int main()
{
printf("游戏开始\n");
int count = 23;
int input;
int computerInput;
while(true)
{
printf("当前还剩%d根火柴,请玩家拿取火柴:\n",count);
printf("1.一根火柴 ");

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SoSee
2023-10-19 广告
展览科技公司-会展中心-国际会展,详情咨询:400-006-8886,索奇SoSee智能科技,为会展行业主办提供数据决策能力的展商查询/产品展示/活动管理等,是你需要的SoSee索奇智能!... 点击进入详情页
本回答由SoSee提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式