programmazione procedurale in linguaggio c
Download
Skip this Video
Download Presentation
Programmazione Procedurale in Linguaggio C++

Loading in 2 Seconds...

play fullscreen
1 / 43

Programmazione Procedurale in Linguaggio C++ - PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on

Programmazione Procedurale in Linguaggio C++. Strutture di Controllo Parte 4 Conclusioni. versione 2.1. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina). Strutture di Controllo: Conclusioni >> Sommario. Sommario. Ricapitolazione

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Programmazione Procedurale in Linguaggio C++' - amena-hunt


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
programmazione procedurale in linguaggio c

Programmazione Procedurale in Linguaggio C++

Strutture di Controllo

Parte 4

Conclusioni

versione 2.1

Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons

(vedi ultima pagina)

G. Mecca – Università della Basilicata – [email protected]

sommario

Strutture di Controllo: Conclusioni >> Sommario

Sommario
  • Ricapitolazione
  • Convenzioni di Stile
  • Alcune Tecniche Notevoli
    • Somma con Accumulatore
    • Conteggio con Contatore
    • Variabili Bandiera (“flag”)
    • Convalida dei Dati in Ingresso
  • Errori Frequenti

G. Mecca - Programmazione Procedurale in Linguaggio C++

ricapitolazione

Strutture di Controllo: Conclusioni >> Ricapitolazione

Ricapitolazione
  • Strutture di controllo
    • elementi fondamentali della programmazione procedurale
    • consentono di eseguire o meno una porzione di programma sulla base di condizioni
  • Due categorie
    • istruzioni condizionali
    • istruzioni iterative o cicli

G. Mecca - Programmazione Procedurale in Linguaggio C++

ricapitolazione1

Strutture di Controllo: Conclusioni >> Ricapitolazione

Ricapitolazione
  • Istruzioni condizionali
    • servono ad eseguire una porzione oppure un’altra sulla base del valore di una condizione
  • Condizione
    • espressione a valori booleani
  • Due istruzioni (in tutti i linguaggi)
    • IF-THEN-ELSE
    • IF-THEN

G. Mecca - Programmazione Procedurale in Linguaggio C++

ricapitolazione2

Strutture di Controllo: Conclusioni >> Ricapitolazione

Ricapitolazione
  • Istruzioni iterative
    • servono ad eseguire più volte una porzione di programma sulla base del valore di una condizione
  • Due istruzioni (in tutti i linguaggi)
    • WHILE (cicli “aperti” oppure cicli “chiusi”)
    • FOR (cicli “chiusi” o a conteggio)

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • In questo corso (e nei successivi)
    • convenzioni sullo “stile di scrittura” del codice
  • Obiettivi
    • uniformare il modo di scrivere il codice
    • per renderlo più leggibile
    • e per favorire la collaborazione nei gruppi di lavoro
  • Tendenza internazionale

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile1

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • Nelle lezioni successive
    • raffineremo progressivamente le nostre regole
    • in modo che valgano anche dopo (Java, C#)
  • Per ora
    • a) regole sull’indentazione del codice: 4 spazi
    • b) regole sulle parentesi graffe
    • c) regole sulle espressioni: spazi tra op.di e operatori
    • d) regole sui nomi di variabili: notazione “cammello”

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile2

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • a) Indentazione
    • codice di un programma: insieme di blocchi nidificati (es: strutture di controllo)
  • Per rendere più leggibile il codice
    • è necessario dentellarlo (o “indentarlo”)
    • le istruzioni di ogni blocco sono rientrate rispetto alle parentesi
    • molto importante
  • Regola: rientri di 4 spazi

G. Mecca - Programmazione Procedurale in Linguaggio C++

codice senza indentazione

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Codice senza Indentazione

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami;

bool continua;

continua = true;

numeroEsami = 0;

sommaVoti = 0.0;

while (continua == true) {

cout << "Immetti il voto (0 per fermarti)" << endl;

cin >> voto;

if (voto == 0)

continua = false;

else {

numeroEsami++;

sommaVoti += voto;

}

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile3

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • b) Posizione delle parentesi graffe
    • due convezioni principali

Convenzione n.1

Convenzione n.2

if (condizione) {

<istruzioni>;

}

if (condizione) {

<istruzioni>;

} else {

<istruzioni>;

}

if (condizione)

{

<istruzioni>;

}

else

{

<istruzioni>;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile4

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • Regola n.1
    • adotteremo la convenzione n.1
  • Regola n.2
    • utilizzeremo sempre le parentesi
    • anche nel caso in cui un blocco contenga un’unica istruzione

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile5

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • c) Scrittura delle espressioni
    • espressione: fatta di operandi ed operatori
    • per renderla più leggibile è possibile inserire spazi tra operandi ed operatori
  • Esempio
    • (sqrt(x)+(y-z))==k
    • (sqrt(x) + (y - z)) == k

G. Mecca - Programmazione Procedurale in Linguaggio C++

convenzioni di stile6

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

Convenzioni di Stile
  • d) Nomi delle variabili
    • identificatori
    • regola n.1: inziale minuscola (es: voto, continua)
    • regola n.2: convenzione “cammello”
  • Convenzione cammello
    • identificatore fatto di più parole concatenate
    • ogni iniziale a parte la prima è maiuscola
    • es: sommaVoti, numeroEsami

G. Mecca - Programmazione Procedurale in Linguaggio C++

slide14

Strutture di Controllo: Conclusioni >> Convenzioni di Stile

a) rientri di 4 spazi

NO più istruzioni per linea

b) posizione delle parentesi

NO convenzione n. 2

+ parentesi sempre

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami;

bool continua;

continua = true;

numeroEsami = 0;

sommaVoti = 0.0;

while (continua == true) {

cout << "Immetti il voto (0 per fermarti)" << endl;

cin >> voto;

if (voto == 0) {

continua = false;

} else {

numeroEsami++;

sommaVoti += voto;

}

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else {

cout << "Non hai fornito nessun voto" << endl;

}

}

c) espressioni

NO (continua==true)

d) nomi delle variabili

NO numeroesami

NO somma_voti

G. Mecca - Programmazione Procedurale in Linguaggio C++

alcune tecniche notevoli

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Alcune Tecniche Notevoli
  • Il nostro esempio
    • n programma per il calcolo della media degli esami
  • Due versioni
    • l’utente inserisce preliminarmente il numero di esami sostenuti, e poi tutti i voti (versione con for) >> ciclo chiuso
    • l’utente inserisce i voti uno per uno e si ferma digitando 0 (versione con while) >> ciclo aperto

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con for

Strutture di Controllo: Conclusioni >> Ricapitolazione

Un Esempio: Media con For

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami, i;

cout << "Quanti esami hai sostenuto ?" << endl;

cin >> numeroEsami;

sommaVoti = 0.0;

