1. #include<stdio.h>
  2. #include<math.h>
  3. int main() {
  4. int a, z, zz, e, w, u;
  5. printf("Vielen Dank , dass du meinen Rechner benutzt. \nEr ist momentan noch in der Betaphase und kann deshalb noch nicht so viel. ");
  6. printf("\n\nWas moechtest du gerne rechnen ? (Waehle eine Zahl hinter den Optionen) ");
  7. printf("\n\n(1) Plus [+]");
  8. printf("\n(2) Minus [-]");
  9. printf("\n(3) Mal [*]");
  10. printf("\n(4) Geteilt [/]");
  11. printf("\n(5) Wurzel [Zeichen kommt noch]");
  12. printf("\n(6) Umrechnen [<->]");
  13. printf("\n\n\nDeine Auswahl --> ");
  14. scanf("%d", &a);
  15. switch (a) {
  16. case 1: // Plus
  17. printf("\n\nGib bitte die erste Zahl ein : ");
  18. scanf("%d", &z);
  19. printf("\nGib bitte die zweite Zahl ein : ");
  20. scanf("%d", &zz);
  21. e = z + zz;
  22. printf("\n-------------------------------");
  23. printf("\nDas Ergebnis betraegt : %d", e);
  24. printf("\n-------------------------------\n\n\n\n\n");
  25. break;
  26. case 2: // Minus
  27. printf("\n\nGib bitte die erste Zahl ein : ");
  28. scanf("%d", &z);
  29. printf("\nGib bitte die zweite Zahl ein : ");
  30. scanf("%d", &zz);
  31. e = z - zz;
  32. printf("\n-------------------------------");
  33. printf("\nDas Ergebnis betraegt : %d", e);
  34. printf("\n-------------------------------\n\n\n\n\n");
  35. break;
  36. case 3: // Mal
  37. printf("\n\nGib bitte die erste Zahl ein : ");
  38. scanf("%d", &z);
  39. printf("\nGib bitte die zweite Zahl ein : ");
  40. scanf("%d", &zz);
  41. e = z * zz;
  42. printf("\n-------------------------------");
  43. printf("\nDas Ergebnis betraegt : %d", e);
  44. printf("\n-------------------------------\n\n\n\n\n");
  45. break;
  46. case 4: // Geteilt
  47. printf("\n\nGib bitte die erste Zahl ein : ");
  48. scanf("%lf", &z);
  49. printf("\nGib bitte die zweite Zahl ein : ");
  50. scanf("%d", &zz);
  51. e = z / zz;
  52. printf("\n-------------------------------");
  53. printf("\nDas Ergebnis betraegt : %d", e);
  54. printf("\n-------------------------------\n\n\n\n\n");
  55. break;
  56. case 5: // Wurzel
  57. printf("\n\nBitte gib eine Zahl ein : ");
  58. scanf("%d", &w);
  59. e = w ;
  60. printf("\n-------------------------------");
  61. printf("\nDie Wurzel betraegt : %d", e);
  62. printf("\n-------------------------------\n\n\n\n\n");
  63. break;
  64. case 6: //Umrechnen
  65. printf("\nWas moechtest du umrechnen ? (Waehle eine Zahl hinter den Optionen) ");
  66. printf("\n\n(1) kg -> g ");
  67. printf("\n(2) kg -> mg ");
  68. printf("\n(3) g -> mg ");
  69. printf("\n(4) t -> kg ");
  70. printf("\n(5) t -> g ");
  71. printf("\n(6) t -> mg ");
  72. printf("\n\n\nDeine Auswahl : ");
  73. scanf("%d", &u);
  74. switch (u) {
  75. case 1: // kg - g
  76. printf("\nBitte gib eine Zahl ein (kg) : ");
  77. scanf("%d", &z);
  78. e = z * 1000;
  79. printf("\n-----------------------------------");
  80. printf("\nDas Ergebnis betraegt : %d g", e);
  81. printf("\n-----------------------------------\n\n\n\n\n");
  82. break;
  83. case 2: // kg -mg
  84. printf("\nBitte gib eine Zahl ein (kg) : ");
  85. scanf("%d", &z);
  86. e = z * 1000 * 1000;
  87. printf("\n-----------------------------------");
  88. printf("\nDas Ergebnis betraegt : %d mg", e);
  89. printf("\n-----------------------------------\n\n\n\n\n");
  90. case 3: // g - mg
  91. printf("\nBitte gib eine Zahl ein (g) : ");
  92. scanf("%d", &z);
  93. e = z * 1000;
  94. printf("\n-----------------------------------");
  95. printf("\nDas Ergebnis betraegt : %d mg", e);
  96. printf("\n-----------------------------------\n\n\n\n\n");
  97. break;
  98. case 4:
  99. printf("\nBitte gib eine Zahl ein (t) : ");
  100. scanf("%d", &z);
  101. e = z * 1000;
  102. printf("\n-----------------------------------");
  103. printf("\nDas Ergebnis betraegt : %d kg", e);
  104. printf("\n-----------------------------------\n\n\n\n\n");
  105. break;
  106. case 5:
  107. printf("\nBitte gib eine Zahl ein (t) : ");
  108. scanf("%d", &z);
  109. e = z * 1000 * 1000;
  110. printf("\n-----------------------------------");
  111. printf("\nDas Ergebnis betraegt : %d g ", e);
  112. printf("\n-----------------------------------\n\n\n\n\n");
  113. break;
  114. case 6:
  115. printf("\nBitte gib eine Zahl ein (t) : ");
  116. scanf("%d", &z);
  117. e = z * 1000 * 1000 * 1000;
  118. printf("\n-----------------------------------");
  119. printf("\nDas Ergebnis betraegt : %d mg", e);
  120. printf("\n-----------------------------------\n\n\n\n\n");
  121. break;
  122. }
  123. }
  124. system("pause");
  125. return 0;
  126. }

Ich Programmiere momentan einen Taschenrechner. Was muss ich ändern um auch mit Kommazahlen rechnen zu können (Ich weiß das double hilft dann funktioniert die switch-case anweisung nicht, ich habe es auch schon mit mit char und short probiert und natürlich auch &d in &lf geändert aber es funktioniert trotzdem nicht bei char die Warnung : |warning: format '%lf' expects argument of type 'double *', but argument 2 has type 'char *' [-Wformat]| ). und bei short : warning: format '%lf' expects argument of type 'double *', but argument 2 has type 'short int *' [-Wformat]|

Entweder Fehler oder ich bin Blöd ;)

Danke für die Hilfe