In questo tutorial è mostrato come svolgere il seguente esercizio:
Traccia:
Realizzare un programma che implementi le seguenti funzionalità selezionabili tramite un menu:
Calcolo della media (intera) tra più numeri interi inseriti dall'utente
Conversione di un numero da binario a decimale
Sommare i numeri interi inclusi in un intervallo
Tutorial:
Video tutorial
Svolgimento:
#include <stdio.h>
int main()
{
int op;
int somma, conteggio, numero, media;
int totale, cifra;
int a, b;
int x;
printf ("1. Calcola della media (intera) tra piu' numeri interi inseriti dall'utente\n");
printf ("2. Conversione di un numero da binario a decimale\n");
printf ("3. Sommare i numeri interi inclusi in un intervallo\n");
printf ("0. Exit\n");
scanf("%d", &op);
while (op) {
if (op == 1){
printf("Inserisci una serie di numeri interi separati da spazio.\nTermina con il numero 0\n");
scanf ("%d", &numero);
somma = 0;
conteggio = 0;
while (numero) {
somma=somma + numero;
conteggio++;
scanf ("%d", &numero);
}
if (conteggio) {
media = somma / conteggio;
printf("La media dei %d numeri inseriti e' %d\n",
conteggio, media);
}
else {
printf("Nessun numero valido è stato inserito. Impossibile calcolare la media\n");
}
}
else if (op == 2){
printf("Inserisci un numero binario separando le cifre con spazio. Terminare con -1\n");
scanf("%d", &cifra);
totale = 0;
while (cifra!=-1) {
if (cifra!=0 && cifra!=1){
printf("La cifra %d inserita non e' corretta e verra' ignorata!\n", cifra);
}
else {
totale=totale * 2 + cifra;
}
scanf("%d", &cifra);
}
printf("Il numero binario inserito corrisponde in base 10 a %d\n", totale);
}
else if (op == 3){
printf("Inserire gli esteremi di un intervallo numerico: ");
scanf ("%d %d", &a, &b);
while (a > b) {
printf("Errore di inserimento: intervallo non valido!\n");
printf("(Il primo numero deve essere <= del secondo)\n\n");
printf("Inserire gli esteremi di un intervallo numerico: ");
scanf ("%d %d", &a, &b);
}
x = a;
somma = 0;
while (x<=b){
somma = somma + x;
x++;
}
printf("La somma dei numeri nell'intervallo %d %d e' %d", a, b, somma);
}
printf ("\n\n");
printf ("1. Calcola della media (intera) tra piu' numeri interi inseriti dall'utente\n");
printf ("2. Conversione di un numero da binario a decimale\n");
printf ("3. Sommare i numeri interi inclusi in un intervallo\n");
printf ("0. Exit\n");
scanf("%d", &op);
}
return 0;
}
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 02. Introduzione al C
Paragrafo: 06. Ciclo while
Approfondimento: 05. Tutorial: integrazione di più funzionalità
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Hello World - 02. Variabile di tipo int - 03. Input da tastiera - 04. Controllo condizionale if - 05. Operatori logici - 06. Ciclo while - 07. Operatore modulo - 08. Array - 09. Ciclo for - 10. Ciclo do/while - 11. Variabili di tipo float - 12. Funzione random() - 13. Impostazione del set di caratteri - 14. Definizione di funzioni - 15. Passaggio di parametri: gli array - 16. Variabili: visibilità e durata - 17. Il tipo char - 18. I file - 19. Funzioni matematiche
Indice degli approfondimenti: 01. Es. svolto: media - 02. Es. svolto: numero binario - 03. Es. svolto: menu - 04. Es. svolto: controllo dell'input - 05. Tutorial: integrazione di più funzionalità - 06. Es. svolto: sommare le cifre - 07. Istruzione break: numero primo