24/12/13 20:59
rob
Ho creato una
struct e vorrei far si che: se un elemento della struttura è uguale a una scritta data in input allora accade una determinata cosa.
Esempio:
struct esempio{
char scritta[32];
}
cin >> scritta[32];
n = 0;
if (scritta[32] == 'ciao'){
n = 10;
}
Perchè in quell'
if mi da l'errore?
Il codice non è scritto perfettamente, lo so, ma è per dare l'idea!
Grazie...
Ultima modifica effettuata da rob 24/12/13 21:01
aaa
25/12/13 10:58
nessuno
Aggiungo che, dato che scrivi in C++, non ha senso usare gli array di char del C per le stringhe.
Utilizza gli oggetti di classe string e potrai anche fare a meno delle funzioni di confronto delle stringhe del C.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
26/12/13 11:36
rob
Non ho capito... non ho trovato niente da nessuna parte!
in poche parole se un nome dato in input è uguale a un altro che si trova in una
struct allora succede qualcosa... tipo (più semplicemente):
if (Info[10].lavoratore == nome){
[...]
}
dove
nome e
Info[10].lavoratore sono variabili di tipo
char
Ultima modifica effettuata da rob 26/12/13 11:37
aaa
26/12/13 12:45
nessuno
Postato originariamente da rob:
non ho trovato niente da nessuna parte!
Questo è impossibile.
Il problema è che tu non hai idea delle basi minime del linguaggio e per questo fai un bel po' di confusione.
Tutta questa roba sta nei primi capitoli di un libro di C/C++ quindi è da quei capitoli che dovresti iniziare.
Quando scrivi Info[10] ti stai riferendo ad un vettore di strutture (all'elemento 10).
Il campo lavoratore e nome non possono essere char ma array di char.
Se sono array di char, come ti è stato detto, NON puoi usare == ma devi utilizzare la funzione strcmp
Se stai lavorando in C++ non ha senso usare gli array di char, ma come detto, utilizza le string
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.