Advertisement
Duhan

Untitled

Nov 29th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.38 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int read_e(int eReihe) {
  5.     printf("Bitte geben Sie eine gueltige E-Reihe an: ");
  6.     scanf("%d", &eReihe);
  7.     while (eReihe != 6 && eReihe != 12 && eReihe != 24 && eReihe != 48 && eReihe != 96 && eReihe != 192) {
  8.         printf("\nDie eingegebene E Reihe existiert nicht\nBitte geben Sie eine guelttige E-Reihe an: ");
  9.         scanf("%d", &eReihe);
  10.     }
  11.     return eReihe;
  12. }
  13.  
  14.  
  15.  
  16. int read_d(int Dekade) {
  17.     printf("\nGeben Sie ein gueltigen Dekadenfaktor ein: ");
  18.     scanf("%d", &Dekade);
  19.     while (Dekade != 0 && Dekade != 1 && Dekade != 2) {
  20.         printf("\nDer eingegebene Dekadenfaktor existiert nicht\nBitte geben Sie einen guelttigen Dekadenfaktor an: ");
  21.         scanf("%d", &Dekade);
  22.     }
  23.     return Dekade;
  24. }
  25.  
  26. double tolerance(int n) {
  27.  
  28. double R;
  29.  
  30. switch (n) {
  31.  
  32.     case 6:
  33.         R = 20;
  34.         break;     
  35.     case 12:
  36.         R = 10;
  37.         break;
  38.     case 24:
  39.         R = 5;
  40.         break;
  41.     case 48:
  42.         R = 2;
  43.         break;
  44.     case 96:
  45.         R = 1;
  46.         break;
  47.     case 192:
  48.         R = 0.5;
  49.         break;
  50.     }
  51. return R;
  52. }
  53.  
  54.  
  55. double Berechnung() {
  56.     int n, E, D, i, m;
  57.    
  58.     n = read_e(E);
  59.     m = read_d(D);
  60.     i = n - 1;
  61.  
  62.     double arr[i][3];
  63.  
  64.     double R = tolerance(n);
  65.  
  66.     printf("+-----------------------------------------------------------------------+\n");
  67.     printf("|\t\t\t   Widerstandsreihe E - %d   \t\t\t|\n", n);
  68.     printf("+-----------------------------------------------------------------------+\n");
  69.     printf("|\t- %.0f%%\t\t|\t    R    \t|\t+ %.0f%%\t\t|\n", R, R);
  70.     printf("+-----------------------------------------------------------------------+\n");
  71.     for (i = 0; i < 24; i++) {
  72.         arr[i][1] = (pow(pow(10.0, 1.0 / n), i)) * (pow(10.0, m));
  73.         arr[i][2] = arr[i][1] + arr[i][1] * (R / 100);
  74.         arr[i][0] = arr[i][1] - arr[i][1] * (R / 100);
  75.         printf("|\t%.5f   \t|\t%.5f   \t|\t%.5f   \t|\n", arr[i][0], arr[i][1], arr[i][2]);
  76.     }
  77.     printf("+-----------------------------------------------------------------------+\n");
  78. }
  79.  
  80.  
  81. int main(void) {
  82.  
  83.     char response;
  84.  
  85.     printf("\nGuetlgie E Reihen: E6, E12, E24, E48, E96, E192\n");
  86.     printf("------------------------------------------------------------------\n");
  87.     printf("Gueltige Dekanfaktoren: 0 fuer 1-10, 1 fuer 10-100, 2 fer 100-1000\n");
  88.     printf("------------------------------------------------------------------\n");
  89.  
  90.     do {
  91.         Berechnung();
  92.         while (getchar() != '\n');
  93.         printf("Erneute Berechnung? (j)/(n)\n");
  94.         scanf("%ch", &response);
  95.     } while (response == 'j');
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement