Advertisement
tauanbinato

Chama_Func

Jun 10th, 2016
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.01 KB | None | 0 0
  1. void chama_menu_switch(Fila **f, int n){
  2.    
  3.     char s[3];
  4.     char confi , c1,c2;
  5.     int i,y,x,a,z,ok;
  6.     double r;
  7.     a = 0;
  8.     for(i = 0; z != 11 ; i++) { // inicio for
  9.        
  10.     printf("|*|Comandos Menu 1.0|*|\n1 - Criar nova coluna\n2 - Deletar uma coluna\n3 - Inserir receita em coluna\n4 - Remover receita em coluna\n5 - Visualizar lista de colunas\n6 - Remover despesa em coluna\n7 - Inserir despesa em coluna\n8 - Visualiza despesas em uma coluna\n9 - Visualiza receitas em uma coluna\n10 - Calcular lucro bruto\n11 - Sair\n");
  11.         do {
  12.             scanf(" %2[^\n]s", s);
  13.            
  14.             ok =0;
  15.             for (i=0;i<strlen(s);i++){
  16.                 if (s[i] >= 48 && s[i] <= 57) {
  17.                     ok = 1;
  18.                 }
  19.             }
  20.         } while (!ok);
  21.        
  22.         c1 = s[0];
  23.         c2 = s[1];
  24.         switch (c1) {
  25.                 case '1':
  26.                 z = 1;
  27.                 if (s[1] != 0) {  // caso a string tenha o segundo valor
  28.                     switch (c2) {
  29.                         case '0':
  30.                             z = 10;
  31.                             break;
  32.                            
  33.                         case '1':
  34.                             z = 11;
  35.                             break;
  36.                            
  37.                         case '2':
  38.                             z =12;
  39.                             break;
  40.                            
  41.                         case '3':
  42.                             z = 13;
  43.                             break;
  44.                            
  45.                         case '4':
  46.                             z = 14;
  47.                             break;
  48.                            
  49.                         case '5':
  50.                             z = 15;
  51.                             break;
  52.                            
  53.                         case '6':
  54.                             z = 16;
  55.                             break;
  56.                            
  57.                         case '7':
  58.                             z = 17;
  59.                             break;
  60.                            
  61.                         case '8':
  62.                             z = 18;
  63.                             break;
  64.                            
  65.                         case '9':
  66.                             z = 19;
  67.                             break;
  68.                            
  69.                         default:
  70.                             z = 0;
  71.                             break;
  72.                     }
  73.                }
  74.                 break;
  75.                
  76.                 case '2':
  77.                 z =2;
  78.                 break;
  79.                
  80.                 case '3':
  81.                 z = 3;
  82.                 break;
  83.                
  84.                 case '4':
  85.                 z = 4;
  86.                 break;
  87.                
  88.                 case '5':
  89.                 z = 5;
  90.                 break;
  91.                
  92.                 case '6':
  93.                 z = 6;
  94.                 break;
  95.                
  96.                 case '7':
  97.                 z = 7;
  98.                 break;
  99.                
  100.                 case '8':
  101.                 z = 8;
  102.                 break;
  103.                
  104.                 case '9':
  105.                 z = 9;
  106.                 break;
  107.                
  108.             default:
  109.                 z = 0;
  110.                 break;
  111.         }
  112.        
  113.     switch (z) {
  114.            
  115.         case 1 :
  116.            
  117.             if (a >= MAX) {
  118.                 printf("Muitas colunas, delete uma para criar uma nova.\n");
  119.                 break;
  120.             }
  121.            
  122.             f[a] = fila_cria();
  123.             printf("- %s - Criada com sucesso!\n\n",f[a]->nome);
  124.             a++;
  125.             break;
  126.            
  127.         case 2:
  128.             if (testa_vetor_ponteiro_vazio(f)) {
  129.                 printf("Não existe nenhuma coluna cadastrada.\n");
  130.                 break;
  131.             }
  132.             printf("Selecione o numero da coluna que deseja destruir por completo:\n");
  133.             exibe_nome_fila(f,n);
  134.             scanf(" %d",&x);
  135.             if(testa_se_existe_em_vetor(f,x)){
  136.             printf("Tem certeza que deseja deletar %s por completo?[Y/N]\n",f[x]->nome);
  137.             scanf(" %c[y-Y n-N]",&confi);
  138.             if ((confi == 'y') || (confi == 'Y')) {
  139.             fila_destroi(f[x]);
  140.             reorganiza_vetor(f,x);
  141.             a--;
  142.                 break;
  143.                 }
  144.             else if (confi == 'n' || confi == 'N'){
  145.                 printf("\nVoltando ao menu.\n\n");
  146.                 break;
  147.             }
  148.             }else{
  149.                 printf("\nColuna não identificada, voltando ao menu..\n\n");
  150.                 break;
  151.             }
  152.            
  153.         case 3:
  154.             if (testa_vetor_ponteiro_vazio(f)) {
  155.                 printf("Não existe nenhuma coluna cadastrada.\n");
  156.                 break;
  157.             }
  158.             printf("Selecione em qual coluna deseja inserir uma receita:\n");
  159.             exibe_nome_fila(f, n);
  160.             scanf(" %d",&y);
  161.             if(testa_se_existe_em_vetor(f,y)){
  162.             printf("Selecione um valor:\n");
  163.             double h;
  164.             scanf("%lf",&h);
  165.             fila_insere(f[y],h);
  166.             break;
  167.             }else{
  168.                 printf("\nColuna não identificada, voltando ao menu.\n\n");
  169.                 break;
  170.             }
  171.            
  172.         case 4:
  173.             if (testa_vetor_ponteiro_vazio(f)) {
  174.                 printf("Não existe nenhuma coluna cadastrada.\n");
  175.                 break;
  176.             }
  177.             printf("Selecione em qual coluna deseja remover uma receita:\n");
  178.             exibe_nome_fila(f, n);
  179.             scanf(" %d",&y);
  180.             fila_exibe(f[y]);
  181.             printf("Tem certeza que deseja remover o primeiro valor?[Y/N]\n");
  182.             scanf(" %c[y-Y n-N]",&confi);
  183.             if (confi == 'y' || confi == 'Y') {
  184.                 fila_pop(f[y], &r);
  185.                 break;
  186.             } else if (confi == 'n' || confi == 'N'){
  187.                 printf("\n..voltando ao menu\n");
  188.                 break;
  189.             }else{
  190.                 printf("\n..letra invalida , voltando ao menu.\n\n");
  191.                 break;
  192.             }
  193.            
  194.             break;
  195.            
  196.         case 5:
  197.             if (testa_vetor_ponteiro_vazio(f)) {
  198.                 printf("Não existe nenhuma coluna cadastrada.\n");
  199.                 break;
  200.             }
  201.             printf("\n- Lista de colunas criadas:\n");
  202.             exibe_nome_fila(f, n);
  203.             printf("\n");
  204.             break;
  205.            
  206.         case 6:
  207.             if (testa_vetor_ponteiro_vazio(f)) {
  208.                 printf("Não existe nenhuma coluna cadastrada.\n");
  209.                 break;
  210.             }
  211.             printf("Selecione em qual coluna deseja remover uma despesa:\n");
  212.             exibe_nome_fila(f, n);
  213.             scanf(" %d",&y);
  214.             fila_exibe_despesa(f[y]);
  215.             printf("Tem certeza que deseja remover o primeiro valor?[Y/N]\n");
  216.             scanf(" %c[y-Y n-N]",&confi);
  217.             if (confi == 'y' || confi == 'Y') {
  218.                 fila_pop_despesa(f[y], &r);
  219.                 printf("\nRemovido com sucesso!\n\n");
  220.                 break;
  221.             } else if (confi == 'n' || confi == 'N'){
  222.                 printf("\n..voltando ao menu\n");
  223.                 break;
  224.             }else{
  225.                 printf("\n..letra invalida, voltando ao menu.\n\n");
  226.                 break;
  227.             }
  228.            
  229.             break;
  230.            
  231.         case 7:
  232.             if (testa_vetor_ponteiro_vazio(f)) {
  233.                 printf("Não existe nenhuma coluna cadastrada.\n");
  234.                 break;
  235.             }
  236.             printf("Selecione em qual coluna deseja inserir um valor de despesa:\n");
  237.             exibe_nome_fila(f, n);
  238.             scanf(" %d",&y);
  239.             if(testa_se_existe_em_vetor(f,y)){
  240.                 printf("Selecione um valor:\n");
  241.                 double h;
  242.                 scanf("%lf",&h);
  243.                 fila_insere_dispesa(f[y],h);
  244.                 printf("\n");
  245.                 break;
  246.             }else{
  247.                 printf("\nColuna não identificada, voltando ao menu.\n\n");
  248.                 printf("\n");
  249.                 break;
  250.             }
  251.            
  252.             break;
  253.            
  254.         case 8:
  255.             if (testa_vetor_ponteiro_vazio(f)) {
  256.                 printf("Não existe nenhuma coluna cadastrada.\n");
  257.                 break;
  258.             }
  259.             printf("\n- Escolha uma coluna para visualizar suas despesas:\n");
  260.             exibe_nome_fila(f, n);
  261.             scanf(" %d",&y);
  262.             if(testa_se_existe_em_vetor(f,y)){
  263.                
  264.                 fila_exibe_despesa(f[y]);
  265.             }
  266.             printf("\n");
  267.             break;
  268.            
  269.         case 9 :
  270.             if (testa_vetor_ponteiro_vazio(f)) {
  271.                 printf("Não existe nenhuma coluna cadastrada.\n");
  272.                 break;
  273.             }
  274.             printf("\n- Escolha uma coluna para visualizar suas receitas:\n");
  275.             exibe_nome_fila(f, n);
  276.             scanf(" %d",&y);
  277.             if(testa_se_existe_em_vetor(f,y)){
  278.                
  279.                 fila_exibe(f[y]);
  280.             }
  281.             printf("\n");
  282.             break;
  283.            
  284.         case 10:
  285.             if (testa_vetor_ponteiro_vazio(f)) {
  286.                 printf("Não existe nenhuma coluna cadastrada.\n");
  287.                 break;
  288.             }
  289.             printf("\n- Escolha uma coluna para calcular o lucro baseado nas receitas e despesas:\n");
  290.             exibe_nome_fila(f, n);
  291.             scanf(" %d",&y);
  292.             if(testa_se_existe_em_vetor(f,y)){
  293.                
  294.                 fila_exibe_lucro(f[y]);
  295.             }
  296.             break;
  297.            
  298.         case 11:
  299.             printf("\n..Programa Finalizado.\n");
  300.             printf("\n");
  301.             break;
  302.            
  303.         default:
  304.  
  305.             printf("Opcao invalida, tente novamente:\n");
  306.             break;
  307.            
  308.     }
  309.     } // fim for
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement