Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - leggere stringa da una posizione e non dall'inizio
Forum - C/C++ - leggere stringa da una posizione e non dall'inizio

Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 23:58
Giovedė, 20/08/2009
Salve a tutti scusate per il titolo ma non riuscivo a esprimere ql ke volevo fare nel titolo...8-|

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 :k:

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 0:16
Venerdė, 21/08/2009
Testo quotato

Postato originariamente da LittleHacker:

Salve a tutti scusate per il titolo ma non riuscivo a esprimere ql ke volevo fare nel titolo...8-|

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 :k:



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 il 21/08/2009 alle 0:17
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:18
Venerdė, 21/08/2009
Testo quotato

Postato originariamente da manvb.net:

Testo quotato

Postato originariamente da LittleHacker:

Salve a tutti scusate per il titolo ma non riuscivo a esprimere ql ke volevo fare nel titolo...8-|

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 :k:



Leggi la stringa per intero, poi scorri i caratteri fino a che non il carattere corrente non č un numero e fai lo stesso con l'uguale.



Scusa8-| potresti spiegarmelo in codice
ho capito cosa vuoi dire ma non riesco a tradurlo in codice sono alle prime armi e ho kiesto questo per imparare...

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 0:24
Venerdė, 21/08/2009
Codice sorgente - presumibilmente C/C++

  1. char a[20];
  2. int c=0;
  3. cin >> a;
  4. for(c=0, c<20, c++)
  5. {
  6.    if (a[c] == '+'){
  7.  
  8.    }
  9.    elseif (a[c] == '='{
  10.      
  11.    }
  12.    else{
  13.      //č una cifra, ci fai quello che vuoi
  14.    }
  15. }



Con un po' di inventiva e un po' di variabili boolean di verifica ci fai quello che vuoi.

Ultima modifica effettuata da manvb.net il 21/08/2009 alle 0:25
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:27
Venerdė, 21/08/2009
Testo quotato

Postato originariamente da manvb.net:

Codice sorgente - presumibilmente C/C++

  1. char a[20];
  2. int c=0;
  3. cin >> a;
  4. for(c=0, c<20, c++)
  5. {
  6.    if (a[c] == '+'){
  7.  
  8.    }
  9.    elseif (a[c] == '='{
  10.      
  11.    }
  12.    else{
  13.      //č una cifra, ci fai quello che vuoi
  14.    }
  15. }



Con un po' di inventiva e un po' di variabili boolean di verifica ci fai quello che vuoi.



Scusa se te lo kiedo potresti commentare tutto il codice, so qlks di c++ ma non tutto

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 0:56
Venerdė, 21/08/2009
Beh, queste sono le basi... Comunque:
Codice sorgente - presumibilmente C++

  1. char a[20]; //Variabile di input
  2. int c=0; //VAriabile per il ciclo(contatore)
  3. cin >> a; //Input
  4. char prevc = ' '; //carattere precendente
  5. for(c=0, c<20, c++)
  6. {
  7.    if (a[c] == '+'){ //Controllo se il carattere corrente č +
  8.       //Ecco che sai quale operazione devi eseguire(+)
  9.    }
  10.    else if (a[c] == '='){//Controllo se il carattere corrente č =
  11.       //Ecco che sai quale operazione devi eseguire(-)
  12.    }
  13.    else if (a[c] == '='){//Controllo se il carattere corrente č =
  14.      
  15.    }
  16.    else{
  17.      //č una cifra, ci fai quello che vuoi
  18.      if(prevc == '+'){//se il carattere precedente č uguale a +(fai quello che vuoi)
  19.      }
  20.      if(prevc == '='){//se il carattere precedente č uguale a =(fai quello che vuoi)
  21.      }
  22.    }
  23.    prevc=a[c];//Imposto il carattere precedente uguale a quello corrente
  24. }


Dai, un po di inventiva!

Ultima modifica effettuata da manvb.net il 21/08/2009 alle 15:32
PM Quote