Oppure

Loading
02/10/09 20:55
oretovalley
Ciao a tutti sto sviluppando un gioco con le librerie allegro e ho delle difficoltà ad effettuare operazioni con le stringhe, ma non riesco a capire xkè non funzionino.

#include<iostream>
#include <string>
#include<allegro.h>
using namespace std;

string stato_campo[8];
string utente[8];

void azzera_campi() {
	for(int i = 0; i < 8; ++i) {
		utente[i] = "Nessuno";
		stato_campo[i] = "False";
	}
}


int main() {
      azzera_campi();   // Al richiamo di questa funzione mi crasha il programma...
}


Non capisco xkè al richiamo della funzione azzera_campi() il programma crashi

edit:

ho risolto il problema... stranamente appena ho riavviato il pc tutto ha funzionato perfettamente 8-|
Ultima modifica effettuata da oretovalley 02/10/09 20:58
aaa
02/10/09 21:01
mah... a me il programma va perfettamente 8-|
02/10/09 21:20
oretovalley
Postato originariamente da lumo:

mah... a me il programma va perfettamente 8-|


appunto stavo chiedendo, ma al riavvio del pc improvvisamente il dev nn è crashato più...
boh :-|
aaa
03/10/09 7:38
theprogrammer
Non e' importante ai fini del funzionamento ma se usi

stato_campo[i] = "false";

forse non hai bisogno di un vettore di stringhe ma di boolean.
aaa
03/10/09 14:53
NickoMaiden
Postato originariamente da theprogrammer:

Non e' importante ai fini del funzionamento ma se usi

stato_campo[i] = "false";

forse non hai bisogno di un vettore di stringhe ma di boolean.


no, probabilmente a lui gli serve che gli elementi dell'array contengano "false" per eventuali controlli fatti dopo.
ad esempio se vuole stampare gli utenti e lo stato campo salterà tutti quelli contenenti false

se ho indovinato ti consiglio di cambiare quel false e quel nessuno a "0" (inteso come testo) e poi mettere un controllo nel numero dei caratteri ad esempio:
(pseudo codifica tanto per capirci)
per (i=0 A dimensione, con incremento di i)
mentre (1)
{
immetti utente[i]
se caratteri(utente[i]>3)    // un ipotetica funzione che restituisce i caratteri
    {
    scrivi "Utente buono"
    break
    }
altrimenti
    scrivi " il nome utente non è valido, deve avere almeno 3 valori"
}


mi dirai: perchè tutto questo?
io ora non so chi è che deve usare questo programma ma fai finta che qualcuno inserisce false e per un eventualità buffa sia il suo vero cognome, il controllo lo salta e verrà evitato e cosi otterrai risultati sballati
immagina in un software di una compagnia aerea, un software del genere e vedere il signor false fuori dal volo che aveva pagato... lol
aaa
03/10/09 15:40
theprogrammer
Postato originariamente da NickoMaiden:

... forse non hai bisogno di un vettore di stringhe ma di boolean.


Scusa, ma hai letto con attenzione quello che gli ho scritto?

Ultima modifica effettuata da theprogrammer 03/10/09 15:40
aaa
03/10/09 19:18
NickoMaiden
Postato originariamente da theprogrammer:

Postato originariamente da NickoMaiden:

... forse non hai bisogno di un vettore di stringhe ma di boolean.


Scusa, ma hai letto con attenzione quello che gli ho scritto?



il quote che mi hai messo è del tuo quote lol
quello che dico io è che non ha bisogno di vettori di booleani ma è giusto che continui ad usare i vettori di stringa
aaa
03/10/09 19:33
theprogrammer
Postato originariamente da NickoMaiden:
quello che dico io è che non ha bisogno di vettori di booleani ma è giusto che continui ad usare i vettori di stringa


E quello che ti (ri)dico io e' che i vettori sono due, tutti e due di tipo stringa.
Il PRIMO puo' continuare ad essere di tipo stringa, ma il SECONDO dovrebbe essere di tipo bool ...

Mi sono spiegato?
aaa