Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- //ADD --- sconto comitiva ---
- int main() {
- int scelta, c1, c2, num_b,prenotazioni=0,flag=1,cont=0,i=0,pren[8],flag1=0;
- float prezzo=0.09, costo=0;
- char nom[20], cogn[20];
- typedef char citta[9];
- citta cita[8] = {"BARI","TORINO","MILANO","ANCONA","FOGGIA","PALERMO","BRINDISI","ROMA"};
- int distanze[8][8]={{0,1000,850,500,200,450,100,550},
- {1000,0,150,400,800,1200,1100,450},
- {850,150,0,250,650,1200,950,450},
- {500,400,250,0,300,800,600,250},
- {200,850,650,300,0,550,300,400},
- {450,1200,1200,800,550,0,500,450},
- {100,1100,950,600,300,500,0,600},
- {550,450,450,250,400,450,600,0}};
- struct viaggio {
- char cognome[50];
- char nome[50];
- int partenza;
- int arrivo;
- int biglietti;
- double costo;
- }viaggiatori[10];
- for (i=0;i<8;i++){
- pren[i]=0;
- }
- do{
- do{
- flag1=0;
- printf("\nMenu':\n");
- printf("1. Visualizza la distanza aerea tra due citta'\n");
- printf("2. Prenotare biglietti\n");
- printf("3. Visualizza tutte le prenotazioni per citta' di arrivo\n");
- printf("4. Visualizza la destinazione piu' quotata\n");
- printf("5. ESCI\n");
- scanf("%d",&scelta);
- if(scelta>5 || scelta<1){
- flag1=1;
- }
- }while(flag1==1);
- flag=0;
- switch (scelta){
- case 1: {
- do{
- flag1=0;
- printf("Seleziona citta' di partenza:\n");
- for (i=0;i<8;i++){
- printf("%d. %s\n",i,cita[i]);
- }
- scanf("%d",&c1);
- if(c1>7 ||c1<0){
- flag1=1;
- }
- }while(flag1==1);
- do{
- flag1=0;
- printf("Seleziona citta' di arrivo:\n");
- for (i=0;i<8;i++){
- printf("%d. %s\n",i,cita[i]);
- }
- scanf("%d",&c2);
- if(c2>7 ||c2<0){
- flag1=1;
- }
- }while(flag1==1);
- printf("la distanza tra le due citta' e' %d\n", distanze [c1][c2]);
- break;
- }
- case 2: {
- printf("Nome:");
- scanf("%str",&nom);
- printf("Cognome:");
- scanf("%str",&cogn);
- do{
- flag1=0;
- printf("Seleziona citta' di partenza:\n");
- for (i=0;i<8;i++){
- printf("%d. %s\n",i,cita[i]);
- }
- scanf("%d",&c1);
- if(c1>7 ||c1<0){
- flag1=1;
- }
- }while(flag1==1);
- do{
- flag1=0;
- printf("Seleziona citta' di arrivo:\n");
- for (i=0;i<8;i++){
- printf("%d. %s\n",i,cita[i]);
- }
- scanf("%d",&c2);
- if(c2>7 ||c2<0){
- flag1=1;
- }
- }while(flag1==1);
- printf("Quanti biglietti vuoi acquistare?:\n");
- scanf("%d",&num_b);
- pren[c2]+=num_b;
- printf("La distanza tra le due citta' e' %d\n", distanze [c2][c1]);
- costo=prezzo*distanze [c1][c2]*num_b;
- printf("Il costo totale e' %.2f\n",costo);
- strcpy(viaggiatori[prenotazioni].cognome,cogn);
- strcpy(viaggiatori[prenotazioni].nome,nom);
- viaggiatori[prenotazioni].partenza=c1;
- viaggiatori[prenotazioni].arrivo=c2;
- viaggiatori[prenotazioni].biglietti=num_b;
- viaggiatori[prenotazioni].costo=costo;
- prenotazioni++;
- break;
- }
- case 3: {
- cont=0;
- printf("Seleziona citta' di arrivo:\n");
- for (i=0;i<8;i++){
- printf("%d. %s\n",i,cita[i]);
- }
- scanf("%d",&c2);
- if(c2>7 ||c2<0){
- flag1=1;
- }
- }while(flag1==1);
- for(i=0;i<prenotazioni;i++){
- if(viaggiatori[i].arrivo==c2){
- cont ++;
- }
- }
- if(cont!=0){
- for(i=0;i<prenotazioni;i++){
- if(viaggiatori[i].arrivo==c2){
- printf("Nome:%s Cognome:%s\nNumero Biglietti:%d Costo:%.2lf\n",viaggiatori[i].nome,viaggiatori[i].cognome,viaggiatori[i].biglietti,viaggiatori[i].costo);
- }
- }
- }else{
- printf("Non c'e' alcuna prenotazione per questa citta'... PIRLA!!!\n");
- }
- break;
- case 4:{
- int max_p=0;
- for (i=0;i<8;i++){
- if (pren[i]>max_p){
- max_p=i;
- }
- }
- printf("La citta' con piu' prenotazioni e' %s\n",cita[max_p]);
- break;
- }
- case 5:{
- flag=1;
- break;
- }
- }
- }while(flag==0);
- system("pause");
- }
Add Comment
Please, Sign In to add comment