我寫了個石頭剪子布,增加寫入功能,可以讀取資料

2022-08-31 05:51:09 字數 4679 閱讀 9329

1

2 #include "

computer.h"3

void

computer::input()

8switch

(radom) 16}

17void computer::show()const

20void computer::read(fstream& f) const

23void computer::write(fstream& f)const

1

2#pragma once

3 #include"

project.h"4

class computer:virtual

public

project5;

8virtual ~computer() {};

9void

input();

10void show()const;11

void read(fstream& f)const;12

void write(fstream& f)const

;13 };

以上是computer類的宣告和實現

#pragma once

#include"project.h"

class people:virtual public project

;virtual ~people() {};

void input();

void show()const;

void read(fstream& f)const;

void write(fstream& f)const;

};

1#include "

people.h"2

void

people::input() 16}

17void people::show() const

20void people::read(fstream&f) const

23void people::write(fstream& f)const

1

2#pragma once

3 #include4 #include

5 #include6 #include7

using

namespace

std;

8enum

base;9

class

project10;

16virtual

void input() = 0;17

void setbase(int

b) 20

intgetnum()

23string getbase() const

28else

if (num == 1

) 31

else

32 c = "布"

;33return

c;34}35

virtual

void show()const = 0;36

virtual

void read(fstream& f)const = 0;37

virtual

void write(fstream& f)const = 0

;38 };

1

2#pragma once

3 #include"

people.h

"4 #include"

computer.h

"5 #include"

usertype.h"6

class

systemm

7;

//

systemm.cpp

#include "

systemm.h

"static

double wins = 0.0

;bool

inline usersaysyes()

else

}systemm::systemm()

userfile.close();

}else

ifstream ifile(

"user.dat

");

if(ifile.fail())

else

file.open(

"user.dat

", ios::in | ios::out | ios::binary); //

以讀寫的方式開啟檔案

if (file.fail())throw("

開啟檔案失敗!

"); //

丟擲異常

}systemm::~systemm()

userfile.close();

file.close();

}void systemm::adduser(const usertype&e)

delete

usertable;

usertable =temusertable;

}//新增元素

usertable[count++] = e; //

加入到索引表中

}void

systemm::adddate()

computer->input();

peo->input();

if (computer->getnum() == 0 && peo->getnum() == 1

)

else

if (computer->getnum() == 1 && peo->getnum() == 2

)

else

if (computer->getnum() == 2 && peo->getnum() == 0

)

else

if (computer->getnum() == 0 && peo->getnum() == 2

)

else

if (computer->getnum() == 1 && peo->getnum() == 0

)

else

if (computer->getnum() == 2 && peo->getnum() == 1

)

else

if (computer->getnum() == 0 && peo->getnum() == 0

)

else

if (computer->getnum() == 1 && peo->getnum() == 1

)

else

if (computer->getnum() == 2 && peo->getnum() == 2

)

if (ss == 2

) f++;

} while (ss == 2

);

if (ss == 1

)

else

peo->write(file);

cout

<< "

是否要繼續新增?";

delete

peo;

} while

(usersaysyes());

}void

systemm::show()

else

}cout

<< "

勝率為:

"<< (wins / (pos + 1)) * 100

<< "%"

void

systemm::run()

} while (select != 3

);}

1

2#pragma once

3 #include

4class

usertype

5;

1

2 #include"

systemm.h

"3 #include"

usertype.h"4

int main(void

) 10

catch (char*error)

1114 system("

pause");

15return0;

16 }

充分地分析和理解問題本身,弄清要求做什麼。在確定解決方案框架過程中,考慮怎樣使程式結構清晰、合理、簡單和易於除錯,並確定每個函式的簡單功能,以及函式之間的呼叫關係。

綜上 新手寫的 歡迎指出問題~

石頭剪子布

題目描述 大家小時候都玩過石頭剪子布的遊戲吧,出石頭的人贏出剪子的人,出剪子的人贏出布的人,出布的人贏出石頭的人,如果兩個人出的一樣,則打平。飛燕姐姐和婷婷玩石頭剪子布的遊戲,請你寫乙個程式判斷一下誰贏了 輸入 石頭用stone表示,剪子用scissors表示,布用cloth表示 飛燕姐姐和婷婷出的...

石頭剪子布

石頭剪子布,是一種猜拳遊戲。起源於中國,然後傳到日本 朝鮮等地,隨著亞歐 的不斷發展它傳到了歐洲,到了近現代逐漸風靡世界。簡單明瞭的規則,使得石頭剪子布沒有任何規則漏洞可鑽,單次玩法比拼運氣,多回合玩法比拼心理博弈,使得石頭剪子布這個古老的遊戲同時用於 意外 與 技術 兩種特性,深受世界人民喜愛。遊...

石頭剪子布

描述 石頭剪子布,是一種猜拳遊戲。起源於中國,然後傳到日本 朝鮮等地,隨著亞歐 的不斷發展它傳到了歐洲,到了近現代逐漸風靡世界。簡單明瞭的規則,使得石頭剪子布沒有任何規則漏洞可鑽,單次玩法比拼運氣,多回合玩法比拼心理博弈,使得石頭剪子布這個古老的遊戲同時用於 意外 與 技術 兩種特性,深受世界人民喜...