SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <stdio.h> | |
| 2 | #include <stdlib.h> | |
| 3 | ||
| 4 | int main() | |
| 5 | {
| |
| 6 | float *n; | |
| 7 | char *i; | |
| 8 | ||
| 9 | printf("Inserisci un numero float: ");
| |
| 10 | - | n=(float*)malloc(sizeof(float)); |
| 10 | + | n=(float*)malloc(sizeof(float)+(sizeof(char)*3)); |
| 11 | scanf("%f",n);
| |
| 12 | ||
| 13 | getchar(); | |
| 14 | printf("Inserisci un char: ");
| |
| 15 | - | i=(char*)malloc(sizeof(char)*3); |
| 15 | + | i=(char*)n+sizeof(float); |
| 16 | scanf("%s",&i[0]);
| |
| 17 | ||
| 18 | getchar(); | |
| 19 | printf("Inserisci un char: ");
| |
| 20 | scanf("%s",&i[1]);
| |
| 21 | ||
| 22 | i[2]=0; | |
| 23 | printf("\n%.2f %c\n",*n,i[0]);
| |
| 24 | ||
| 25 | if (i[0]=='c'||i[0]=='C') | |
| 26 | {
| |
| 27 | if (i[1]=='k'||i[1]=='K') | |
| 28 | *n=*n+273.15; | |
| 29 | else if(i[1]=='f'||i[1]=='F') | |
| 30 | *n=(*n*9/5)+32; | |
| 31 | else i[2]=1; | |
| 32 | } | |
| 33 | ||
| 34 | else if (i[0]=='k'||i[0]=='K') | |
| 35 | {
| |
| 36 | if (i[1]=='c'||i[1]=='C') | |
| 37 | *n=*n-273.15; | |
| 38 | else if(i[1]=='f'||i[1]=='F'){
| |
| 39 | *n=*n-273.15; | |
| 40 | *n=(*n*9/5)+32; | |
| 41 | } | |
| 42 | else i[2]=1; | |
| 43 | ||
| 44 | } | |
| 45 | ||
| 46 | else if (i[0]=='f'||i[0]=='F') | |
| 47 | {
| |
| 48 | if (i[1]=='c'||i[1]=='C') | |
| 49 | *n=(*n-32)*5/9; | |
| 50 | else if (i[1]=='k'||i[1]=='K'){
| |
| 51 | *n=(*n-32)*5/9; | |
| 52 | *n=*n+273.15; | |
| 53 | } | |
| 54 | else i[2]=1; | |
| 55 | ||
| 56 | } | |
| 57 | else i[2]=1; | |
| 58 | if (i[2]!=1) printf("\n%.2f %c\n",*n,i[1]);
| |
| 59 | else printf("\nErrore nei dati\n");
| |
| 60 | ||
| 61 | getchar(); | |
| 62 | printf("\nPremere un tasto per continuare ...");
| |
| 63 | getchar(); | |
| 64 | return 0; | |
| 65 | } |