第九章 類(II)

1.學生成績類2
【問題描述】定義學生成績類Score辆苔,其私有數(shù)據(jù)成員有學號算灸、姓名、物理驻啤、數(shù)學菲驴、外語、平均成績骑冗。補全Score類及主函數(shù)赊瞬,使得程序能在一行中一次輸出該生的學號、姓名贼涩、物理巧涧、數(shù)學、外語遥倦、平均成績谤绳。
【輸入形式】
輸入學生的學號、姓名袒哥、物理缩筛、數(shù)學、外語堡称。
(學號為不超過10位的數(shù)字瞎抛;姓名為長度不超過10位的英文;物理數(shù)學外語成績?yōu)?-100的整數(shù))
【輸出形式】
輸出學生的學號粮呢、姓名婿失、物理、數(shù)學啄寡、外語以及平均成績豪硅。
【樣例輸入】

081531 WangXiaoming 100 82 99

【樣例輸出】

081531 WangXiaoming 100 82 99 93.67

【樣例說明】平均成績保留到小數(shù)后兩位。
【評分標準】

 #include <iostream> 
#include <string> 
#include <cstdio> 
#include <iomanip> 
using namespace std; 
class Score 
{ 
private: 
    string Id, Name; 
    int Phy, Math, Eng; 
    double Ave; 
public: 
    Score(string id, string name, int phy, int math, int eng):Id(id),Name(name),Phy(phy),Math(math),Eng(eng)
    {}
    friend void Average(int Phy,int Math,int Eng) 
    { 
       Ave=0;
       Ave=(double)(Phy+Math+Eng)/3;
    } 
    void Print() 
    { 
       cout<<Id<<' '<<Name<<' '<<Phy<<' '<<Math<<' '<<Eng<<' ';
       cout<<fixed<<setprecision(2)<<Ave;
    } 
}; 
int main() 
{ 
    string id, name; 
    int phy, math, eng; 
    cin >> id >> name >> phy >> math >> eng; 
    Score sco(id,name,phy,math,eng); 
    void Score::Average(phy,math,eng);
    sco.Print();
} 

2.電視類
【問題描述】補全設(shè)計一個TV類和一個Remote類挺物。Remote類的成員函數(shù)是TV類的友元懒浮, 電視類有狀態(tài)、頻道和音量基本屬性识藤,默認初始頻道為5砚著,默認初始音量為20。狀態(tài)有開和關(guān)(-1表示關(guān)機狀態(tài)痴昧,其他為開機狀態(tài))稽穆。
在主函數(shù)根據(jù)輸入的op值進行不同操作。補全代碼使程序滿足如下要求赶撰。
【輸入形式】

當op==1時舌镶,

輸入電視操作命令如下:

OFF_ON(切換電視開關(guān)機狀態(tài))

VOL_UP(電視音量+1)

VOL_DOWN(電視音量-1)

CHA_NEXT(電視頻道+1)

CHA_PRE(電視頻道-1)

CHA_TO x(0<=x<=100柱彻,將電視頻道切到x)

VOL_TO x(0<=x<=100,將電視音量切到x)

其中CHA_TO與VOL_TO通過調(diào)用友元類實現(xiàn)餐胀。

當op==2時哟楷,輸出當前電視狀態(tài)。

當op==3時否灾,結(jié)束程序卖擅。

【輸出形式】
當op==2時,輸出當前電視狀態(tài)墨技,具體格式見樣例惩阶。

【樣例輸入】                                      【對應(yīng)樣例輸出】

2                                                 The TV is OFF
1 OFF_ON                                   
2                                                 The TV is ON
                                                  The channel is 5
                                                  The volume is 20
1 VOL_UP
2                                                 The TV is ON
                                                  The channel is 5
                                                  The volume is 21
1 CHA_TO 30
2                                                 The TV is ON
                                                  The channel is 30
                                                  The volume is 21
1 VOL_TO 30
2                                                 The TV is ON
                                                  The channel is 30
                                                  The volume is 30
3

 注意輸入后會有相應(yīng)的輸出。但在測試用例中健提,輸入數(shù)據(jù)放在一起琳猫,輸出會集中體現(xiàn)。
