Programmazione procedurale in linguaggio c
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

Programmazione Procedurale in Linguaggio C++ PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Programmazione Procedurale in Linguaggio C++

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++


Programmazione procedurale in linguaggio c

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++


  • Login