20/08/09 22:16
manvb.net
Postato originariamente da LittleHacker:
Salve a tutti scusate per il titolo ma non riuscivo a esprimere ql ke volevo fare nel titolo...
Sto creando una calcolatrice e vorrei che quando l'utente scrive un'operazione tipo 10+5= il progy mi legga cs c'è dopo il 10 e prima del 5 così da capire che operazione devo fare...Grazie mille a tutti ciao ciao
Leggi la stringa per intero, poi scorri i caratteri fino a un simbolo(+,-,*,/) e fai lo stesso con l'uguale.
Ultima modifica effettuata da manvb.net 20/08/09 22:17
aaa
20/08/09 22:24
manvb.net
char a[20];
int c=0;
cin >> a;
for(c=0, c<20, c++)
{
if (a[c] == '+'){
}
elseif (a[c] == '='{
}
else{
//è una cifra, ci fai quello che vuoi
}
}
Con un po' di inventiva e un po' di variabili boolean di verifica ci fai quello che vuoi.
Ultima modifica effettuata da manvb.net 20/08/09 22:25
aaa
20/08/09 22:56
manvb.net
Beh, queste sono le basi... Comunque:
char a[20]; //Variabile di input
int c=0; //VAriabile per il ciclo(contatore)
cin >> a; //Input
char prevc = ' '; //carattere precendente
for(c=0, c<20, c++)
{
if (a[c] == '+'){ //Controllo se il carattere corrente è +
//Ecco che sai quale operazione devi eseguire(+)
}
else if (a[c] == '='){//Controllo se il carattere corrente è =
//Ecco che sai quale operazione devi eseguire(-)
}
else if (a[c] == '='){//Controllo se il carattere corrente è =
}
else{
//è una cifra, ci fai quello che vuoi
if(prevc == '+'){//se il carattere precedente è uguale a +(fai quello che vuoi)
}
if(prevc == '='){//se il carattere precedente è uguale a =(fai quello che vuoi)
}
}
prevc=a[c];//Imposto il carattere precedente uguale a quello corrente
}
Dai, un po di inventiva!
Ultima modifica effettuata da manvb.net 21/08/09 13:32
aaa