Anteprima
Vedrai una selezione di 10 pagine su 171
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 1 Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 2
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 6
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 11
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 16
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 21
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 26
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 31
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 36
Anteprima di 10 pagg. su 171.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica - Homework Tracce d'esame svolte Pag. 41
1 su 171
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

//MEDIA

float calcolomedia (Cliente elenco[], int n, char tipologia[]){

int c=0;

float somma=0;

for (int i=0; i<n; i++)

if ( strcmp(elenco[i].tipologia, tipologia)==0 ){

somma=somma+elenco[i].importo;

c++;

}

return (somma/c);

}

//ORDINAMENTO

void swap (Cliente &x, Cliente &y){

Cliente appo;

appo=x;

x=y;

y=appo;

}

void bubblesort (Cliente elenco[], int n){

int last=0, end;

bool fattoswap;

do{ fattoswap=false;

end=last;

for (int i=n-1; i>end; i--)

if (elenco[i].importo<elenco[i-1].importo)

{ swap (elenco[i], elenco[i-1]);

last=i;

fattoswap=true;

}

}while (fattoswap);

}

/*

* inout.h

*

* Created on: 04 gen 2018

* Author: giuliorusso

*/

void input (Cliente elenco[], int &n, int M);

void stampa (Cliente elenco[], int n);

/*

* inout.cpp

*

* Created on: 04 gen 2018

* Author: giuliorusso

*/

#include <iostream>

#include <cstring>

#include "struttura.h"

#include "funzioni.h"

using namespace std;

void input (Cliente elenco[], int &n, int M){

cout<<"N clienti: ";

controllo_int (n, M, 0);

cout<<endl;

for (int i=0; i<n; i++){

cout<<"Cliente "<<i+1<<": "<<endl;

cout<<"Nome: ";

cin.ignore(); cin.getline(elenco[i].nome,

16); cout<<"Cognome: ";

cin.getline(elenco[i].cognome, 16);

cout<<"Tipologia (fonia, dati, misto): ";

controllo_str (elenco[i].tipologia);

cout<<"Importo: ";

cin>>elenco[i].importo;

cout<<endl;

}

}

void stampa (Cliente elenco[], int n){

for (int i=0; i<n; i++){

cout<<"Cliente "<<i+1<<": "<<endl;

cout<<"Iniziali: ";

cout<<elenco[i].nome[0]<<elenco[i].cognome[0]<<endl;

cout<<"Importo: ";

cout<<elenco[i].importo<<endl;

cout<<endl;

}

}

/*

* struttura.h

*

* Created on: 04 gen 2018

* Author: giuliorusso

*/

struct Cliente {

char nome[16];

char cognome[16];

char tipologia[6];

float importo;

};

//Prova 1 del 17-02-2014

//

====================================================================

========

// Name : Prova.cpp

// Author : Giulio

// Version :

// Copyright : Your copyright notice

// Description : Hello World in C++, Ansi-style

//

====================================================================

========

#include <iostream>

#include <cstring>

#include "struttura.h"

#include "inout.h"

#include "funzioni.h"

using namespace std;

#define MAX 100

int main() {

Modulo lista[MAX], idonei[MAX];

int num, numid, i, T;

char corso[13];

//input di n moduli

input (lista, num, MAX);

//input di corso

cout<<"Corso da verificare: ";

cin.ignore(); controllo_str (corso);

//e di T

cout<<"T (numero studenti da verificare): ";

controllo_int (T, (MAX*10), 0);

//scorro lista

numid=0;

i=0;

while (i<=num){

//tutti i moduli con lo stesso corso e con

n_studenti > T if ( strcmp(lista[i].cds, corso)==0 &&

lista[i].n_studenti>T ){ idonei[numid++]=lista[i]; //li

copio in idonei elimina_pos (lista, num,

i); //e li elimino da lista

num--;

}

//tutti i moduli con lo stesso corso e con

n_studenti <= T else if ( strcmp(lista[i].cds, corso)==0 &&

lista[i].n_studenti<=T ){ elimina_pos (lista, num, i);

//li elimino da lista num--;

}

else i++;

}

//ordino lista e idonei per nome

bubblesort (lista, num);

bubblesort (idonei, numid);

//stampa lista

cout<<endl<<endl<<"Lista

----------------------------------------------"<<endl<<endl;

stampa (lista, num);

//stampa idonei

cout<<endl<<endl<<"Lista idonei

---------------------------------------"<<endl<<endl;

stampa (idonei, numid);

return 0;

}

/*

* funzioni.h

*

* Created on: 06 gen 2018

* Author: giuliorusso

*/

void controllo_int (int &x, int max, int min);

void controllo_str (char str[]);

void elimina_pos (Modulo elenco[], int n, int pos);

void swap (Modulo &x, Modulo &y);

void bubblesort (Modulo elenco[], int n);

/*

* funzioni.cpp

*

* Created on: 06 gen 2018

* Author: giuliorusso

*/

#include <iostream>

#include <cstring>

#include "struttura.h"

using namespace std;

//CONTROLLI

void controllo_int (int &x, int max, int min){

do{ cin>>x;

if (x<min || x>max)

cout<<"ERRORE. Riprovare: ";

}while (x<min || x>max);

}

void controllo_str (char str[]){

bool corretto;

do{ cin.getline(str, 13);

if ( strcmp(str, "Industriale")==0 || strcmp(str,

"Civile")==0 || strcmp(str, "Informazione")==0 )

corretto=true;

else{ corretto=false;

cout<<"ERRORE. Riprovare: ";

}

}while (!corretto);

}

//ELIMINAZIONE

