Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Convertitore by Çlÿkÿ~ */
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main()
- {
- /* Variabili */
- int unita_misura_da_convertire; /* unità di misura attuale */
- int risultato_unita_misura; /* unità di misura scelta dall'utente nella quale si desidera convertire il numero iniziale */
- int unita_misura_variabile; /* numero usato nel calcolo per stabilire l'esponente della potenza */
- int scelta_iniziale; /* scegliere su quale unità di misura si desidera lavorare (1 = peso; 2 = lunghezza; 3 = capacità) */
- int scelta_scelta_3; /* scegliere se fare il calcolo coi metri cubi o coi litri */
- float parte_numerica; /* parte numerica inserita inizialmente */
- float risultato_parte_num; /* risultato parte numerica */
- char scelta_ripetizione_totale; /* per decidere se ripetere TUTTO il programma */
- char scelta_volume; /* per sapere se si vuole tenere l'unità in litri o convertirla in metri cubi */
- char scelta_m_cubi_o_litri; /* quando si scelgono i metri cubi, decidere se restare nei metri cubi o se passare da metri cubi a litri */
- /* Programma */
- /* Scelta iniziale (su quale unità di misura si desidera lavorare) */
- do /* inizio do per la ripetizione del programma */
- {
- system("cls");
- do /* inizio do per la ripetizione se l'inserimento è errato */
- {
- printf("\t \t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c \n", 201, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 187);
- printf("\t \t %c Ciao! \t \t \t \t \t %c \n", 186, 186);
- printf("\t \t %c Posso convertirti vari numeri in ci%c che vuoi. %c \n", 186, 149, 186);
- printf("\t \t %c In quale ambito vuoi lavorare? \t \t %c \n", 186, 186);
- printf("\t \t %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c \n \n", 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 188);
- printf("1. Peso (Kg) \n");
- printf("2. Lunghezza (m) \n");
- printf("3. Volume (L) \n");
- printf("4. Superficie (m quad.) \n");
- printf("5. Temperatura (K) \n");
- printf("6. Tempo (s) \n");
- printf("7. Memoria virtuale (B) \n");
- printf("8. Velocit%c (m/s) \n \n", 133);
- printf("Digita il numero corrispondente qui: ");
- scanf("%i",&scelta_iniziale);
- fflush(stdin);
- printf("\n");
- if((scelta_iniziale < 1) || (scelta_iniziale > 8))
- {
- printf("Hai inserito un valore non consentito. \n");
- printf("Puoi inserire solo valori dall'1 al 3. \n \n");
- } /* fine if */
- } /* fine do iniziale (ripeti se l'inserimento è errato) */
- while(scelta_iniziale < 1 || scelta_iniziale > 8);
- /* Peso */
- if(scelta_iniziale == 1) /* inizio if se si sceglie di lavorare sul peso */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Tonnellate (t) \n");
- printf("2. Quintali (q) \n");
- printf("3. Kilogrammi (Kg) \n");
- printf("4. Ettogrammi (hg) \n");
- printf("5. Decagrammi (dag) \n");
- printf("6. Grammi (g) \n");
- printf("7. Decigrammi (dg) \n");
- printf("8. Centigrammi (cg) \n");
- printf("9. Milligrammi (mg) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 9) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 9) || (risultato_unita_misura < 1) || (unita_misura_da_convertire > 9)) /* if per determinare se l'inserimento è fallito */
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 9. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- } /* termine do per la ripetizione in caso di inserimento fallito */
- while((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 9) || (risultato_unita_misura < 1) || (unita_misura_da_convertire > 9) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (peso) */
- if(unita_misura_da_convertire < risultato_unita_misura)
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- }
- else
- if(unita_misura_da_convertire > risultato_unita_misura)
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- }
- if(unita_misura_da_convertire < risultato_unita_misura)
- {
- risultato_parte_num = (parte_numerica * pow(10, unita_misura_variabile));
- }
- else
- if(unita_misura_da_convertire > risultato_unita_misura)
- {
- risultato_parte_num = (parte_numerica / pow(10, unita_misura_variabile));
- }
- printf("La parte numerica risulta %.3f \n", risultato_parte_num);
- } /* termine if del peso */
- if(scelta_iniziale == 2) /* inizio if se si sceglie di lavorare sulle lunghezze */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Kilometri (Km) \n");
- printf("2. Ettometri (h) \n");
- printf("3. Decametri (Dam) \n");
- printf("4. Metri (m) \n");
- printf("5. Decimetri (dm) \n");
- printf("6. Centimetri (cm) \n");
- printf("7. Millimetri (mm) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 7) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 7) || (risultato_unita_misura < 1) || (unita_misura_da_convertire > 7))
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 7. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- }
- while(((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 7)) || (risultato_unita_misura < 1) || (unita_misura_da_convertire > 7) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (lunghezza) */
- if(unita_misura_da_convertire < risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è minore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è maggiore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- } /* fine if */
- if(unita_misura_da_convertire < risultato_unita_misura) /* se l'unità di misura inserita prima è minore rispetto a quella inserita dopo, moltiplicare il risultato */
- {
- risultato_parte_num = (parte_numerica * pow(10, unita_misura_variabile));
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* se l'unità di misura inserita prima è maggiore rispetto a quella inserita dopo, dividere il risultato */
- {
- risultato_parte_num = (parte_numerica / pow(10, unita_misura_variabile));
- }
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* termine if della lunghezza */
- if(scelta_iniziale == 3) /* inizio if se si sceglie di lavorare sul volume */
- {
- printf("Scegli quale unit%c di misura vuoi usare: \n \n", 133);
- printf("1. Metri cubi (m%c) \n", 252);
- printf("2. Litri (L) \n \n");
- do
- {
- printf("Inserisci il numero corrispondente qui: ");
- scanf("%i",&scelta_scelta_3);
- fflush(stdin);
- printf("\n");
- if(scelta_scelta_3 != 1 && scelta_scelta_3 != 2)
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire solo 1 e 2. \n");
- printf("Riprova. \n \n");
- }
- }
- while(scelta_scelta_3 != 1 && scelta_scelta_3 != 2);
- if(scelta_scelta_3 == 1)
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Metri cubi (m%c) \n", 252);
- printf("2. Decimetri cubi (dm%c) \n", 252);
- printf("3. Centimetri cubi (cm%c) \n \n", 252);
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- if(unita_misura_da_convertire < 1 || unita_misura_da_convertire > 3)
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 3. \n");
- printf("Riprova. \n \n");
- }
- }
- while(unita_misura_da_convertire < 1 || unita_misura_da_convertire > 3);
- do
- {
- printf("Vuoi rimanere nei metri cubi o passare ai litri? \n");
- printf("Premi 'm' per restare nei metri cubi, 'L' per passare ai litri. ");
- fflush(stdin);
- scanf("%c",&scelta_m_cubi_o_litri);
- printf("\n");
- if(scelta_m_cubi_o_litri != 'm' && scelta_m_cubi_o_litri != 'M' && scelta_m_cubi_o_litri != 'l' && scelta_m_cubi_o_litri != 'L')
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto l, L, m ed M. \n");
- printf("Riprova. \n \n");
- }
- }
- while(scelta_m_cubi_o_litri != 'm' && scelta_m_cubi_o_litri != 'M' && scelta_m_cubi_o_litri != 'l' && scelta_m_cubi_o_litri != 'L');
- if(scelta_m_cubi_o_litri == 'm' || scelta_m_cubi_o_litri == 'M');
- {
- do
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura che vuoi ottenere: ", 133);
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if(unita_misura_da_convertire == risultato_unita_misura)
- {
- printf("Inserimento fallito. \n");
- printf("Le due unit%c di misura sono uguali.", 133);
- printf("Riprova. \n \n");
- }
- }
- while(unita_misura_da_convertire == risultato_unita_misura);
- /* Calcolo volume - metri cubi a metri cubi */
- if(unita_misura_da_convertire < risultato_unita_misura)
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- }
- else
- if(unita_misura_da_convertire > risultato_unita_misura)
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- }
- if(unita_misura_da_convertire > risultato_unita_misura)
- {
- risultato_parte_num = parte_numerica / pow(1000, unita_misura_variabile);
- }
- else
- if(unita_misura_da_convertire < risultato_unita_misura)
- {
- risultato_parte_num = parte_numerica * pow(1000, unita_misura_variabile);
- }
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* fine per calcolare metri cubi a metri cubi */
- if(scelta_m_cubi_o_litri == 'l' || scelta_m_cubi_o_litri == 'L')
- {
- printf("Inserisci quale unit%c di misura vuoi ottenere: \n \n", 133);
- printf("4. Kilolitri (KL) \n");
- printf("5. Ettolitri (HL) \n");
- printf("6. Decalitri (daL) \n");
- printf("7. Litri (L) \n");
- printf("8. Decilitri (dL) \n");
- printf("9. Centilitri (cL) \n");
- printf("10. Millilitri (mL) \n \n");
- do
- {
- printf("Digita il numero di seguito: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if(risultato_unita_misura < 4 || risultato_unita_misura > 10)
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 4 a 10. \n");
- printf("Riprova. \n \n");
- }
- }
- while(risultato_unita_misura < 4 || risultato_unita_misura > 10);
- if((unita_misura_da_convertire == 1 && risultato_unita_misura == 4) || (unita_misura_da_convertire == 2 && risultato_unita_misura == 7) || (unita_misura_da_convertire == 3 && risultato_unita_misura == 10))
- {
- risultato_parte_num = parte_numerica;
- }
- if(unita_misura_da_convertire == 1)
- {
- unita_misura_variabile = risultato_unita_misura - 4;
- risultato_parte_num = parte_numerica * pow(10, unita_misura_variabile);
- }
- else
- if(unita_misura_da_convertire == 2)
- {
- unita_misura_variabile = risultato_unita_misura - 7;
- risultato_parte_num = parte_numerica * pow(10, unita_misura_variabile);
- }
- else
- if(unita_misura_da_convertire == 3)
- {
- unita_misura_variabile = risultato_unita_misura - 10;
- risultato_parte_num = parte_numerica * pow(10, unita_misura_variabile);
- }
- printf("La parte numerica risulta %.3f. \n \n");
- } /* termine if metri cubi a litri */
- } /* fine scelta dei metri cubi */
- if(scelta_scelta_3 == 2)
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Kilolitri (KL) \n");
- printf("2. Ettolitri (hL) \n");
- printf("3. Decalitri (DaL) \n");
- printf("4. Litri (L) \n");
- printf("5. Decilitri (dL) \n");
- printf("6. Centilitri (cL) \n");
- printf("7. Millilitri (mL) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 7) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- }
- while((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 7));
- do
- {
- printf("Ora puoi scegliere se convertirlo in m%c o tenerlo in litri. \n", 252);
- printf("Premi 'y' se vuoi passare ai m%c, oppure 'n' per tenere i litri. \n", 252);
- fflush(stdin);
- scanf("%c",&scelta_volume);
- if(scelta_volume != 'y' || scelta_volume != 'Y' && scelta_volume != 'n' || scelta_volume != 'N')
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire solo y, Y, n, N. \n");
- printf("Riprova. \n \n");
- }
- }
- while(scelta_volume != 'y' || scelta_volume != 'Y' && scelta_volume != 'n' || scelta_volume != 'N');
- if(scelta_volume == 'y' || scelta_volume == 'Y')
- {
- printf("Quale unit%c di misura vuoi ottenere? \n \n", 133);
- printf("8. Metri cubi (m%c) \n", 252);
- printf("9. Decimetri cubi (dm%c) \n", 252);
- printf("10. Centimetri cubi (cm%c) \n", 252);
- do
- {
- printf("Digita qui il numero corrispondente: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if(risultato_unita_misura < 8 || risultato_unita_misura > 10)
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire solo numeri da 1 a 4. \n");
- printf("Riprova. \n \n");
- }
- }
- while(risultato_unita_misura < 8 || risultato_unita_misura > 10);
- /* Calcolo volume - litri a metri cubi */
- if((unita_misura_da_convertire == 7 && risultato_unita_misura == 10) || (unita_misura_da_convertire == 4 && risultato_unita_misura == 9) || (unita_misura_da_convertire == 1 && risultato_unita_misura == 8))
- {
- risultato_parte_num = parte_numerica;
- }
- if(unita_misura_da_convertire == 1 && risultato_unita_misura == 9) /* se vuole convertire i kilolitri */
- {
- risultato_parte_num = parte_numerica * 1000;
- }
- else
- if(unita_misura_da_convertire == 1 && risultato_unita_misura == 10)
- {
- risultato_parte_num = parte_numerica * 1000000;
- } /* termine kilolitri */
- if(unita_misura_da_convertire == 2 && risultato_unita_misura == 8) /* se vuole convertire gli ettolitri */
- {
- risultato_parte_num = parte_numerica / 10;
- }
- else
- if(unita_misura_da_convertire == 2 && risultato_unita_misura == 9)
- {
- risultato_parte_num = parte_numerica * 100;
- }
- else
- if(unita_misura_da_convertire == 2 && risultato_unita_misura == 10)
- {
- risultato_parte_num = parte_numerica * 100000;
- } /* termine ettolitri */
- if(unita_misura_da_convertire == 3 && risultato_unita_misura == 8) /* se vuole convertire i decalitri */
- {
- risultato_parte_num = parte_numerica / 100;
- }
- else
- if(unita_misura_da_convertire == 3 && risultato_unita_misura == 9)
- {
- risultato_parte_num = parte_numerica * 10;
- }
- else
- if(unita_misura_da_convertire == 3 && risultato_unita_misura == 10)
- {
- risultato_parte_num = parte_numerica * 10000;
- } /* termine decalitri */
- if(unita_misura_da_convertire == 4 && risultato_unita_misura == 8) /* se vuole convertire i litri */
- {
- risultato_parte_num = parte_numerica / 1000;
- }
- else
- if(unita_misura_da_convertire == 4 && risultato_unita_misura == 10)
- {
- risultato_parte_num = parte_numerica * 1000;
- } /* termine litri */
- if(unita_misura_da_convertire == 5 && risultato_unita_misura == 8) /* se vuole convertire i decilitri */
- {
- risultato_parte_num = parte_numerica / 10000;
- }
- else
- if(unita_misura_da_convertire == 5 && risultato_unita_misura == 9)
- {
- risultato_parte_num = parte_numerica / 10;
- }
- else
- if(unita_misura_da_convertire == 5 && risultato_unita_misura == 10)
- {
- risultato_parte_num = parte_numerica * 100;
- } /* termine decilitri */
- if(unita_misura_da_convertire == 6 && risultato_unita_misura == 8) /* se vuole convertire i centilitri */
- {
- risultato_parte_num = parte_numerica / 100000;
- }
- else
- if(unita_misura_da_convertire == 6 && risultato_unita_misura == 9)
- {
- risultato_parte_num = parte_numerica / 100;
- }
- else
- if(unita_misura_da_convertire == 6 && risultato_unita_misura == 10)
- {
- risultato_parte_num = parte_numerica * 10;
- } /* termine centilitri */
- if(unita_misura_da_convertire == 7 && risultato_unita_misura == 8)
- {
- risultato_parte_num = parte_numerica / 1000000;
- }
- else
- if(unita_misura_da_convertire == 7 && risultato_unita_misura == 9)
- {
- risultato_parte_num = parte_numerica / 1000;
- } /* se vuole convertire i millilitri */
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* termine if calcolo litri a metri cubi */
- if(scelta_volume == 'n' || scelta_volume == 'N')
- {
- do
- {
- printf("Sempre seguendo la tabella di prima, digita l'unit%c di misura che vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if(unita_misura_da_convertire < 1 || unita_misura_da_convertire > 7 || risultato_unita_misura < 1 || risultato_unita_misura > 7)
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire solo numeri da 1 a 7. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura)
- {
- printf("Inserimento fallito. \n");
- printf("Le due unit%c di misura sono uguali. \n", 133);
- printf("Riprova. \n \n");
- }
- }
- while((unita_misura_da_convertire < 1 || unita_misura_da_convertire > 7 || risultato_unita_misura < 1 || risultato_unita_misura > 7) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo volume - litri a litri */
- if(unita_misura_da_convertire < risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è minore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è maggiore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- } /* fine if */
- if(unita_misura_da_convertire < risultato_unita_misura) /* se l'unità di misura inserita prima è minore rispetto a quella inserita dopo, moltiplicare il risultato */
- {
- risultato_parte_num = (parte_numerica * pow(10, unita_misura_variabile));
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* se l'unità di misura inserita prima è maggiore rispetto a quella inserita dopo, dividere il risultato */
- {
- risultato_parte_num = (parte_numerica / pow(10, unita_misura_variabile));
- }
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* termine if se vuole mantenere i litri */
- } /* termine if per usare i litri */
- } /* termine if del volume */
- if(scelta_iniziale == 4) /* inizio if se si sceglie di lavorare sulle superfici */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Kilometri quadrati (Km%c) \n", 253);
- printf("2. Ettari (ha) \n");
- printf("3. Ara (a) \n");
- printf("4. Metri quadrati (m%c) \n", 253);
- printf("5. Decimetri quadrati (dm%c) \n", 253);
- printf("6. Centimetri quadrati (cm%c) \n", 253);
- printf("7. Millimetri quadrati (mm%c) \n \n", 253);
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 7) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 7) || (risultato_unita_misura < 1) || (risultato_unita_misura > 7))
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 7. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- }
- while((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 7) || (risultato_unita_misura < 1) || (risultato_unita_misura > 7) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (superficie) */
- if(unita_misura_da_convertire < risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è minore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è maggiore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- } /* fine if */
- if(unita_misura_da_convertire < risultato_unita_misura) /* se l'unità di misura inserita prima è minore rispetto a quella inserita dopo, moltiplicare il risultato */
- {
- risultato_parte_num = (parte_numerica * pow(100, unita_misura_variabile));
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* se l'unità di misura inserita prima è maggiore rispetto a quella inserita dopo, dividere il risultato */
- {
- risultato_parte_num = (parte_numerica / pow(100, unita_misura_variabile));
- }
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* termine if della superficie */
- if(scelta_iniziale == 5) /* inizio if se si sceglie di lavorare sulla temperatura */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Celsius (%cC) \n", 248);
- printf("2. Kelvin (K) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 2) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 2) || (risultato_unita_misura < 1) || (risultato_unita_misura > 2))
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 2. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- }
- while((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 2) || (risultato_unita_misura < 1) || (risultato_unita_misura > 2) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (temperatura) */
- if(unita_misura_da_convertire == 1 && risultato_unita_misura == 2) /* calcolo da eseguire se si devono trovare i Kelvin */
- {
- risultato_parte_num = parte_numerica + 273.15;
- }
- else
- if(unita_misura_da_convertire == 2 && risultato_unita_misura == 1) /* calcolo da eseguire se si devono trovare i Celsius */
- {
- risultato_parte_num = parte_numerica - 273.15;
- }
- printf("La parte numerica risulta %.2f \n \n", risultato_parte_num);
- } /* termine if della temperatura */
- if(scelta_iniziale == 6) /* inizio if se si sceglie di lavorare sul tempo */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Secondi (s) \n");
- printf("2. Minuti (m) \n");
- printf("3. Ore (h) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 3) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 3) || (risultato_unita_misura < 1) || (risultato_unita_misura > 3))
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 3. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- }
- while((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 3) || (risultato_unita_misura < 1) || (risultato_unita_misura > 3) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (tempo) */
- if(unita_misura_da_convertire < risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è minore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è maggiore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- } /* fine if */
- if(unita_misura_da_convertire < risultato_unita_misura) /* se l'unità di misura inserita prima è minore rispetto a quella inserita dopo, moltiplicare il risultato */
- {
- risultato_parte_num = (parte_numerica / pow(60, unita_misura_variabile));
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* se l'unità di misura inserita prima è maggiore rispetto a quella inserita dopo, dividere il risultato */
- {
- risultato_parte_num = (parte_numerica * pow(60, unita_misura_variabile));
- }
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* termine if del tempo */
- if(scelta_iniziale == 7) /* inizio if se si sceglie di lavorare sulla memoria virtuale */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Terabyte (TB) \n");
- printf("2. Gigabyte (GB) \n");
- printf("3. Megabyte (MB) \n");
- printf("4. Kilobyte (KB) \n");
- printf("5. Byte (B) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 5) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 5) || (risultato_unita_misura < 1) || (unita_misura_da_convertire > 5))
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 6. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- }
- while(((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 5)) || (risultato_unita_misura < 1) || (unita_misura_da_convertire > 5) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (memoria virtuale) */
- if(unita_misura_da_convertire < risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è minore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = risultato_unita_misura - unita_misura_da_convertire;
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* cosa fare se il numero dell'unità indicata inizialmente è maggiore rispetto a quello indicato dopo */
- {
- unita_misura_variabile = unita_misura_da_convertire - risultato_unita_misura;
- } /* fine if */
- if(unita_misura_da_convertire < risultato_unita_misura) /* se l'unità di misura inserita prima è minore rispetto a quella inserita dopo, moltiplicare il risultato */
- {
- risultato_parte_num = (parte_numerica * pow(1024, unita_misura_variabile));
- } /* fine if */
- else
- if(unita_misura_da_convertire > risultato_unita_misura) /* se l'unità di misura inserita prima è maggiore rispetto a quella inserita dopo, dividere il risultato */
- {
- risultato_parte_num = (parte_numerica / pow(1024, unita_misura_variabile));
- }
- printf("La parte numerica risulta %.1f \n \n", risultato_parte_num);
- } /* termine if della memoria virtuale */
- if(scelta_iniziale == 8) /* inizio if se si sceglie di lavorare sulla velocità */
- {
- printf("Inserisci la misura indicandone l'unit%c: \n \n", 133);
- printf("1. Metri al secondo (m/s) \n", 248);
- printf("2. Kilometri all'ora (Km/h) \n \n");
- printf("Digita la parte numerica della misura: ");
- scanf("%f",&parte_numerica);
- fflush(stdin);
- printf("\n");
- do /* ripetere in caso sia errato l'inserimento (numero minore di 1 o maggiore di 2) */
- {
- printf("Seguendo la tabella di prima, digita il numero corrispondente all'unit%c di misura: ", 133);
- scanf("%i",&unita_misura_da_convertire);
- fflush(stdin);
- printf("\n");
- printf("Sempre seguendo la tabella precedente, indica quale misura vuoi ottenere: ");
- scanf("%i",&risultato_unita_misura);
- fflush(stdin);
- printf("\n");
- if((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 2) || (risultato_unita_misura < 1) || (risultato_unita_misura > 2))
- {
- printf("Inserimento fallito. \n");
- printf("Puoi inserire soltanto numeri da 1 a 2. \n");
- printf("Riprova. \n \n");
- }
- if(unita_misura_da_convertire == risultato_unita_misura) /* if per determinare se l'unità inserita per prima e quella inserita per seconda sono uguali */
- {
- printf("Inserimento fallito. \n");
- printf("Le due unita' da te inserite sono uguali. \n");
- printf("Riprova. \n \n");
- } /* termine if */
- }
- while((unita_misura_da_convertire < 1) || (unita_misura_da_convertire > 2) || (risultato_unita_misura < 1) || (risultato_unita_misura > 2) || (unita_misura_da_convertire == risultato_unita_misura));
- /* Calcolo (velocità) */
- if(unita_misura_da_convertire == 1 && risultato_unita_misura == 2) /* calcolo da eseguire se si devono trovare i km/h */
- {
- risultato_parte_num = parte_numerica * 3,6;
- }
- else
- if(unita_misura_da_convertire == 2 && risultato_unita_misura == 1) /* calcolo da eseguire se si devono trovare i m/s */
- {
- risultato_parte_num = parte_numerica / 3,6;
- }
- printf("La parte numerica risulta %.3f \n \n", risultato_parte_num);
- } /* termine if della velocità */
- /* Crediti del programma */
- printf("Developed by %cl%ck%c%c \n \n", 128, 152, 152, 126);
- /* Scelta se ripetere o terminare */
- printf("Vuoi ripetere il programma da 0? \n");
- printf("Premi 'Y' per s%c. \n", 141);
- printf("Qualsiasi altro tasto per uscire. ");
- fflush(stdin);
- scanf("%c",&scelta_ripetizione_totale);
- printf("\n");
- if(scelta_ripetizione_totale != 'y' || scelta_ripetizione_totale != 'Y')
- {
- printf("Hai deciso di terminare il programma. \n");
- printf("Buona giornata. \n \n");
- }
- } /* termine do per la ripetizione del programma */
- while(scelta_ripetizione_totale == 'y' || scelta_ripetizione_totale == 'Y');
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement