From 97708b347f181ec632ba0b2b0f2f30e97fe5a0e0 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 11 Jan 2017 18:38:15 +0100 Subject: esericizi novembre e 11/1/17 --- scontrino_fiscale.cc | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ val_studenti.cc | 47 +++++++++++++++++++++++++++++++++++++++++++ vettpari.cc | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 scontrino_fiscale.cc create mode 100644 val_studenti.cc create mode 100644 vettpari.cc diff --git a/scontrino_fiscale.cc b/scontrino_fiscale.cc new file mode 100644 index 0000000..ee71a40 --- /dev/null +++ b/scontrino_fiscale.cc @@ -0,0 +1,57 @@ +//determinare dati da input il prezzo dei prodotti lo scontrino totale ed applicare lo sconto del 10% fino a due prodotti, lo sconto del 20% fino a 4 +//lo sconto del 30% fino a 6, oltre i 6 il 35%. stampare il totale da pagare. +#include +#include + +using namespace std; + +int main() +{ + int prodotti = 0, sconto; + float totale = 0, prezzo; + char cn = 'S'; + string oggetto; + + do + { + prodotti++; + cout << "Prodotto numero " << prodotti << ": "; + getline(cin,oggetto); + cin.clear(); + while (cin.get() != '\n') + { + continue; + } + + cout << "Prezzo: "; + cin >> prezzo; + + totale += prezzo; + + cout << "Continuare? S = Si / N = No : "; + cin >> cn; + }while(cn == 'S' || cn == 's'); + + switch(prodotti) + { + case 1: + case 2: + sconto = 10; + break; + case 3: + case 4: + sconto = 20; + break; + case 5: + case 6: + sconto = 30; + break; + default: + sconto = 35; + } + + totale = totale - (totale * sconto / 100); + + cout << "Il totale e': " << totale << endl; + return 0; +} diff --git a/val_studenti.cc b/val_studenti.cc new file mode 100644 index 0000000..6e4d02f --- /dev/null +++ b/val_studenti.cc @@ -0,0 +1,47 @@ +//visualizzare la media e i voti positivi di n materie di n studenti +//usato il compilatore GNU GCC + +#include +#include + +using namespace std; + +int main() +{ + int studenti, somma = 0, materie, positivi, i = 0, j; + float media, voto; + string nome; + + cout << "Quanti studenti? "; + cin >> studenti; + + + cout << "Quante materie? "; + cin >> materie; + cout << "\n"; + + do { + positivi = 0; + media = 0; + j = 0; + somma = 0; + cout << "Nome: "; + cin >> nome; + + do { + cout << "Inserisci voto: "; + cin >> voto; + + if (voto >= 6) positivi++; + + somma += voto; + j++; + } while(j < materie); + + media = (float) somma / (float) materie; + cout << "La media dei voti dell'alunno " << nome << " e': " << media << ". Considerando " << positivi << " voti positivi.\n" << endl; + i++; + } while(i < studenti); + + return 0; +} diff --git a/vettpari.cc b/vettpari.cc new file mode 100644 index 0000000..e82cf23 --- /dev/null +++ b/vettpari.cc @@ -0,0 +1,52 @@ +/* realizzare un programma in grado di caricare un vettore di dimensione 10 +con dei numeri interi divisibili per il numero 2 +utilizzato compilatore GCC 5.0.2 */ +#include + +using namespace std; + +bool pari(int n); + +int main(int argc, char *argv[]) +{ + int N, num, i, totale = 0; + while(true) + { + cout << "Inserisci lunghezza vettore: "; + cin >> N; + if(N < 1) + cout << "Lunghezza vettore con consentita." << endl; + else + break; + } + + int vett[N]; + + for(i = 0; i < N; i++) + { + while(true) + { + cout << "Inserisci un numero pari: "; + cin >> num; + if(pari(num) == true){ + vett[i] = num; + break; + }else cout << "Non hai inserito un numero pari, riprova!" << endl; + } + totale += num; + } + + cout << "----------" << endl; + for(i = 0; i < N; i++) cout << "vett[" << i << "] = " << vett[i] << endl; + cout << "----------" << endl; + cout << "La somma dei valori dell'array e': " << totale << endl; + cout << "----------" << endl; + cout << "La media dei valori dell'array e': " << totale / N << endl; + + return 0; +} + +bool pari(int n) +{ + return ((n % 2) == 0) ? true : false; +} -- cgit v1.2.3-18-g5258