Advertisement
Guest User

funcao1 corrigida

a guest
Mar 29th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.08 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define N 24
  4.  
  5. void imprime(char n[], char a, char t[]){
  6.         if(strcmp(n,"SI")==0){
  7.             printf("%s %c %s",n,a,t);
  8.             printf("-> B %c %s\n", a,t);
  9.         }
  10.         else if(strcmp (n,"LA")==0){
  11.             printf("%s %c %s",n,a,t);
  12.             printf("-> A %c %s\n", a,t);
  13.         }
  14.         else if(strcmp(n,"DO")==0){
  15.             printf("%s %c %s",n,a,t);
  16.             printf("-> C %c %s\n", a,t);
  17.         }
  18.         else if(strcmp(n,"RE")==0){
  19.             printf("%s %c %s",n,a,t);
  20.             printf("-> D %c %s\n", a,t);
  21.         }
  22.         else if(strcmp(n,"MI")==0){
  23.             printf("%s %c %s",n,a,t);
  24.             printf("-> E %c %s\n", a,t);
  25.         }
  26.         else if(strcmp(n,"FA")==0){
  27.             printf("%s %c %s",n,a,t);
  28.             printf("-> F %c %s\n", a,t);
  29.         }
  30.         else if(strcmp(n,"SOL")==0){
  31.             printf("%s %c %s",n,a,t);
  32.             printf("-> G %c %s\n", a,t);
  33.         }
  34.         else if(strcmp(n,"UNICO")==0)
  35.             printf("%s\n", n);
  36. }
  37.  
  38. void funcao1(char n[], char a, char t[]){
  39.         if(strcmp (n,"LA")==0){
  40.             if(a=='b')
  41.                 imprime("SOL",'#',t);
  42.             if(a=='-')
  43.                 imprime("UNICO",a,t);
  44.             if(a=='#')
  45.                 imprime("SI",'b',t);
  46.         }
  47.         else if(strcmp(n,"SI")==0){
  48.             if(a=='b')
  49.                 imprime("LA",'#',t);
  50.             if(a=='-')
  51.                 imprime("UNICO",a,t);
  52.         }
  53.         else if(strcmp(n,"DO")==0){
  54.             if(a=='-')
  55.                 imprime("UNICO",a,t);
  56.             if(a=='#')
  57.                 imprime("RE",'b',t);
  58.         }
  59.         else if(strcmp(n,"RE")==0){
  60.             if(a=='b')
  61.                 imprime("DO",'#',t);
  62.             if(a=='-')
  63.                 imprime("UNICO",a,t);
  64.             if(a=='#')
  65.                 imprime("MI",'b',t);
  66.         }
  67.         else if(strcmp(n,"MI")==0){
  68.             if(a=='b')
  69.                 imprime("RE",'#',t);
  70.             if(a=='-')
  71.                 imprime("UNICO",a,t);
  72.         }
  73.         else if(strcmp(n,"FA")==0){
  74.             if(a=='-')
  75.                 imprime("UNICO",a,t);
  76.             if(a=='#')
  77.                 imprime("SOL",'b',t);
  78.         }
  79.         else if(strcmp(n,"SOL")==0){
  80.             if(a=='b')
  81.                 imprime("FA",'#',t);
  82.             if(a=='-')
  83.                 imprime("UNICO",a,t);
  84.             if(a=='#')
  85.                 imprime("LA",'b',t);
  86.         }
  87.         else printf("PARÂMETROS FORA DE ESPECIFICAÇÃO\n");
  88. }
  89.  
  90.  
  91.  
  92. int main(){
  93.     int i=0;
  94.     char nota[3];
  95.     char acidente;
  96.     char tonalidade[6];
  97.     while(i<N){
  98.         scanf("%s",nota); /*supoem-se que o usuario digite a nota em maiusculo*/
  99.         if(strcmp (nota,"FIM")!=0){
  100.                 scanf("%c",&acidente); /*supem-se que o usuario digite "-" quando nao houver acidente*/
  101.                 if(acidente == ' ')
  102.                     scanf("%c",&acidente);
  103.                 scanf("%s",tonalidade);
  104.                 funcao1(nota,acidente,tonalidade);
  105.                 i++;
  106.         }
  107.         else break;
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement