• Source
    1. /* package whatever; // don't place package name! */
    2.  
    3. import java.util.*;
    4. import java.lang.*;
    5. import java.io.*;
    6.  
    7. /* Name of the class has to be "Main" only if the class is public. */
    8. class Ideone
    9. {
    10. public static void main (String[] args) throws java.lang.Exception
    11. {
    12. #include <iostream> //cpp
    13. #include <stdio.h> //c
    14. #include <stdlib.h> //atoi
    15. #include <string.h> //atoi
    16. #include <stdbool.h>
    17. #include <conio.h>
    18. #include <math.h>
    19.  
    20.  
    21.  
    22. using namespace std; // Namenbereich festlegen
    23.  
    24. // Funktionsprototypen
    25.  
    26.  
    27. char * toleranzwerte(int a) {
    28. if (a == 1) {
    29. return "(Toleranz +/- 1%)";
    30. } else if (a == 2) {
    31. return "(Toleranz +/- 2%)";
    32. } else if (a == 5) {
    33. return "(Toleranz +/- 0.5%)";
    34. } else if (a == 6) {
    35. return "(Toleranz +/- 0.25%)";
    36. } else if (a == 7) {
    37. return "(Toleranz +/- 0.1%)";
    38. } else if (a == 10) {
    39. return "(Toleranz +/- 5%)";
    40. } else if (a == 11) {
    41. return "(Toleranz +/- 10%)";
    42. }
    43. }
    44.  
    45. // Hauptfunktion
    46. int main(void) // void nicht unbedingt nötig, kein Strichpunkt dahinter (ausnahme)
    47.  
    48. {
    49. const char * farben[21] = {"Schwarz", "Braun", "Rot", "Orange", "Gelb", "Gruen", "Blau", "Violett", "Grau", "Weiss", "Gold", "Silber","","","","","","","","", "Kein Ring"};
    50.  
    51. char ausfuehren ='j';
    52. char nausfuehren ='n';
    53. int anz_ringe;
    54. double wert;
    55.  
    56.  
    57. short int ring1 = -1;
    58. short int ring2 = -2;
    59. short int ring3 = -3;
    60. short int ring4 = -4;
    61. short int ring5 = -5;
    62. char antwort='n';
    63. int reihe;
    64. int a;
    65.  
    66.  
    67. cout << "Farbcode von Widerstaenden berechnen" << endl<<endl;
    68. cout << "0 = schwarz" << endl;
    69. cout << "1 = braun" << endl;
    70. cout << "2 = rot" << endl;
    71. cout << "3 = orange" << endl;
    72. cout << "4 = gelb" << endl;
    73. cout << "5 = gruen" << endl;
    74. cout << "6 = blau" << endl;
    75. cout << "7 = violett" << endl;
    76. cout << "8 = grau" << endl;
    77. cout << "9 = weiss" << endl;
    78. cout << "10 = gold" << endl;
    79. cout << "11 = silber" << endl;
    80. cout << "20 = kein Ring" << endl<<endl;
    81.  
    82. //Abfrage ob erneute Berechnung erfolgen soll am Schluss
    83. while(ausfuehren =='j') {
    84.  
    85. //Abfrage ob Eingabe der Ringe korrekt war
    86.  
    87.  
    88.  
    89.  
    90. //Abfrage Anzahl Ringe pro Widerstand
    91. do {
    92. cout << "Bitte geben Sie die Anzahl Farbringe ein (4 oder 5 Ringe): ";
    93. cin >> anz_ringe;
    94.  
    95. if (anz_ringe==4 || anz_ringe==5) {
    96. cout << "Sie haben die "<<anz_ringe<<"-er Reihe gewaehlt\n";
    97. } else
    98. cout <<"Bitte waehle eine korrekte Reihe!!!"<<endl<<endl;
    99.  
    100. } while (reihe ==4 || reihe ==5);
    101. //Abfrage ob Eingabe der Ringe korrekt war
    102.  
    103.  
    104.  
    105.  
    106.  
    107.  
    108.  
    109.  
    110. //Abfrage für 4 er Ring
    111. if (anz_ringe==4) {
    112.  
    113. do // Farbe Ring 1 im 4er Ring
    114. {
    115. do
    116. {
    117. cout <<"geben sie die Farbe des 1. Rings ein (0 bis 9): ";
    118. cin >> ring1;
    119. }while((ring1<0) || (ring1>9));
    120. cout << "Ist " << farben[ring1] << " korrekt? [y/n]: ";
    121. cin >> antwort;
    122. }while(antwort!='y' && antwort!='Y');
    123.  
    124. do //Farbe Ring 2 im 4er Ring
    125. {
    126. do
    127. {
    128. cout <<"geben sie die Farbe des 2. Rings ein (0 bis 9): ";
    129. cin >> ring2;
    130. }while((ring2<0) || (ring2>9));
    131. cout << "Ist " << farben[ring2] << " korrekt? [y/n]: ";
    132. cin >> antwort;
    133. }while(antwort!='y' && antwort!='Y');
    134.  
    135. do //Farbe Ring 3 im 4er Ring
    136. {
    137. do
    138. {
    139. cout <<"geben sie die Farbe des 3. Rings ein (0 bis 6 || 10 oder 11): ";
    140. cin >> ring3;
    141. }while((ring3<0) || (ring3>6) && (ring3!=10) && (ring3!=11));
    142. cout << "Ist " << farben[ring3] << " korrekt? [y/n]: ";
    143. cin >> antwort;
    144. }while(antwort!='y' && antwort!='Y');
    145.  
    146. do // Farbe Ring 4 im 4er Ring
    147. {
    148. do
    149. {
    150. cout <<"geben sie die Farbe des 4. Rings ein (0 bis 9): ";
    151. cin >> ring4;
    152. }while((ring4<0) || (ring4>9));
    153. cout << "Ist " << farben[ring4] << " korrekt? [y/n]: ";
    154. cin >> antwort;
    155. }while(antwort!='y' && antwort!='Y');
    156. }
    157. //Abfrage für 5 er Ring
    158. else if (anz_ringe==5)
    159. {
    160. do //Farbe Ring 1 im 5er Ring
    161. {
    162. do
    163. {
    164. cout <<"geben sie die Farbe des 1. Rings ein (0 bis 9): ";
    165. cin >> ring1;
    166. }while((ring1<0) || (ring1>9));
    167. cout << "Ist " << farben[ring1] << " korrekt? [y/n]: ";
    168. cin >> antwort;
    169. }while(antwort!='y' && antwort!='Y');
    170.  
    171. do //Farbe Ring2 im 5er Ring
    172. {
    173. do
    174. {
    175. cout <<"geben sie die Farbe des 2. Rings ein (0 bis 9): ";
    176. cin >> ring2;
    177. }while((ring2<0) || (ring2>9));
    178. cout << "Ist " << farben[ring2] << " korrekt? [y/n]: ";
    179. cin >> antwort;
    180. }while(antwort!='y' && antwort!='Y');
    181.  
    182. do //Farbe Ring3 im 5er Ring
    183. {
    184. do
    185. {
    186. cout <<"geben sie die Farbe des 3. Rings ein (0 bis 6 || 10 oder 11): ";
    187. cin >> ring3;
    188. }while((ring3<0) || (ring3>6) && (ring3!=10) && (ring3!=11));
    189. cout << "Ist " << farben[ring3] << " korrekt? [y/n]: ";
    190. cin >> antwort;
    191. }while(antwort!='y' && antwort!='Y');
    192.  
    193. do //Farbe Ring4 im 5er Ring
    194. {
    195. do
    196. {
    197. cout <<"geben sie die Farbe des 4. Rings ein (0 bis 9): ";
    198. cin >> ring4;
    199. }while((ring4<0) || (ring4>9));
    200. cout << "Ist " << farben[ring4] << " korrekt? [y/n]: ";
    201. cin >> antwort;
    202. }while(antwort!='y' && antwort!='Y');
    203.  
    204. do //Farbe Ring5 im 5er Ring
    205. {
    206. do
    207. {
    208. cout <<"geben sie die Farbe des 5. Rings ein (0 bis 9): ";
    209. cin >> ring5;
    210. }while((ring5<0) || (ring5>9));
    211. cout << "Ist " << farben[ring1] << " korrekt? [y/n]: ";
    212. cin >> antwort;
    213. }while(antwort!='y' && antwort!='Y');
    214.  
    215. }
    216. if (anz_ringe==4){
    217.  
    218. wert = (ring1*10+ring2)* pow(10,ring3);
    219. cout << wert <<toleranzwerte(ring3)<< endl;
    220. }
    221.  
    222. if (anz_ringe==5) {
    223. wert = ((ring1*10+ring2)+ring3)* pow(10, ring4);
    224. cout << wert <<toleranzwerte(ring5);
    225. }
    226.  
    227.  
    228.  
    229.  
    230.  
    231. }
    232.  
    233.  
    234.  
    235.  
    236.  
    237. //Eingabe ob erneute ausführung?
    238. cout << "Erneute Berechnung? (j/n) > ";
    239. cin >> ausfuehren;
    240.  
    241. }
    242.  
    243.  
    244.  
    245.  
    246. fflush(stdin);
    247. getchar();
    248.  
    249.  
    250.  
    251.  
    252.  
    253. }
    254.  
    255.  
    256.  
    257. // your code goes here
    258. }
    259. }