Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] problema if

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    24

    problema if

    ragazzi ho un problema...
    la selezione funziona solamente con la moltiplicazione ovvero con 1.
    con la divisione no.Appena premo 2 il programma si chiude...
    codice:
    #include<stdio.h>
    #include<stdlib.h>
    
    int main ()
    {
    
    int a, b, i, somma=0,dividendo,divisore,quoziente,cont=0,scelta;
    
    printf("premi 1 per effettuare una moltiplicazione.");
    printf("premi 2 per effettuare una divisione.");
    scanf("%d",&scelta);
    
    if(scelta==1)
    {
                 
    
    printf("<<Inserisci il primo fattore");
    scanf("%d",&a); //inserisco il primo fattore
    printf("<<Inserisci il secondo fattore");
    scanf("%d",&b); //inserisco il secondo fattore
    
    for(i=0; i<b; i++){ //fino a quando i è minore di b(secondo fattore) ripeto
    
    somma = somma+a; //sommo i valori di a tante volte quanto è b
    
    
    }
    
    printf("il risultato è %d",somma);
    
    if (scelta==2)
    
    {
        printf("inserisci un numero");
       
        scanf("%d",&dividendo);
         printf("inserisci un numero");
         scanf("%d",&divisore);
         
         
         while(somma+divisore<=dividendo)
          
    {
          somma=somma+divisore;
          
          cont++;
          
        
          } 
            printf("il risulatato è %d",cont);
             
            }
            
            system("pause");
            }
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Controlla bene le parentesi ... hai inserito tutto il codice all'interno della prima if ...

    P.S. Quando posti del codice sul forum devi usare i tag CODE altrimenti non si capisce nulla
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    24
    se unisco entrabe le if
    codice:
    #include<stdio.h>
    #include<stdlib.h>
    int main ()
    {
        int a, b, i, somma=0,dividendo,divisore,quoziente,cont=0,scelta;
        printf("premi 1 per effettuare una moltiplicazione.");
        printf("premi 2 per effettuare una divisione.");
        scanf("%d",&scelta);
        if(scelta==1)
        {
            printf("<<Inserisci il primo fattore");
            scanf("%d",&a);
            //inserisco il primo fattore
            printf("<<Inserisci il secondo fattore");
            scanf("%d",&b);
            //inserisco il secondo fattore
            for(i=0; i<b; i++)
            {
                //fino a quando i è minore di b(secondo fattore) ripeto
                somma = somma+a;
                //sommo i valori di a tante volte quanto è b
            }
            printf("il risultato è %d",somma);
            if (scelta==2)
            {
                printf("inserisci un numero");            
                scanf("%d",&dividendo);
                printf("inserisci un numero");
                scanf("%d",&divisore);
                while(somma+divisore<=dividendo)
                {
                    somma=somma+divisore;
                    cont++;
                }
                printf("il risulatato è %d",cont);
            }
            system("pause");
        }
    }

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non si capisce cosa intendi ... e il codice è illeggibile ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    53
    Non chiudi la parentesi di if(scelta ==1) quando è il momento ma la chiudi in fondo in questo modo se inserisci 1 entri nel ramo if, se inserisci 2 ( visto che il ramo else non esiste) il programma termina.
    Sistema le parentesi.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ti avevo già detto che la prima if contiene tutto il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    24
    se la prima if la chiudo al fondo mi da risultati strani della moltiplicazione,e comunque la secona non mi parte ancora^^,

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Per ora lascia perdere i risultati e concentrati sulle if ... devono essere separate altrimenti non gestisci il menu. Quindi impostale in questo modo

    codice:
    if(scelta==1)
    {
     ...
    }
    
    
    if(scelta==2)
    {
     ...
    }
    e poi passi a correggere quello che c'è dentro le due if
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.