Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
//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);
/*<