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

    Controllo su un intervallo di valori

    Buonasera ragazzi, ho il listato che vedete qua sotto.
    Ho già fatto vari tentativi:sapreste dirmi dove inserisco un controllo e il codice giusto affinchè non consideri l'input per valori fuori dell'intervallo [1,100], lasciando inalterato il contatore?


    /*Media tra 40 interi compresi tra 1 e 100 uso del for*/
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int num, i, somma=0;
    float media;

    printf("Calcolo della media di 10 interi tra 1 e 100.\n\n");


    for(i=1;i<=10;i++)
    {
    printf("numero: ");
    scanf("%d", &num);
    somma=somma+num;
    }

    printf("Somma= %d\n\n", somma);
    media=(float)somma/10;
    printf("Media= %.2f\n\n", media);

    system("pause");
    return 0;

    }

  2. #2
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299
    Una possibilità potrebbe essere quella di racchiudere le prime due righe dentro il ciclo in un
    codice:
    do
    {
       ...
    }
    while(num < 1 || num > 100);
    in modo che la richiesta riappaia fino a quando non si inserisce un numero valido.

    Svegliati, Neo. Matrix ti possiede...

  3. #3
    Ho messo il ciclo do-while prima del ciclo for,...in questo modo il controllo funziona,....ma quando va a fare la somma, si perde un dato di input! :rollo:

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa ... dove l'hai messo il do-while?

  5. #5
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299
    In realtà il ciclo andrebbe messo *dentro* il for:
    codice:
    for(i=1;i<=10;i++)
    {
      do
      {
        printf("numero: ");
        scanf("%d", &num);
      }
      while(num < 1 || num > 100);
      somma=somma+num;
      }
    
    printf("Somma= %d\n\n", somma);
    media=(float)somma/10;
    printf("Media= %.2f\n\n", media);
    
    system("pause");
    return 0;
    
    }
    Svegliati, Neo. Matrix ti possiede...

  6. #6
    Ora funzionissima
    Grazie Newbie

  7. #7
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299
    Originariamente inviato da hyena_73
    Ora funzionissima
    Grazie Newbie
    E' stato un piacere
    Svegliati, Neo. Matrix ti possiede...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.