-3

コードが実行されず、「戻り値」が return と表示されている場所が間違っていると表示found[i]=letterされ、srand timeまたエラーが表示されます。私はそれを修正する方法がわからないのですか?おそらく入れfound[i]main()入れreturn 1?ますか?srandを正しく動作させる方法がわからない場合は、

#include <iostream> 

using namespace std; 
void getarray(char [], int); 
void printa(char [],int ); 
void search(char [],int, char); 
void main() { 
    srand(time(0)); //1-declare char letter=' '; 
    char guess[7]; 
    char found[7]={letter}; 
    int res=0; 
    char answer='Y';
}
//2-init
getarray(guess,7); 
//3- processing 
printa(guess,7);
while(answer == 'Y')
{
    cout << "enter a letter";
    cin >>letter;
    search(guess,7,letter); 
    if (res != -1)
        printa(found,7);

    cout <<" do you want to continue(Y/N)?"<<endl;
    cin >>answer;
}

//printing
system("pause");
}
void getarray(char a[], int n)
{
    for(int i=0;i<n;i++)
        a[i]= 65 + rand()%26;
}
void printa(char a[], int n)
{
    for(int i=0;i<n;i++)
        cout << " the letter " << i+1 << " is "<<a[i]<<endl;
}
void search(char a[],int n, char key)
{
    for(int i=0;i<n;i++)
        if ( a[i]== key)
            return Found[i]=={letter}; 
}
4

1 に答える 1

2

}関数を少し早く終了させる余分なものがあるようです。

void main() {
   srand(time(0)); //1-declare char letter=' '; 
   char guess[7]; 
   char found[7]={letter}; 
   int res=0; 
   char answer='Y';
}   <--- This seems not correct

// 2-init
getarray(guess,7); 

コードの残りの部分は関数の外にあるように見え、コンパイラを混乱させます。

于 2012-06-27T07:38:36.713 に答える