Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - perche non funziona
Forum - C/C++ - perche non funziona

Avatar
torn24 (Normal User)
Pro


Messaggi: 138
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 9:31
Venerdì, 10/10/2008
da un sorgente di una calcolatrice visto sul forum che usava i goto ho fatto una
calcolatrice senza in maniera strutturata
il problema che non mi considera uno scanf in
un ciclo while
se qualcucuno volesse dirmi l'errore ne sarei grato  


il sorgente  


#include <stdio.h>
#include <stdlib.h>
void somma();
void sottrazzione();
void divisione();
void moltiplicazione();
float num1,num2,ris;
char op,scelta;



int main(int argc, char *argv[])
{
    
  while(scelta!='q' || scelta != 'Q'){  
  
  printf("\t\t------------ Calcolatrice  ------------\n\n\t\tPremere q per uscire un altro tasto per continuare\n");


  scanf("%c",&scelta); //scanf viene ignorato ??
  if (scelta == 'q' || scelta ==  'Q')
  {
     return 0;
  }
  // scelte "calcolatrice"
  printf("\nInserisci il primo numero: ");
  scanf(" %f", &num1);
  printf("\nInserisci l'operatore (+, -, *, /): ");
  scanf(" %c", &op);
  printf("\nInserisci il secondo numero: ");
  scanf(" %f", &num2);
  // scelta "operatore +"
  
  switch (op)
  {
  case '+' :
     somma();
  break;
  case  '-' :
    sottrazzione();
  break;
  case   '/' :
    divisione();
  break;
  case   '*' :
    moltiplicazione();
  break;
}

}
  
  
    }
  
void somma()
  {
  ris = num1 + num2;
  printf("\nIl risultato somma e': %.2f\n", ris);
  
  }
  



void sottrazzione()
  {
        ris = num1 - num2;
        printf("\nIl risultato sottrazione e': %.2f\n", ris);
        
  }

void moltiplicazione()
  {
        ris = num1 * num2;
        printf("\nIl risultato moltiplicazione e': %.2f\n", ris);
        
    }
    
void   divisione()
    {
        ris = num1 / num2;
        printf("\nIl risultato divisione e': %.2f\n", ris);
        
    }  


Se si impara dai propri sbagli
non è cosi drammatico  sbagliare !
PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 138
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 10:18
Venerdì, 10/10/2008
il problema è stato risolto aggiungendo uno spazio
prima del carattere di formato della prima scanf
suggerito da gioser

Ultima modifica effettuata da torn24 il 10/10/2008 alle 10:19


Se si impara dai propri sbagli
non è cosi drammatico  sbagliare !
PM Quote