void elimina_pos (Modulo elenco[], int n, int pos){

for (int i=pos; i<n-1; i++)

elenco[i]=elenco[i+1];

}

//ORDINAMENTO

void swap (Modulo &x, Modulo &y){

Modulo appo;

appo=x;

x=y;

y=appo;

}

void bubblesort (Modulo elenco[], int n){

int last=0, end;

bool fattoswap;

do{ fattoswap=false;

end=last;

for (int i=n-1; i>end; i--)

if ( strcmp(elenco[i].cds,

elenco[i-1].cds)<0 ){ swap (elenco[i], elenco[i-1]);

last=i;

fattoswap=true;

}

}while (fattoswap);

}

/*

* inout.h

*

* Created on: 06 gen 2018

* Author: giuliorusso

*/

void input (Modulo elenco[], int &n, int M);

void stampa (Modulo elenco[], int n);

/*

* inout.cpp

*

* Created on: 06 gen 2018

* Author: giuliorusso

*/

#include <iostream>

#include <cstring>

#include "struttura.h"

#include "funzioni.h"

using namespace std;

void input (Modulo elenco[], int &n, int M){

cout<<"N moduli: ";

controllo_int (n, M, 0);

cout<<endl;

for (int i=0; i<n; i++){

cout<<"Modulo "<<i+1<<": "<<endl;

cout<<"Nome: ";

cin.ignore(); cin.getline(elenco[i].nome, 16);

cout<<"Docente: ";

cin.getline(elenco[i].docente, 16);

cout<<"Corso di studi (Industriale, Civile,

Informazione): "; controllo_str (elenco[i].cds);

cout<<"Numero studenti: ";

cin>>elenco[i].n_studenti;

cout<<endl;

}

}

void stampa (Modulo elenco[], int n){

for (int i=0; i<n; i++){

cout<<"Modulo "<<i+1<<": "<<endl;

cout<<"Nome: ";

cout<<elenco[i].nome<<endl;

cout<<"Docente: ";

cout<<elenco[i].docente<<endl;

cout<<"Corso di studi (Industriale, Civile,

Informazione): "; cout<<elenco[i].cds<<endl;

cout<<"Numero studenti: ";

cout<<elenco[i].n_studenti<<endl;

cout<<endl;

}

}

/*

* struttura.h

*

* Created on: 06 gen 2018

* Author: giuliorusso

*/

struct Modulo {

char nome[16];

char docente[16];

char cds[13];

int n_studenti;

};

//Prova 1 del 27-01-2014

//

====================================================================

========

// Name : 27.cpp

// Author : Giulio

// Version :

// Copyright : Your copyright notice

// Description : Hello World in C++, Ansi-style

//

====================================================================

========

#include <iostream>

#include "struttura.h"

#include "funzioni.h"

#include "inout.h"

using namespace std;

#define MAX 100

int main() {

Volo lista[MAX], idonei[MAX];

int num, numid;

char L[16], risposta;

bool verifica;

//input di n voli

input (lista, num, MAX);

cout<<endl;

do{ //input di L

cout<<"Scalo partenza da verificare: ";

cin.ignore(); cin.getline(L, 16);

//scorro lista

verifica=false;

numid=0;

for (int i=0; i<num; i++)

//se lo scalo è uguale a quello inserito

lo sposto in idonei if ( strcmp(lista[i].partenza, L)==0 ){

idonei[numid++]=lista[i];

verifica=true;

}

if (verifica==false){

cout<<"Scalo non trovato. Continuare? s/

n"; cin>>risposta;

}

}while ( risposta=='s' || risposta=='S' );

//ordino idonei per scalo di arrivo

bubblesort (idonei, numid);

//stampa idonei

cout<<endl<<endl<<"Lista idonei

------------------------------------------------"<<endl<<endl;

stampa (idonei, numid);

return 0;

}

/*

* funzioni.h

*

* Created on: 05 gen 2018

* Author: giuliorusso

*/

void controllo_int (int &x, int max, int min);

void controllo_str (char str[]);

void swap (Volo &x, Volo &y);

void bubblesort (Volo elenco[], int n);

/*

* funzioni.cpp

*

* Created on: 05 gen 2018

* Author: giuliorusso

*/

#include <iostream>

#include "struttura.h"

using namespace std;

//CONTROLLI

void controllo_int (int &x, int max, int min){

do{ cin>>x;

if (x<min || x>max)

cout<<"ERRORE. Riprovare: ";

}while (x<min || x>max);

}

void controllo_str (char str[]){

bool corretto;

do{ cin.getline(str, 9);

if ( strcmp(str, "linea")==0 || strcmp(str,

"charter")==0 || strcmp(str, "aerotaxi")==0 )

corretto=true;

else { corretto=false;

cout<<"ERRORE. Riprovare: ";

}

}while (!corretto);

}

//ORDINAMENTO

void swap (Volo &x, Volo &y){

Volo appo;

appo=x;

x=y;

y=appo;

}

void bubblesort (Volo elenco[], int n){

int last=0, end;

bool fattoswap;

do{ fattoswap=false;

end=last;

for (int i=n-1; i>end; i--)

if ( strcmp(elenco[i].arrivo,

elenco[i-1].arrivo)<0 ){ swap (elenco[i], elenco[i-1]);

last=i;

fattoswap=true;

}

}while (fattoswap);

}

/*

* inout.h

*

* Created on: 05 gen 2018

* Author: giuliorusso

*/

void input (Volo elenco[], int &n, int M);

void stampa (Volo elenco[], int n);

/*<

Dettagli
Publisher
A.A. 2019-2020
171 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher GiulioRusso di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Cassino e del Lazio Meridionale o del prof Marrocco Claudio.