Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao ragazzi sto facendo un programma (tipo calcolatrice) che calcola intere espressioni.
Per iniziare stavo facendo delle prove facendo in modo di risolvere espressioni senza parentesi e con i segni + e *.
La mia idea è di splittare (funzione Split()) l'espressione in base al carattere + e, nelle stringhe splittate, se sono presenti dei * fare la moltiplicazione e sostituire la stringa (ad esempio "5*2" con "10") ed infine sommare il tutto.
Esempio pratico:
l'espressione "3+5*2" (intesa come stringa di testo) viene divisa e diventa 3|5*2 ; poi, siccome è presente il carattere "*", risolvo 5*2=10 e sostituisco nel testo cioè: la stringa precedente diventa 3|10 e poi sommo 3+10=13. (ho usato il separatore | per indicare che sono elementi di un array, quindi 3|10 significa che il primo elemento dell'array è "3", il secondo è "10").
Dopo questa kilometrica spiegazione (scusate se vi ho annoiato) posto un po' di codice:
l'errore che mi restituisce è nella funzione Addizione(), infatti dice che (giustamente) non si può convertire in integer la stringa "5*2"...ma se il programma funzionasse bene non dovrebbe esserci questo errore perchè al posto di 5*2 ci sarebbe 10...
grazie in anticipo