Advertisement
Bukisoh

TD 9

Nov 27th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.19 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. char cchoix;
  7. int i,j;
  8. char ccolor;
  9. char ccolorcomp;
  10. float tab[6];
  11. int itab[6];
  12. char ctab[6][3];
  13.  
  14.    puts("Mode 1 = couleurs vers valeurs");
  15.    puts("Mode 2 = valeurs vers couleurs");
  16.    scanf("%c",&cchoix);
  17. switch(cchoix){
  18.    case'1':
  19.        for(i=0;i<5;i++){
  20.          printf("Entrer couleur de la bande n° %d \n",i);
  21.          scanf(" %c",&ccolor);
  22.            if(ccolor>95){ccolor=ccolor-32;}
  23.  
  24.  
  25.            if(ccolor=='V'||ccolor=='B'){
  26.                  puts("entrer la lettre suivante differente pour vert/violet = e/i ou pour blanc/bleu = a/e");
  27.                  scanf(" %c",&ccolorcomp);
  28.                  if(ccolorcomp>95){ccolorcomp=ccolorcomp-32;
  29.             }
  30.  
  31.               switch(ccolorcomp){
  32.                 case'E':
  33.                 if(ccolor=='V')ccolor='V';
  34.                 if(ccolor=='B')ccolor='B';
  35.                 break;
  36.  
  37.                 case'I':ccolor='I';
  38.                 break;
  39.  
  40.                 case'A':ccolor='A';
  41.                 break;
  42.  
  43.                 default:
  44.                     puts("Erreur de saisie, le programme va se fermer");
  45.                     return 0;
  46.                 break;
  47.  
  48.             }
  49.         }
  50.  
  51.          switch(ccolor){
  52.             case'N':
  53.                 if(i<=2)tab[i]=0;
  54.                 if(i==3)tab[i]=1;
  55.                 if(i==4)tab[i]=0;
  56.             break;
  57.             case'M':
  58.                 if(i<=2)tab[i]=1;
  59.                 if(i==3)tab[i]=10;
  60.                 if(i==4)tab[i]=1;
  61.             break;
  62.             case'R':
  63.                 if(i<=2)tab[i]=2;
  64.                 if(i==3)tab[i]=100;
  65.                 if(i==4)tab[i]=2;
  66.             break;
  67.             case'O':
  68.                 if(i<=2)tab[i]=3;
  69.                 if(i==3)tab[i]=1000;
  70.                 if(i==4)tab[i]=0;
  71.             break;
  72.             case'J':
  73.                 if(i<=2)tab[i]=4;
  74.                 if(i==3)tab[i]=10000;
  75.                 if(i==4)tab[i]=0;
  76.             break;
  77.             case'V':
  78.                 if(i<=2)tab[i]=5;
  79.                 if(i==3)tab[i]=100000;
  80.                 if(i==4)tab[i]=0.5;
  81.             break;
  82.             case'B':
  83.                 if(i<=2)tab[i]=6;
  84.                 if(i==3)tab[i]=1000000;
  85.                 if(i==4)tab[i]=0.25;
  86.             break;
  87.             case'I':
  88.                 if(i<=2)tab[i]=7;
  89.                 if(i==3)tab[i]=10000000;
  90.                 if(i==4)tab[i]=0.1;
  91.             break;
  92.             case'G':
  93.                 if(i<=2)tab[i]=8;
  94.                 if(i==3)tab[i]=100000000;
  95.                 if(i==4)tab[i]=0.05;
  96.             break;
  97.             case'A':
  98.                 if(i<=2)tab[i]=9;
  99.                 if(i==3)tab[i]=1000000000;
  100.                 if(i==4)tab[i]=0;
  101.             break;
  102.             default:
  103.                     puts("Erreur de saisie, le programme va se fermer");
  104.                     return 0;
  105.                 break;
  106.             }
  107.     }
  108.                     tab[5]=(tab[0]*100+tab[1]*10+tab[2])*tab[3];
  109.                     tab[5]=tab[5]*(1-(tab[4]/100));
  110.  
  111.                     tab[6]=(tab[0]*100+tab[1]*10+tab[2])*tab[3];
  112.                     tab[6]=tab[6]/(1-(tab[4]/100));
  113.                     printf("la resistance est %g%g%g * %g ohm tolerance= %.2f %%,[%g;%g]",tab[0],tab[1],tab[2],tab[3],tab[4],tab[5],tab[6]);
  114.                     return 0;
  115.         break;
  116.         case'2':
  117.             puts("Rentrer la valeur de la resistance");
  118.             scanf(" %d",&itab[5]);
  119.             puts("Rentrer la puissance du coef multiplicateur");
  120.             scanf(" %d",&itab[3]);
  121.             puts("Rentrer la valeur de la tolerance en %");
  122.             scanf(" %f",&tab[4]);
  123.            itab[4]=tab[4]*100;
  124.             switch(itab[4]){
  125.                 case 100:ctab[4][0]='M';ctab[4][1]='a';ctab[4][2]='r';
  126.                 break;
  127.                 case 200:ctab[4][0]='R';ctab[4][1]='o';ctab[4][2]='u';
  128.                 break;
  129.                 case 50:ctab[4][0]='V';ctab[4][1]='e';ctab[4][2]='r';
  130.                 break;
  131.                 case 25:ctab[4][0]='B';ctab[4][1]='l';ctab[4][2]='e';
  132.                 break;
  133.                 case 10:ctab[4][0]='V';ctab[4][1]='i';ctab[4][2]='o';
  134.                 break;
  135.                 case 5:ctab[4][0]='G';ctab[4][1]='r';ctab[4][2]='i';
  136.                 break;
  137.                 default:
  138.                     puts("Erreur de saisie, le programme va se fermer");
  139.                     return 0;
  140.                 break;
  141.             }
  142.             itab[0]=(itab[5]-(itab[5]%100))/100;
  143.             itab[1]=(itab[5]%100-itab[5]%10)/10;
  144.             itab[2]=itab[5]%10;
  145.  
  146.  
  147.  
  148.             for(j=0;j<=3;j++){
  149.  
  150.                switch(itab[j]){
  151.                      case 0:ctab[j][0]='N';ctab[j][1]='o';ctab[j][2]='i';
  152.                     break;
  153.                      case 1:ctab[j][0]='M';ctab[j][1]='a';ctab[j][2]='r';
  154.                     break;
  155.                      case 2:ctab[j][0]='R';ctab[j][1]='o';ctab[j][2]='u';
  156.                     break;
  157.                      case 3:ctab[j][0]='O';ctab[j][1]='r';ctab[j][2]='a';
  158.                     break;
  159.                      case 4:ctab[j][0]='J';ctab[j][1]='a';ctab[j][2]='u';
  160.                     break;
  161.                      case 5:ctab[j][0]='V';ctab[j][1]='e';ctab[j][2]='r';
  162.                     break;
  163.                      case 6:ctab[j][0]='B';ctab[j][1]='l';ctab[j][2]='e';
  164.                     break;
  165.                      case 7:ctab[j][0]='V';ctab[j][1]='i';ctab[j][2]='o';
  166.                     break;
  167.                      case 8:ctab[j][0]='G';ctab[j][1]='r';ctab[j][2]='i';
  168.                     break;
  169.                      case 9:ctab[j][0]='B';ctab[j][1]='l';ctab[j][2]='a';
  170.                     break;
  171.                      default:
  172.                          puts("Erreur de saisie, le programme va se fermer");
  173.                          return 0;
  174.                      break;
  175.                }
  176.  
  177.             }
  178.  
  179.         printf("%c%c%c %c%c%c %c%c%c %c%c%c %c%c%c",ctab[0][0],ctab[0][1],ctab[0][2],ctab[1][0],ctab[1][1],ctab[1][2],ctab[2][0],ctab[2][1],ctab[2][2],ctab[3][0],ctab[3][1],ctab[3][2],ctab[4][0],ctab[4][1],ctab[4][2]);
  180.         return 0;
  181.         break;
  182.  
  183.         default:
  184.                 puts("Erreur de saisie, le programme va se fermer");
  185.                 return 0;
  186.         break;
  187. }
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement