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++ - problemino in c
Forum - C/C++ - problemino in c

Avatar
morpheus (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/09/2008

Segnala al moderatore
Postato alle 22:00
Giovedì, 02/10/2008
buona sera..sono un neo-programmatore, e cercavo di fare un programma in modo ke l'utente possa inserire 2 num x es e ke poi avvenga somma, sottraxione e prodotto. io dikiaro le variabili ma poi sikkome sikkome non so quali valori hanno durante l'inizializzazione kosa ci metto ??grazie

PM Quote
Avatar
Luk3 (Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 14:39
Venerdì, 03/10/2008
Testo quotato

Postato originariamente da morpheus:

buona sera..sono un neo-programmatore, e cercavo di fare un programma in modo ke l'utente possa inserire 2 num x es e ke poi avvenga somma, sottraxione e prodotto. io dikiaro le variabili ma poi sikkome sikkome non so quali valori hanno durante l'inizializzazione kosa ci metto ??grazie



Ho fatto un programmino del genere, ti posto il codice:

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.   int num1, num2, ris;
  8.   char scelta, op;
  9.   float base, esponente, potenza,  risrad;
  10.   inizio:
  11.   printf("\n\t|=================|");
  12.   printf("\n\t| 1. Calcolatrice |");
  13.   printf("\n\t| 2. Potenze      |");
  14.   printf("\n\t| 3. Radici       |");
  15.   printf("\n\t| Q. Esci         |");
  16.   printf("\n\t|=================|");
  17.   printf("\n\n");
  18.   scanf(" %c", &scelta);
  19.  // scelte
  20.   if (scelta == 'q' || scelta ==  'Q')
  21.   {
  22.      return 0;  
  23.   }
  24.   // scelte "calcolatrice"
  25.   if (scelta == '1')
  26.   {
  27.   printf("\nInserisci il primo numero: ");
  28.   scanf(" %d", &num1);
  29.   printf("\nInserisci l'operatore (+, -, *, /): ");
  30.   scanf(" %c", &op);
  31.   printf("\nInserisci il secondo numero: ");
  32.   scanf(" %d", &num2);
  33.   // scelta "operatore +"
  34.   if (op == '+')
  35.   {
  36.   ris = num1 + num2;
  37.   printf("\nIl risultato e': %d\n", ris);
  38.   goto inizio;
  39.   }
  40.   // scelta "continua?"
  41.  
  42.  
  43.   //scelta "operatore -"
  44.   if (op == '-')
  45.   {
  46.         ris = num1 - num2;
  47.         printf("\nIl risultato e': %d\n", ris);
  48.         goto inizio;
  49.   }
  50.  // scelta operatore '*'
  51.   if (op == '*')
  52.   {
  53.         ris = num1 * num2;
  54.         printf("\nIl risultato e': %d\n", ris);
  55.         goto inizio;
  56.     }
  57.     //scelta operatore '/'
  58.     if (op == '/')
  59.     {
  60.         ris = num1 / num2;
  61.         printf("\nIl risultato e': %d\n", ris);
  62.         goto inizio;
  63.     }    
  64.     }
  65.  
  66.   //POTENZE
  67.   if (scelta == '2')
  68.   {
  69.      printf("\nInserisci la base: ");
  70.      scanf(" %f", &base);
  71.      printf("\nInserisci l'esponente: ");
  72.      scanf(" %f", &esponente);
  73.      potenza = pow(base, esponente);
  74.      printf("\nIl risultato e': %f\n", potenza);
  75.      goto inizio;
  76.   }
  77.  
  78.   //RADICE
  79.   if(scelta = '3')
  80.   {
  81.      printf("\nInserisci il numero da calcolare la radice: ");
  82.      scanf(" %f", &base);
  83.      risrad = sqrt(base);
  84.      printf("\nLa radice di %f e' %f: ", base, risrad);
  85.      goto inizio;
  86.   }
  87.  
  88.   system("PAUSE");
  89.   return 0;
  90. }



Non basta godersi un cielo stellato senza pensare che in un angolo ci siano le fate?
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 20:45
Domenica, 05/10/2008
scusatemi, ma vedere un codice C con i goto mi rende nervoso:D

non sarebbe meglio usare un semplice switch, invece che tutti quegli if???
Un do...while al posto del goto sistemerebbe tutto

Codice sorgente - presumibilmente C/C++

  1. int main()
  2. {
  3. ...
  4. do
  5. {
  6.    printf...
  7.    scanf...
  8.    switch(...)
  9.    {
  10.     ...
  11.    }
  12. }while(...)
  13. return 0;
  14. }


Ultima modifica effettuata da lorenzo il 05/10/2008 alle 20:47


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote