You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.4 KiB

11 months ago
11 months ago
11 months ago
  1. #include <stdio.h>
  2. #include "temperatur.h"
  3. float CzuF(float tempC){
  4. return (tempC * 9/5) + 32;
  5. }
  6. float CzuK(float tempC){
  7. return tempC + 273.15;
  8. }
  9. float FzuC(float tempF){
  10. return (tempF - 32) * 5/9;
  11. }
  12. float FzuK(float tempF){
  13. return (tempF - 32) * 5/9 + 273.15;
  14. }
  15. float KzuC(float tempK){
  16. float tmp = tempK - 273.15;
  17. //Variable auf 2 Nachkommastellen begrenzen
  18. return ((int)(tmp * 100 + 0.5) / 100.0);
  19. }
  20. float KzuF(float tempK){
  21. float tmp = (tempK - 273.15) * 9/5 + 32;
  22. //Variable auf 2 Nachkommastellen begrenzen
  23. return ((int)(tmp * 100 + .5) / 100.0);
  24. }
  25. int run_TemperaturRechner(){
  26. float var1, var2;
  27. int var3;
  28. printf("\nTemperaturkonverter (Celsius, Fahrenheit, Kelvin)\nAchten Sie darauf, Kommazahlen mit einem Punkt anzugeben!\n\n");
  29. printf("Waehlen Sie: \n<1> Celsius zu Fahrenheit\n<2> Celsius zu Kelvin\n<3> Fahrenheit zu Celsius\n<4> Fahrenheit zu Kelvin\n<5> Kelvin zu Celsius\n<6> Kelvin zu Fahrenheit\n");
  30. scanf("%d", &var3);
  31. printf("\nGeben Sie die Temperatur ein: ");
  32. scanf("%f", &var1);
  33. switch(var3){
  34. case 1:
  35. var2 = CzuF(var1);
  36. break;
  37. case 2:
  38. var2 = CzuK(var1);
  39. break;
  40. case 3:
  41. var2 = FzuC(var1);
  42. break;
  43. case 4:
  44. var2 = FzuK(var1);
  45. break;
  46. case 5:
  47. var2 = KzuC(var1);
  48. break;
  49. case 6:
  50. var2 = KzuF(var1);
  51. break;
  52. }
  53. printf("\nErgebnis: %.2f\n", var2);
  54. return 0;
  55. }