C++問題 請高手幫我檢查我的程式..

老師出了一題作業:

讓電腦隨機產生一個1~10之間的亂數,

讓使用者猜, 猜中則顯示使用者總共猜了幾次才猜中

並且讓使用者選擇是否願意再猜一次.

沒猜中就繼續讓使用者猜到為止.(用do...while寫)

我的程式:

#include <ctime>

#include <iostream>

using namespace std;

void main(void)

{

int x,y,z;

z=0;

char answer;

srand(time(0)*time(0));

do

{

x=rand()%10;

do

{

z++;

cout<<"輸入答案";

cin>>y;

}

while (x!=y);

cout<<"猜錯了,請再試一次";

}

cout<<"你猜對了,你總共猜了 "<<z<<" 次,再猜一次嗎?(y/n) "<<endl;

cin>>answer;

while(answer=='y'||answer=='Y');

}

請有c++程式的高手幫我測試一下程式是否可以執行.

若是有問題的話也請高手幫忙指點一下, 感謝.

2 個解答

評分
  • 1 0 年前
    最佳解答

    這是根據你的程式來改的,我用VC來寫,你試試看,應該大同小異。

    void main(void)

    {

    int x,y,z;

    z=0;

    char answer;

    srand(time(NULL));

    do

    {

    x=(rand())加 1;//把國字改成符號吧~~

    do

    {

    cout<<"輸入答案";

    cin>>y;

    z ;

    if( x != y )

    cout <<"猜錯了,請再試一次"<<endl;

    }while( x != y );

    if(x == y)

    {

    cout <<"你猜對了,你總共猜了 "<<z<<" 次,再猜一次嗎?(y/n) "<<endl;

    z = 0;

    cin>>answer;

    }

    }while (answer == 'Y' ||answer == 'y' );

    if(answer == 'N' || answer == 'n')

    return ;

    }

    2007-05-23 09:09:49 補充:

    標頭檔:

    #include <iostream.h>

    #include <stdlib.h>

    #include <time.h>

    ========================================

    有個地方被系統刪了:

    x=(rand()趴秀10)加 1; /把國字改成符號吧~~

    參考資料: 自己, 自己Debug
  • 1 0 年前

    #include <ctime>

    #include <iostream>

    using namespace std;

    void main(void)

    {

    int x,y,z;

    z=0;

    char answer;

    srand(time(0)*time(0));

    do

    {

    x=rand()%10;

    do

    {

    z++;

    cout<<"輸入答案";

    cin>>y;

    if (x==y) break;

    cout<<"猜錯了,請再試一次";}

    }

    cout<<"你猜對了,你總共猜了 "<<z<<" 次,再猜一次嗎?(y/n) "<<endl;

    cin>>answer;

    } while(answer=='y'||answer=='Y');

    2007-05-22 11:12:09 補充:

    1.cout<<"猜錯了,請再試一次";}

    改為 cout<<"猜錯了,請再試一次";

    (去掉最右的})

    2.最後一行之下,再加一個 }

還有問題?馬上發問,尋求解答。