Oppure

Loading
02/10/08 20:00
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
aaa
03/10/08 12:39
Luk3
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:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
  int num1, num2, ris;
  char scelta, op;
  float base, esponente, potenza,  risrad;
  inizio:
  printf("\n\t|=================|");
  printf("\n\t| 1. Calcolatrice |");
  printf("\n\t| 2. Potenze      |");
  printf("\n\t| 3. Radici       |");
  printf("\n\t| Q. Esci         |");
  printf("\n\t|=================|");
  printf("\n\n");
  scanf(" %c", &scelta);
 // scelte
  if (scelta == 'q' || scelta ==  'Q')
  {
     return 0;   
  }
  // scelte "calcolatrice"
  if (scelta == '1')
  {
  printf("\nInserisci il primo numero: ");
  scanf(" %d", &num1);
  printf("\nInserisci l'operatore (+, -, *, /): ");
  scanf(" %c", &op);
  printf("\nInserisci il secondo numero: ");
  scanf(" %d", &num2); 
  // scelta "operatore +"
  if (op == '+')
  {
  ris = num1 + num2;
  printf("\nIl risultato e': %d\n", ris);
  goto inizio;
  }
  // scelta "continua?"


  //scelta "operatore -"
  if (op == '-')
  {
        ris = num1 - num2;
        printf("\nIl risultato e': %d\n", ris);
        goto inizio;
  }
 // scelta operatore '*'
  if (op == '*')
  {
        ris = num1 * num2;
        printf("\nIl risultato e': %d\n", ris);
        goto inizio;
    }
    //scelta operatore '/'
    if (op == '/')
    {
        ris = num1 / num2;
        printf("\nIl risultato e': %d\n", ris);
        goto inizio;
    }    
    }
  
  //POTENZE
  if (scelta == '2')
  {
     printf("\nInserisci la base: ");
     scanf(" %f", &base);
     printf("\nInserisci l'esponente: ");
     scanf(" %f", &esponente);
     potenza = pow(base, esponente);
     printf("\nIl risultato e': %f\n", potenza);
     goto inizio;
  }
  
  //RADICE
  if(scelta = '3')
  {
     printf("\nInserisci il numero da calcolare la radice: ");
     scanf(" %f", &base);
     risrad = sqrt(base);
     printf("\nLa radice di %f e' %f: ", base, risrad);
     goto inizio;
  }
  
  system("PAUSE");
  return 0;
}
aaa
05/10/08 18:45
lorenzo
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

int main()
{
...
do
{
   printf...
   scanf...
   switch(...)
   {
    ...
   }
}while(...)
return 0;
}
Ultima modifica effettuata da lorenzo 05/10/08 18:47
aaa