/* atk i - harjoitus 3 teht. 4 */ main() { double t, cels, fahr, kelv; char unit; int ok = 1; /* ok asetetaan nollaksi (epätodeksi) jos muunnosta ei voitu tehdä */ printf("Anna lämpötila ja yksikkö (C, F tai K), ja muutan sen kaikki em. yksiköihin!\n"); /* kätevintä on lukea lämpötila ja sen yksikkö yhtäaikaa */ scanf("%lf%c", &t, &unit); /* valinta tehdään yksikön mukaan: */ switch (unit) { case 'C': /* yksikkö oli celsius */ cels = t; fahr = 9 * cels / 5 + 32; kelv = cels - 273.15; break; case 'F': /* annettiin fahrenheitteina */ fahr = t; cels = 5 * (fahr - 32) / 9; kelv = cels - 273.15; break; case 'K': /* oli kelvineitä */ kelv = t; cels = kelv + 273.15; fahr = 9 * cels / 5 + 32; break; default: /* jotain meni pieleen yksikössä */ printf("Urpo, ei ole yksikköä %c!\n", unit); ok = 0; } /* ok on asetettu epätodeksi, jos käyttäjä tyri. Tulostetaan muussa tapauksessa */ if (ok) printf("%lf C = %lf F = %lf K\n", cels, fahr, kelv); }