Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] Condizione ignorata

    Salve, dovrei scrivere un codice che sia grado di leggere un numero imprecisato di numeri dallo standard input e calcolare il prodotto dei numeri letti fino a che viene letto il numero 36. A questo punto il programma termina e stampa il risultato.

    Nel codice seguente il problema è che, nonostante inserisca il valore 36, non mi viene stampato il risultato dei numeri moltiplicati (credo che, non terminando il ciclo do/while, non venga proprio eseguita l'istruzione), e il programma continua a farmi inserire valori all'infinito.

    Sapreste dirmi dov'è che sbaglio?

    Grazie in anticipo.

    codice:
    #include <stdio.h>
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    
    
    int main () {
        
    int prodotto_dei_numeri, i;
    
    do    {
         
         printf("Inserire un valore intero che sia maggiore o uguale di zero \n"); 
            
        scanf("%d", &i);    
        
        prodotto_dei_numeri=1;
    
        i++;
        
        prodotto_dei_numeri=prodotto_dei_numeri*i;
        
        }
        
        while (i!=36);        
        
    printf("Il prodotto dei numeri inseriti e': %d \n", prodotto_dei_numeri);
    
    
    system ("PAUSE"); 
    
    
    return 0;
    
    
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Che senso ha aumentare i con i++ ??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Una volta tolto i++ il programma funziona!! La condizione di continuità é dettata dal while!!! Quindi ti ripete tutto quello che é messi in "do" finché il numero inserito non risulta uguale a 36!! Il prof Filippo Neri si arrabbierebbe se vedesse questo!! Dai che il 28 c'è l'esame

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sì sì ... ma tu hai capito perché quella riga con i++ non aveva senso? Perché l'avevi inserita?

    P.S. Non fare nomi e cognomi nel forum ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Sì sì ... ma tu hai capito perché quella riga con i++ non aveva senso? Perché l'avevi inserita?

    P.S. Non fare nomi e cognomi nel forum ...
    Hai ragione Oregon!! Ma cmq il post non l'ho messo io...
    Ho solo risposto all'autore del post ...che frequenta la mia stessa Università!!

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.