14/08/09 17:55
edo42
Ho un problema su questo codice:
else if(operatore[a-1] == "0" break; dovrebbe fare uscire il programma dal ciclo, ma mettendo dei punti di interruzione, pare che questo pezzo di codice non venga eseguito non capisco il motivo.
Uso gcc.
Sapete spiegarmi perchè non viene mai eseguito e poi genera errore perchè va logicamente fuori dalli indice dell'array?
for(int a = 0; a < 50; a++) { int b; if(arraynum[++a] != "0") { --a; b=a; } else if(arraynum[a] == "0") { continue; } else if(operatore[a-1] == "0") { break; } if(operatore[a-1] == "*") { // 1.1.4.0 Moltiplico... Multiply(Toint(arraynum[b]), Toint(arrayden[b]), Toint(arraynum[a+1]), Toint(arrayden[a+1])); // 1.1.4.0 Cancello dati usati e metto i risultati a posto arraynum[a+1] = "0"; arrayden[a+1] = "0"; arraynum[b] = Tostring(risultatonum); arrayden[b] = Tostring(risultatoden); } if(operatore[a] == "/") { // 1.1.4.0 Moltiplico... Divide(Toint(arraynum[a]), Toint(arrayden[a]), Toint(arraynum[a+1]), Toint(arrayden[a+1])); // 1.1.4.0 Cancello dati usati e metto i risultati a posto arraynum[a+1] = "0"; arrayden[a+1] = "0"; arraynum[a] = Tostring(risultatonum); arrayden[a] = Tostring(risultatoden); } }
else if(operatore[a-1] == "0" break; dovrebbe fare uscire il programma dal ciclo, ma mettendo dei punti di interruzione, pare che questo pezzo di codice non venga eseguito non capisco il motivo.
Uso gcc.
Sapete spiegarmi perchè non viene mai eseguito e poi genera errore perchè va logicamente fuori dalli indice dell'array?
aaa