#include <iostream> 
using namespace std;// 前向聲明 
class TV; 
class Remote // Remote類聲明(其中的幾個函數(shù)為友元)
{ 
public: 
    Remote() {}; 
    void volume_to(TV &tv, int x); 
    void channel_to(TV &tv, int x); 
}; 
class TV//TV 類聲明
{ 
private: 
    int state; 
    int channel; 
    int volume; 
public: 
    // 聲明友元函數(shù) 
    friend void Remote::volume_to(TV &tv, int x); 
    friend void Remote::channel_to(TV &tv, int x); 
    // 成員函數(shù) 
    TV() {}; 
    TV(int st) :channel(5),volume(20),state(st){}
    void onoff() 
    { 
        if(state==-1)
        {
            state=0;
        }
        else
        {
            state=-1;
        }
    } 
    void cha_next() 
    { 
        channel++;      
    } 
    void cha_pre() 
    { 
        channel--;
    } 
    void vol_up() 
    { 
        volume++;
    } 
    void vol_down() 
    { 
        volume--;
    } 
    void print() 
    { 
        if(state == -1) 
        { 
            cout<<"The TV is OFF"<<endl;
        } 
        else 
        { 
            cout<<"The TV is ON"<<endl;
            cout<<"The channel is "<<channel<<endl;
            cout<<"The volume is "<<volume<<endl;
        } 
    } 
}; 
// 友元函數(shù)定義 
void Remote::volume_to(TV &tv, int x) 
{ 
    tv.volume = x; 
} 
void Remote::channel_to(TV &tv, int x) 
{ 
    tv.channel = x; 
} 
int main() 
{ 
    int x, op; 
    string s; 
    TV tv(-1); 
    Remote rem; 
    while(1) 
    { 
        cin >> op; 
        if(op == 1) 
        { 
            cin >> s; 
            if(s == "OFF_ON") tv.onoff(); 
            else if(s == "VOL_UP") tv.vol_up(); 
            else if(s == "VOL_DOWN") tv.vol_down(); 
            else if(s == "CHA_NEXT") tv.cha_next(); 
            else if(s == "CHA_PRE") tv.cha_pre(); 
            else if(s == "CHA_TO") 
            { 
                cin >> x; 
                rem.channel_to(tv, x); 
            } 
            else if(s == "VOL_TO") 
            { 
                cin >> x; 
                rem.volume_to(tv, x); 
            } 
        } 
        else if(op == 2)
        { 
            tv.print(); 
        } 
        else 
        { 
            break;
        } 
    } 
    return 0; 
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末私痹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子统刮,更是在濱河造成了極大的恐慌紊遵,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侥蒙,死亡現(xiàn)場離奇詭異暗膜,居然都是意外死亡,警方通過查閱死者的電腦和手機鞭衩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門学搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人论衍,你說我怎么就攤上這事瑞佩。” “怎么了坯台?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵炬丸,是天一觀的道長。 經(jīng)常有香客問我蜒蕾,道長稠炬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任咪啡,我火速辦了婚禮首启,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撤摸。我一直安慰自己毅桃,他們只是感情好褒纲,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著疾嗅,像睡著了一般外厂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上代承,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天汁蝶,我揣著相機與錄音,去河邊找鬼论悴。 笑死掖棉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的膀估。 我是一名探鬼主播幔亥,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼察纯!你這毒婦竟也來了帕棉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤饼记,失蹤者是張志新(化名)和其女友劉穎香伴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體具则,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡即纲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了博肋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片低斋。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖匪凡,靈堂內(nèi)的尸體忽然破棺而出膊畴,到底是詐尸還是另有隱情,我是刑警寧澤锹雏,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布巴比,位于F島的核電站,受9級特大地震影響礁遵,放射性物質(zhì)發(fā)生泄漏轻绞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一佣耐、第九天 我趴在偏房一處隱蔽的房頂上張望政勃。 院中可真熱鬧,春花似錦兼砖、人聲如沸奸远。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懒叛。三九已至丸冕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間薛窥,已是汗流浹背胖烛。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诅迷,地道東北人佩番。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像罢杉,于是被迫代替她去往敵國和親趟畏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內(nèi)容