程序設(shè)計實踐報告
程序設(shè)計實踐報告
本文是關(guān)于《程序設(shè)計實踐報告》范文,詳情請您對下文進(jìn)行參考:
本文編輯:yjbys.com
1、實驗?zāi)康摹?nèi)容
通過課程設(shè)計,能夠熟練運用C++進(jìn)行面向?qū)ο缶幊?建立對象模型,降低軟件的復(fù)雜性,改善軟件的重用性和維護(hù)性,提高軟件的生產(chǎn)效率,全面掌握面向?qū)ο缶幊碳夹g(shù).
要求學(xué)生在指導(dǎo)老師的指導(dǎo)下,獨立完成實習(xí)課題的全部內(nèi)容,包括:
(1) 通過調(diào)查研究和上機實習(xí),收集和調(diào)查有關(guān)技術(shù)資料;
(2) 掌握設(shè)計課題的基本步驟和方法;
(3) 根據(jù)課題的要求進(jìn)行上機實驗調(diào)試.
2、題目一:比賽求平均分
2.1程序內(nèi)容
在體育、文藝比賽及選舉等打分類項目中,為了公平起見,往往n個評委打出分?jǐn)?shù)后,要去掉一個最高分和一個最低分,然后求取平均得分。當(dāng)n較大時(本題設(shè)為9),則應(yīng)取掉兩個最高分和兩個最低分,然后求取平均分。編程實現(xiàn)該算法。
2.2實驗程序設(shè)計及結(jié)構(gòu)
(1)需求分析:
輸入9個評委所打分?jǐn)?shù),程序運行最后結(jié)果為去掉最高分和最低分后的平均分.
(2)設(shè)計結(jié)構(gòu):
總體結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)
從a[0]到a[9]依次為9位評委的打分.
2.3設(shè)計過程
(1) 建立iostream/ofstream/fstream、輸入、輸出、輸入輸出流對象,建立ifndef,define預(yù)編命令,STRUCT 數(shù)據(jù).
(2)根據(jù)流程圖,建立main函數(shù),并運用for循環(huán).
(3)運行main函數(shù)進(jìn)行調(diào)試.
2.4運行結(jié)果
3、題目二:火柴游戲
3.1程序內(nèi)容:
23根火柴游戲: 兩個游戲者開始擁有23根火柴(或小棒)。每個游戲者輪流移走1根、2根或3根火柴,拿到最后一根火柴的就算輸了。編一程序與計算機玩這個游戲。
3.2實驗程序設(shè)計
(1)需求分析:
運行程序能使人與計算機進(jìn)行23根火柴游戲。
(2)設(shè)計思路:
使計算機能最先使火柴變成4或4以下計算機就能贏了。
3.3設(shè)計過程
(1) 建立iostream/ofstream/fstream、輸入、輸出、輸入輸出流對象,建立ifndef,define預(yù)編命令,STRUCT 數(shù)據(jù).
(2)根據(jù)設(shè)計思路運用if判斷語句設(shè)計
(3)建立main函數(shù)
(4)運行main函數(shù)調(diào)試
3.4運行結(jié)果
4、題目三:足球比分
4.1設(shè)計內(nèi)容:
問題描述
足球聯(lián)賽采用主客場雙循環(huán)賽制,勝一場得3分,平局各得1分,負(fù)一場得0分,聯(lián)賽排名以積分多者在前,當(dāng)兩隊(或多隊)積分相同時,則凈勝球(即進(jìn)球數(shù)與失球數(shù)之差)多者在前,若凈勝球相同,則進(jìn)球數(shù)多者在前,若仍相同,則抽簽或踢附加賽決定名次(這在聯(lián)賽結(jié)束后進(jìn)行,聯(lián)賽未結(jié)束則兩隊名次并列,本程序不做這方面要求)。試編一程序統(tǒng)計最近一輪比賽后,各隊積分及排名。
基本要求
設(shè)積分表結(jié)構(gòu)如下:隊名(不超過15個字符),已比賽的場數(shù),贏的.場數(shù),平的場數(shù),負(fù)的場數(shù),進(jìn)球數(shù),失球數(shù),積分。積分表放在正文文件中。最近一輪的結(jié)果從鍵盤輸入,其形式為:主隊名(可用代碼),客隊名(可用代碼),主隊得分(即進(jìn)球數(shù)),客隊得分(即進(jìn)球數(shù))。程序應(yīng)根據(jù)此輪結(jié)果修改各隊的積分和名次,所得的最新記分表仍在原積分文件中并同時在屏幕上顯示。
測試數(shù)據(jù)
可選擇我國當(dāng)年的甲A或甲B聯(lián)賽的數(shù)據(jù)輸入,并檢查與報章公布的數(shù)據(jù)是否一致。
4.2設(shè)計方案:
定義一個球隊類和對象數(shù)組,每個球隊均是球隊類的對象。由于聯(lián)賽中參賽隊伍數(shù)目是固定的,因此將每個球隊存放在對象數(shù)組的一個數(shù)組元素中。每輸入兩個隊的比賽成績,則相應(yīng)的隊的有關(guān)數(shù)據(jù)(比賽場數(shù),贏得場數(shù),進(jìn)球數(shù)等等)即可進(jìn)行修改,比賽成績錄入完成,調(diào)用聯(lián)賽排序方法(對象數(shù)組作為參數(shù),積分為排序元素)排出名次并輸出。
5、設(shè)計的特點與心得:
經(jīng)過一個學(xué)期的學(xué)習(xí)和上機實踐,使我對C++語言有了更認(rèn)識和和了解,要想學(xué)好它要重在實踐,要通過不斷的上機操作才能更好的學(xué)習(xí)它,通過實踐,我也發(fā)現(xiàn)我的好多不足之處,對各種控制結(jié)構(gòu)及語句、數(shù)組的基本與高級應(yīng)用、指針數(shù)組、字符數(shù)組、動態(tài)數(shù)組、函數(shù)的定義、調(diào)用方式;函數(shù)在編程中的具體應(yīng)用;以及變量存儲特征與標(biāo)識符的作用域,通過實踐,使我在這些方面有了認(rèn)識和提高。課程設(shè)計它是一項任務(wù),更是一種挑戰(zhàn)和歷練。在課程設(shè)計中,為了使用時方便,著重對不足方面的知識進(jìn)行了分析與理解,在這一過程中對文件的操作有了很大的提高。通過實際的演練,可以增強對知識的理解和運用能力。
參考文獻(xiàn)
[1]、楊長興、劉衛(wèi)國,《C++程序設(shè)計》,中國鐵道出版社,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<<"最后成績?yōu)椋?quot;<<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āng)前還剩%d根火柴,請玩家拿取火柴:n",count);
printf("1.一根火柴 ");
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 yyfangchan@163.com (舉報時請帶上具體的網(wǎng)址) 舉報,一經(jīng)查實,本站將立刻刪除