for (i=0; i<numeroEsami; i++) {

cout << "Immetti il voto di un esame" << endl;

cin >> voto;

sommaVoti += voto;

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con while

Strutture di Controllo: Conclusioni >> Ricapitolazione

Un Esempio: Media con While

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami;

bool continua;

continua = true;

numeroEsami = 0;

sommaVoti = 0.0;

while (continua == true) {

cout << "Immetti il voto (0 per fermarti)" << endl;

cin >> voto;

if (voto == 0)

continua = false;

else {

numeroEsami++;

sommaVoti += voto;

}

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

calcolo della media

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Calcolo della Media
  • Una annotazione
    • le variabili voto e sommaVoti avrebbero potuto essere di tipo int
    • ma questo avrebbe portato ad un valore scorretto della media (divisione intera)

int sommaVoti, numeroEsami;

float media;

media = sommaVoti/numeroEsami;

    • es: se sommaVoti vale 64 e numeroEsami vale 3, media vale 21 e non 21.3333

G. Mecca - Programmazione Procedurale in Linguaggio C++

alcune tecniche notevoli1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Alcune Tecniche Notevoli
  • Tecniche notevoli contenute nei progr.
    • somma dei voti (somma con variabile “accumulatore”)
    • conteggio del numero di esami (conteggio con variabile “contatore”)
    • tecnica per fermare il ciclo while (variabile “bandiera”)
  • Inoltre, vedremo anche
    • convalida dei dati forniti dall’utente

G. Mecca - Programmazione Procedurale in Linguaggio C++

somma con accumulatore

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Somma con Accumulatore
  • Somma dei voti
    • utilizzo una variabile come “accumulatore”
    • inizialmente la variabile vale 0
    • ad ogni esecuzione del ciclo sommo al valore precedente il nuovo voto (“accumulo” il valore nella variabile)
  • Tecnica notevole
    • utilizzabile tutte le volte che bisogna sommare un insieme di valori

G. Mecca - Programmazione Procedurale in Linguaggio C++

accumulatore

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Memoria RAM

Accumulatore

3

67.0

21.0

0.0

43.0

1. float voto, sommaVoti;

2. int numeroEsami, i;

3. cout << "Quanti esami ? “;

4. cin >> numeroEsami;

5. sommaVoti = 0.0;

6. for (i = 0; i < numeroEsami; i++) {

7. cout << “Voto ? ";

8. cin >> voto;

9. sommaVoti = sommaVoti + voto;

10. }

0

1

3

2

21

22

24

Schermo

Quanti esami ?

3

Voto ?

21

Voto ?

22

Voto ?

24

G. Mecca - Programmazione Procedurale in Linguaggio C++

somma con accumulatore1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Somma con Accumulatore
  • E’ usata anche nella versione basata su while
  • In questo caso però
    • oltre a sommare i voti, bisogna anche contare gli esami
    • inoltre bisogna decidere quando fermarsi
    • a questo scopo vengono usate due altre tecniche notevoli

G. Mecca - Programmazione Procedurale in Linguaggio C++

variabile contatore

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Variabile Contatore
  • Conteggio degli esami
    • conteggio attraverso la variabile intera numeroEsami
    • la variabile svolge le funzioni di “contatore”
    • valore iniziale pari a 0
    • incrementata ad ogni nuovo voto
  • Anche questa è una tecnica notevole
    • contare gli elementi di un insieme

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con while1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Un Esempio: Media con While

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami;

bool continua;

continua = true;

numeroEsami = 0;

sommaVoti = 0.0;

while (continua == true) {

cout << "Immetti il voto (0 per fermarti)" << endl;

cin >> voto;

if (voto == 0)

continua = false;

else { numeroEsami++; sommaVoti += voto; }

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

variabile contatore1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Variabile Contatore
  • Attenzione
    • abbiamo già visto questa tecnica
  • Cicli a conteggio
    • è la stessa tecnica che viene utilizzata per controllare i cicli a conteggio
    • anche in quel caso viene utilizzato un contatore (per contare il numero di esecuzioni del ciclo)

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio gi visto i 5 quadrati

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Un Esempio Già Visto: I 5 Quadrati

ATTENZIONE:

nel caso della media

non conto il numero di

esecuzioni del ciclo, ma

il numero di voti forniti

#include <iostream.h>

void main() {

float lato, area;

int i;

i=0;

while (i<5){

cout << “Immetti la lung. del lato” << endl;

cin >> lato;

area=lato*lato;

cout << “Area quadrato: “ << area << endl;

i++;

}

cout << “Fine”;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

variabile bandiera flag

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Variabile Bandiera (“Flag”)
  • Quando fermarsi ?
    • viene utilizzata una variabile booleana
    • inizializzata a true
    • il ciclo prosegue finchè la var. è vera (la var. è la bandiera che da via libera al ciclo)
    • ad ogni nuovo voto si controlla se l’utente vuole interrompere; in questo caso la variabile diventa falsa)
  • Tecnica notevole per il controllo di cicli

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con while2

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Un Esempio: Media con While

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami;

bool continua;

continua = true;

numeroEsami = 0;

sommaVoti = 0.0;

while (continua == true) {

cout << "Immetti il voto (0 per fermarti)" << endl;

cin >> voto;

if (voto == 0)

continua = false;

else { numeroEsami++; sommaVoti += voto; }

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

variabile bandiera flag1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Variabile Bandiera (“Flag”)
  • Una annotazione
    • la condizione del ciclo while avrebbe potuto essere scritta anche comewhile (continua) {...}
    • infatti, le due espressioni, (continua)(continua==true)sono equivalenti (vere se “continua” vale true, false se continua vale false”)

espressione fatta

da un’unico operando

e nessun operatore

G. Mecca - Programmazione Procedurale in Linguaggio C++

variabile bandiera flag2

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Variabile Bandiera (“Flag”)
  • Più in generale
    • data una variabile b di tipo bool
    • dovunque sia necessario utilizzare un’espressione del tipo (b==true), è possibile utilizzare solo (b)
    • dovunque sia necessario utilizzare un’espressione del tipo (b==false) è possibile utilizzare solo (!b)

vera se b vale false

falsa se b vale true

G. Mecca - Programmazione Procedurale in Linguaggio C++

accumulatore1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Memoria RAM

Accumulatore

0

1

2

21.0

0.0

43.0

1. continua = true;

2. numeroEsami = 0;

3. sommaVoti = 0.0;

4. while (continua == true) {

5. cout << “Voto? (0 stop)“;

6. cin >> voto;

7. if (voto == 0) {

8. continua = false;

9. } else {

10. numeroEsami++;

11. sommaVoti += voto;

12. }

13. }

14. ...

true

false

21

22

0

Schermo

Voto? (0 stop)

21

Voto? (0 stop)

22

Voto? (0 stop)

0

G. Mecca - Programmazione Procedurale in Linguaggio C++

convalida dell input

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Convalida dell’Input

mediaForConvalida.cpp >>

mediaWhileConvalida.cpp >>

  • I due programmi acquisiscono dati dall’utente
    • sarebbe necessario verificare la correttezza dei valori forniti
    • es: voto tra 18 e 30
    • es: numero di esami >= 0
  • Convalida dei valori in ingresso
    • è possibile utilizzare un ciclo while

G. Mecca - Programmazione Procedurale in Linguaggio C++

convalida dell input1

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Convalida dell’Input
  • In particolare
    • il ciclo viene dopo una lettura; es: cin >> numeroEsami;
    • la condizione del ciclo è vera nel caso in cui il valore letto sia scorrettoes: while (numeroEsami<=0) {...}
    • se viene letto un valore corretto, il ciclo di convalida viene ignorato
    • se viene letto un valore scorretto, il ciclo inizia, e va avanti finchè non viene fornito un valore corretto

G. Mecca - Programmazione Procedurale in Linguaggio C++

convalida dell input2
cout << “Esami ?" << endl;

cin >> numeroEsami;

while (numeroEsami < 0) {

cout << “Errore“ << endl;

cout << “Esami ?" << endl;

cin >> numeroEsami;

}

bool continua;

continua = true;

while (continua) {

cout << “Esami ?" << endl;

cin >> numeroEsami;

if (numeroEsami < 0) {

cout << "Errore“;

} else {

continua = false;

}

}

Strutture di Controllo: Conclusioni >> Alcune Tecniche Notevoli

Convalida dell’Input

Una soluzione alternativa:

  • Svantaggi di questa soluzione:
  • il codice è meno compatto
  • è molto meno leggibile
  • Utilizzeremo la seconda

G. Mecca - Programmazione Procedurale in Linguaggio C++

errori frequenti

Strutture di Controllo: Conclusioni >> Errori Frequenti

Errori Frequenti
  • Un errore sintattico frequente
    • parentesi graffe mancanti per i blocchi delle istruzioni di controllo
  • Due casi
    • entrambe le parentesi mancanti
    • solo la parentesi finale è mancante

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con for1

Strutture di Controllo: Conclusioni >> Errori Frequenti

Un Esempio: Media con For

manca la parentesi di chiusura

mancano le parentesi

del I blocco

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami, i;

cout << "Quanti esami hai sostenuto ?" << endl;

cin >> numeroEsami;

sommaVoti = 0.0;

for (i=0; i<numeroEsami; i++) {

cout << "Immetti il voto di un esame" << endl;

cin >> voto;

sommaVoti += voto;

if (numeroEsami > 0)

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

else {

cout << "Non hai fornito nessun voto" << endl;

}

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

errori frequenti1

Strutture di Controllo: Conclusioni >> Errori Frequenti

Errori Frequenti
  • Nel primo caso (parentesi di chiusura)
    • il compilatore considera il blocco aperto fino alla fine del file e alla fine del file segnala l’errore
    • Error E2134 mediaFor.cpp 23: Compound statement missing } in function main()
    • “Blocco di istruzioni senza parentesi chiusa”
  • Nel secondo caso (parentesi dell’if)
    • il compilatore considera il blocco fatto di una sola istruzione; errore quando incontra “else”
    • Error E2054 mediaFor.cpp 20: Misplaced else in function main()
    • “Else fuori posto”

G. Mecca - Programmazione Procedurale in Linguaggio C++

errori frequenti2

Strutture di Controllo: Conclusioni >> Errori Frequenti

Errori Frequenti
  • Un errore logico frequente
    • nei cicli aperti, gestione scorretta della variabile di ciclo
    • mancanza dell’inizializzazione
    • mancanza dell’incremento
  • In questi casi
    • il ciclo si comporta in modo scorretto
    • nel secondo caso si verifica un loop

G. Mecca - Programmazione Procedurale in Linguaggio C++

errori frequenti3
Manca inizializzazione

il comportamento è casuale

dipende dal valore di i

int i;

while (i < 5) {

cout << “Valore di i: “;

cout << i << endl;

i++;

}

Strutture di Controllo: Conclusioni >> Errori Frequenti

Errori Frequenti
  • Manca l’incremento
    • tipicamente si verifica un “loop”

int i;

i = 0;

while (i < 5) {

cout << “Valore di i: “;

cout << i << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

riassumendo

Strutture di Controllo: Conclusioni >> Sommario

Riassumendo
  • Ricapitolazione
    • Convenzioni di Stile (ATTENZIONE)
  • Alcune Tecniche Notevoli
    • Somma con Accumulatore
    • Conteggio con Contatore
    • Variabili Bandiera (“flag”)
    • Convalida dei Dati in Ingresso
  • Errori Frequenti

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con for2

Strutture di Controllo: Conclusioni >> Un Esempio

Un Esempio: Media con For

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami, i;

cout << "Quanti esami hai sostenuto ?" << endl;

cin >> numeroEsami;

sommaVoti = 0.0;

for (i=0; i<numeroEsami; i++) {

cout << "Immetti il voto di un esame" << endl;

cin >> voto;

sommaVoti += voto;

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

un esempio media con while3

Strutture di Controllo: Conclusioni >> Un Esempio

Un Esempio: Media con While

#include <iostream.h>

void main() {

float voto, sommaVoti, media;

int numeroEsami;

bool continua;

continua = true;

numeroEsami = 0;

sommaVoti = 0.0;

while (continua == true) {

cout << "Immetti il voto (0 per fermarti)" << endl;

cin >> voto;

if (voto == 0) {

continua = false;

} else {

numeroEsami++;

sommaVoti += voto;

}

}

if (numeroEsami > 0) {

media = sommaVoti/numeroEsami;

cout << "La media vale: " << media << endl;

} else

cout << "Non hai fornito nessun voto" << endl;

}

G. Mecca - Programmazione Procedurale in Linguaggio C++

termini della licenza

Termini della Licenza

Termini della Licenza
  • This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
  • Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

G. Mecca - Programmazione Procedurale in Linguaggio C++

ad