PDA

Visualizza la versione completa : problema con programma basilare in c++


fenigo69
23-03-2015, 18:47
salve a tutti ragazzi, ho provato a creare questo semplice programma in c++ che dovrebbe, presa una parola farla indovinare lettera dopo lettera o dare la possibilità di indovinarla direttamente,ma nel momento della compilazione mi da un errore che non riesco a capire.Grazie mille in anticipo


#include <iostream>#include <string>
using namespace std;


int main()
{
char c[101];
char d[101];
char e='n';
char f;
char h;
char i[101];
int tentativis;
int tentativie;
bool g=false;
cout<<"give me a word to find";
cin>>c;
while(e=='n'){


cout<<"give me a letter";
cin>>f;
while(c[i]!='/0'){
if (f==c[i]){d[i]=c[i];
bool g=true;
cout<<d[i];
}
i++;
}
if(g==true){tentativie++;
g=false;
}else{tentativis++;}


cout<<" want you to give me the word? s/n";
cin>>h;
if(h=='s'){cout<<"give me the word";
cin>>i;
if(i==c){cout<<"right you are the winner";
break;}else{cout<<"you has wrong";}
}




cout<<"are you done? s/n";
cin>>e;
}


cout<<"the word was"<<c;
cout<<tentativie<<"right attempts";
cout<<tentativis<<"attempts";
return 0;
}

oregon
23-03-2015, 19:02
Quale errore?

P.S. Perché in inglese ma le variabili in italiano?

fenigo69
23-03-2015, 19:08
non lo so,uso codeblock quindi non mi dice che errore è, mi segna solo errore alla riga 23

P.S. quella è una brutta abitudine mia...faccio confusione con le lingue XD

oregon
23-03-2015, 19:11
Non è possibile... Devi avere un codice o una descrizione dell'errore.

fenigo69
23-03-2015, 19:14
25582 non so dove trovarlo allora...spigamelo tu

oregon
23-03-2015, 20:08
Hai provato ad usare il menu

View -> Logs

fenigo69
23-03-2015, 20:26
ah ok allora dice...



C:\Users\user2\Desktop\codeblocks\indovina parola\main.cpp|22|error: invalid types 'char [101][char [101]]' for array subscript|
C:\Users\user2\Desktop\codeblocks\indovina parola\main.cpp|23|error: invalid types 'char [101][char [101]]' for array subscript|
C:\Users\user2\Desktop\codeblocks\indovina parola\main.cpp|23|error: invalid types 'char [101][char [101]]' for array subscript|
C:\Users\user2\Desktop\codeblocks\indovina parola\main.cpp|25|error: invalid types 'char [101][char [101]]' for array subscript|
C:\Users\user2\Desktop\codeblocks\indovina parola\main.cpp|24|warning: unused variable 'g' [-Wunused-variable]|
C:\Users\user2\Desktop\codeblocks\indovina parola\main.cpp|27|error: lvalue required as increment operand|

oregon
23-03-2015, 20:29
Quindi, ti sta dicendo che nella riga



while(c[i]!='/0'){


la variabile i non è una semplice variabile (come dovrebbe essere) ...

fenigo69
23-03-2015, 20:37
ok modificato....(mi sento un po idiota a non essermi accorto di un errore cosi XD)
ora il codice è
#include <iostream>#include <string>
using namespace std;


int main()
{
char c[101];
char d[101];
char e='n';
char f;
char h;
char t[101];
int i;
int tentativis;
int tentativie;
bool g=false;
cout<<"give me a word to find";
cin>>c;
while(e=='n'){


cout<<"give me a letter";
cin>>f;
while(c[i]!='/0'){
if (f==c[i]){d[i]=c[i];
bool g=true;
cout<<d[i];
}
i++;
}
if(g==true){tentativie++;
g=false;
}else{tentativis++;}


cout<<" want you to give me the word? s/n";
cin>>h;
if(h=='s'){cout<<"give me the word";
cin>>t;
if(t==c){cout<<"right you are the winner";
break;}else{cout<<"you has wrong";}
}




cout<<"are you done? s/n";
cin>>e;
}


cout<<"the word was"<<c;
cout<<tentativie<<"right attempts";
cout<<tentativis<<"attempts";
return 0;
}




però quando lo compilo parte ma nella fase di inserimento della lettera si blocca

oregon
23-03-2015, 20:39
Sempre nella stessa riga della while, quanto vale i quando inizia il ciclo?

Loading