Ir ao conteúdo
  • Cadastre-se

Ajuda diagrama de blocos e codigo "C"


willyrios87

Posts recomendados

Fazer o diagrama de blocos e o código "C" equivalente de um programa que possua uma matriz 4x4 contendo apenas números 8, e que imprima na tela

a seguinte forma.

8 8 8 8

8 8

8 8

8 8 8 8

Como não fica correto a ordem dos 8, a segunda e a terceira linha os numeros tem que ficar embaixo do segundo e terceiro 8

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

precisando de ajuda para  fazer melhorias e diagrama de blocos deste programa

 

 

 

#include <stdio.h>
#include <stdlib.h>


void linha (int);
float circulo(float dia)  //função que calcula a área do círculo
      {float r, area, PI;
      PI=3.14159265;
      r = dia/2;
      area = PI*r*r;
      return(area);}

float losango(float D1,float D2) //função que calcula a area do losango
      {float area;
      area=(D1*D2)/2;
      return(area);}

float paralelogramo(float alt, float base)    // função que calcula a area do paralelogramo
      {float area;
      area=base*alt;
      return(area);}
     
float trapezio(float B_maior, float b_menor,float alt)  //função que calcula a area do trapézio
      {float area;
      area=((B_maior+b_menor)/2)*alt;
      return(area);}

float tri_equi(float A, float B, float C)           //função que calcula a area do triangulo equilatero
      {float area;
      area= ((A*A)/4)*1.732050808;
      return (area);}
       
float tri(float A, float B, float C)          //função que calcula a area do triangulo
      {float area;
      area=(B*A)/2;
      return(area);}

float esf(float dia)                     //função que calcula o volume da esfera
      {float r, vol;
      r=dia/2;
      vol=((4*3.14159265)/3)*r*r*r;
      return (vol);}
      
float cone(float dia, float alt)           //função que calcula o volume do cone
      {float r, vol;
      r=dia/2;
      vol=(3.14159265/3)*r*r*alt;
      return(vol);}
      
float cilindro(float dia, float alt)       //função que calcula o volume do cilindro
      {float r, vol;
      r=dia/2;
      vol=3.14159265*r*r*alt;
      return(vol);}

float paral(float comp, float larg, float alt)          //função que calcula o volume do paralelepípedo
      {float vol;
      vol=comp*larg*alt;
      return(vol);}

float m_j(float num)                    //função que converte metros para jardas
      {float total;
      total= num*1.09361;
      return (total);}
                   
float j_m(float num)                    //função que converte jardas para metros
      {float total;
      total= num/1.09361;
      return(total);}

float cmcub_polcub(float num)         //função que converte cent. cub. para pol cub
      {float total;
      total=num/16.387064;  
      return(total);}

float polcub_cmcub(float num)        //função que converte pol cub. para cent. cub
      {float total;
      total= num*16.387064;
      return(total);}

float l_gl(float num)              //função que converte litros em galoes
      {float total;
      total= num*0.2642;
      return(total);}

float gl_l(float num)              //função que converte galoes em litros
      {float total;
      total= num/0.2642;
      return(total);}

float kg_lib(float num)           //função que converte quilos em libras
      {float total;
      total= num*2.20462262;
      return(total);}

float lib_kg(float num)         //função que converte libras em quilos
      {float total;
      total= num/2.20462262;
      return(total);}     
      
float resp=1;      
      
      
main()
{
      int opcao;
      
            do{        //primeiro looping
                                  //menu principal
      printf("\n");
      puts  ("\n\t\xDB********** P R O G R A M A   DE   MEDIDAS **********\xDB");
      printf("\n\n \tEscolha a op%c%co desejada e em seguida tecle <ENTER>\n\n",135,198);                    
      
      printf("\n\t 1 - Calcular %crea de figuras planas.\n",160);
      printf("\t 2 - Calcular volume de s%clidos geom%ctricos.\n",162,130);
      printf("\t 3 - Convers%co de medidas.\n",198);
      puts("\t 4 - Sair");
      printf("\n\n\t D%cvidas?????\n\n",163);
      puts("\t 5 - Manual");
      printf("\n\t\t\t\tOp%c%co: ",135,198);
      scanf ("%d", &opcao);
      
      
      fflush(stdin);          //limpa o buffer do teclado
      system("cls");          //limpa a tela
      
      switch (opcao)          //escolha
      {
                     
                case 1:
                do            //segundo looping
                {
                        //submenu 1
            printf("\n");
            printf  ("\n\t\t\xDB********** %cREA DE FIGURAS PLANAS **********\xDB",181);     
           
            printf("\n\tEscolha a op%c%co desejada:\n",135,198);
            printf("\n\t 1 - C%crculo.\n",214);
            puts("\t 2 - Losango.");
            puts("\t 3 - Paralelogramo.");
            printf("\t 4 - Trap%czio.\n",130);
            printf("\t 5 - Tri%cngulo.\n\n",131);
            puts("\t 0 - Retornar para o <MENU>\n\n\n");
            printf("\t\t\t\t\tOp%c%co: ",135,198);
            scanf("\n\t%d", &opcao);
      
      fflush(stdin);          
      system("cls");
      
      float dia, area, d1, d2, base, alt;          //declaração das
      float A, B, C;                                 // variáveis que serão usadas no switch
      
      switch(opcao)    //segunda escolha    
      {
      case 1:           
           
           printf("\n");
      printf  ("\n\t\t\xDB********** %cREA DO C%cRCULO **********\xDB",181,214);
                    
           printf("\n");
           printf("\n\tDigite o di%cmetro do c%crculo: ",131,214);
           scanf("%f", &dia);
           area= circulo(dia);
           printf("\n\n\n\n\n\t>>>  A %crea do c%crculo %c:%f  <<<",181,214,130,area);
           printf("\n\n\n********************************************************************************");
           printf("\n\n\t Pressione <ENTER> para retornar ao menu.");
           getch(); break;
           printf("\n\n\n\n\n\n\n********************************************************************************");
                  printf("\n\n\t Voc%c voltar%c para o menu iniciar, tecle <ENTER> para continuar...\n\n",136,160);
                  printf("\n\n********************************************************************************");
           
            
     case 2:
          
           printf("\n");
      printf  ("\n\t\t\xDB********** %cREA DO LOSANGO **********\xDB",181);
           
           printf("\n\tDigite um n%cmero para diagonal 1: ",163); scanf("%f", &d1);
           printf("\n\tDigite um n%cmero para diagonal 2: ",163); scanf("%f", &d2);
           area= losango(d1,d2);
           printf("\n\n\t>>>  A %crea do losango %c:%f  <<<",181,130,area);
           printf("\n\n\n********************************************************************************");
           printf("\n\n\t\t Pressione <ENTER> para retornar ao menu.");
           getch(); break;
     
     case 3:
          
          printf("\n");
      printf  ("\n\t\t\xDB********** %cREA DO PARALELOGRAMO **********\xDB",181);
           
          printf("\n\n\n\tDigite um n%cmero para a base: ",163); scanf("%f", &base);
          printf("\n\tDigite um n%cmero para a altura: ",163); scanf("%f", &alt);
          area=paralelogramo(base,alt);
          printf("\n\n\t>>> A %crea do paralelogramo %c:%f <<<",181,130,area);
          printf("\n\n\n\n********************************************************************************");
          printf("\n\n\t\t Pressione <ENTER> para retornar ao menu.");
          getch(); break;
          
     case 4:
          
          printf("\n");
      printf  ("\n\t\t\xDB********** %cREA DO TRAP%CZIO **********\xDB",181,144);
              
          printf("\n\tDigite um valor para a base maior: "); scanf("%f", &B);
          printf("\n\tDigite um valor para a base menor: "); scanf("%f", &base);
          printf("\n\tDigite um valor para a altura: "); scanf("%f", &alt);
          area=trapezio(B,base,alt);
          printf("\n\n\t>>> A %crea do trap%czio %c:%f <<<",181,130,130,area);
          printf("\n\n********************************************************************************");
          printf("\n\n\t\t Pressione <ENTER> para retornar ao menu.");
          getch(); break;
     
     case 5:
          printf("\n");
          printf  ("\n\t\t\xDB********** %cREA DO TRI%cNGULO **********\xDB",181,182);
          
          printf("\n\tDigite o lado A do tri%cngulo: ",131); scanf("%f", &A);
          printf("\n\tDigite o lado B do tri%cngulo: ",131); scanf("%f", &B);
          printf("\n\tDigite o lado C do tri%cngulo: ",131); scanf("%f", &C);
           if(A==B && B==C)
          {
             area=tri_equi(A,B,C);
             printf(" \n\n\n\t\t%c um Tri%cngulo Equil%ctero >>> %crea: %f <<<",144,131,160,160,area);
             printf("\n\n********************************************************************************");
             printf("\n\n\t\t Pressione <ENTER> para retornar ao menu."); getch();
             }
             else
                 if(A!=B && B!=C && A!=C)
            {
              area=tri(A,B,C);
              printf("\n\n\n\t\t%c um Tri%cngulo Escaleno >>> %crea: %f <<<",144,160,160,area);
              printf("\n\n********************************************************************************");
              printf("\n\n\t\t Pressione <ENTER> para retornar ao menu.");
              getch();
              }
                   else
                    if(A==C && A!=B && B!=C||A==B&&A!=C&&B!=C||C==B&&C!=A&&B!=A)
                    {
                      area=tri(A,B,C);
                      printf("\n\n\n\t\t%c um Tri%cngulo Is%csceles >>> %crea: %f <<<",144,160,162,160,area);
                      printf("\n\n********************************************************************************");      
                      printf("\n\n\t\t Pressione <ENTER> para retornar ao menu.");
                      getch();
                      }
                      
                      break;
    case 0: break;
         
    default:
                  printf    ("\n\n ******************************* op%c%co inv%clida ********************************\n\n",135,198,160);
                  printf ("\n\n\t\tPressione <ENTER> para retornar ao menu");
                  getch();
      }           //fecha o "segunda escolha"
           
      system("cls");
      }              //fecha o segundo looping
      while (opcao!=0);            //condição para voltar para o submenu 1
      break;           //vai direto para o fim do primeiro switch sem testar os demais case      
            printf("\n\n");
                  printf("\n\n\t Voc%c voltar%c para o menu iniciar, tecle <ENTER> para continuar...\n\n",136,160);
                  printf("\n\n");
             
              case 2:
                   
                   do        //terceiro looping
                   {
                             // submenu 2
                             
          printf("\n");
          printf  ("\n\t\t\xDB********** VOLUME DE S%cLIDOS GEOM%CTRICOS **********\xDB",227,144);
          
                        
                             
                       
                   printf("\n\t Escolha a op%c%co desejada:\n",135,198);
                   puts("\n\t 1 - Esfera");
                   puts("\t 2 - Cone Circular");
                   puts("\t 3 - Cilindro");
                   puts("\t 4 - Paralelepipedo");
                   puts("\t 0 - Retornar");
            
            printf("\n\t\t\t\tOp%c%Co: ",135,198); scanf("%d", &opcao);
          
    fflush(stdin);
    system("cls");
    
    float dia, vol, alt, comp, larg;
    switch (opcao)
    {
    case 1:
         
           printf("\n");
          printf  ("\n\t\t\xDB********** 1. VOLUME DA ESFERA **********\xDB");
                   
         
           printf("\n\n\tDigite um n%cmero para o di%cmetro: ",163,131); scanf("%f", &dia);
                vol=esf(dia);         
           printf("\n\n\n\t>>> O volume da esfera %c: %f. <<<",130,vol);
           printf("\n\n\n********************************************************************************");
           printf("\n\n\n\t Pressione <ENTER> para retornar ao menu.");
           getch(); break;
       
    case 2:
         
         printf("\n");
          printf  ("\n\t\t\xDB********** 2. VOLUME DO CONE C%cRCULAR **********\xDB",214);
          
           printf("\n\n\tDigite um n%cmero para o di%cmetro da base:  ",163,131); scanf("%f",&dia);
           printf("\n\n\tDigite um m%cmero para a altura:  ",163); scanf("%f",&alt);
           vol=cone(dia,alt);
           printf("\n\t>>> O volume do cone circular %c: %f. <<<",130,vol );
           printf("\n\n\n********************************************************************************");
           printf("\n\n Pressione <ENTER> para retornar ao menu.");
           getch(); break;
               
    case 3:
          printf("\n");
          printf  ("\n\t\t\xDB********** 3. VOLUME CILINDRO **********\xDB",181,182);
          
           printf("\n\n\tDigite um n%cmero para o di%cmetro: ",163,131); scanf("%f",&dia);
           printf("\n\tDigite um n%cmero para a altura:  ",163); scanf("%f",&alt);
           vol= cilindro(dia,alt);
           printf("\n\t>>> O volume do cilindro %c: %f <<<",130,vol);
           printf("\n\n\n********************************************************************************");
           printf("\n\n Pressione <ENTER> para retornar ao menu.");
           getch(); break;
           
    case 4:
           printf("\n");
           printf  ("\n\t\t\xDB********** 4. VOLUME DO PARALELEPIPEDO **********\xDB");
                   
           printf("\n\tDigite um n%cmero para o comprimento:  ",163); scanf("%f",&comp);
           printf("\n\tDigite um n%cmero para a largura:  ",163); scanf("%f",&larg);
           printf("\n\tDigite um n%cmero para a altura:  ",163); scanf("%f",&alt);
           vol=paral(comp, larg, alt);
           printf("\n\t>>> O volume do paralelepipedo %c: %f. <<<",130,vol);
           printf("\n\n\n********************************************************************************");
           printf("\n\n Pressione <ENTER> para retornar ao menu.");
           getch(); break;
    
    case 0:
           break;       

    default:
           printf ("\n\n ******************************* Op%c%co Inv%clida *******************************",135,198,160);
           printf ("\n\n\tPressione <ENTER> para retornar ao menu.");
           getch();
            }              //fecha o terceiro switch
            
             system("cls");
             
              }
           while(opcao!=0);        //condição para voltar para o submenu 2
           break;   
        
           case 3:
           do       
           {
                                   //submenu 3
                                   
          printf("\n");
          printf  ("\n\t\t\xDB********** CONVERS%cO DE MEDIDAS **********\xDB",199);
                                       
      printf("\n\t\t\t Escolha uma op%c%co\n",135,198);
      puts("\n Converter:\n");
      printf(" 1 - Metros para Jardas.");                                   printf("\t\t\t 5 - Litros para Gal%ces.\n",228);
      printf("\n 2 - Jardas para Metros.");                                 printf("\t\t\t 6 - Gal%ces para Litros.\n",228);
      printf("\n 3 - Cent%cmetros c%cbicos para Polegadas c%cbicas.",161,163,163);  printf(" 7 - Quilogramas para Libras.\n");
      printf("\n 4 - Polegadas c%cbicas para Cent%cmetros c%cbicos.",163,161,163);  printf(" 8 - Libras para Quilogramas.\n");
            
            
            puts("\n\n\t\t 0 - Retornar");
            printf("\t\t\t\t\tOp%c%co: ",135,198);
            scanf("\n\t%d", &opcao);
      
      system("cls");      
      fflush(stdin);
      
      float num, result;
      
      switch (opcao)
      {
             case 1:
                  
                  printf("\n");
                  printf  ("\n\t\t\xDB********** 1. METROS EM JARDAS **********\xDB");
          
          
                  printf("\n\n\tDigite o valor em metros para ser convertido: ");
                  scanf("%f", &num);
                  result= m_j(num);
                  printf("\n\n\t\t %f m = %f yd", num, result);
                  printf("\n\n\n\n\n********************************************************************************");
                  printf("\n\n Pressione <ENTER> para retornar ao menu.");
                  getch(); break;
           
             case 2:
                  printf("\n");
                  printf  ("\n\t\t\xDB********** 2. JARDAS EM METROS **********\xDB");
          
                  printf("\n\n\tDigite o valor em jardas a ser convertido: ");
                  scanf("%f", &num);
                  result= j_m(num);
                  printf("\n\n\t\t %f yd = %f m", num, result);
                  printf("\n\n\n\n\n********************************************************************************");
                  printf("\n\n Pressione <ENTER> para retornar ao menu.");
                  getch(); break;
             
             case 3:
                  
                  printf("\n");
                  printf  ("\n\t\xDB********** 3. CENT%cMETROS C%cBICOS EM POLEGADAS C%cBICAS **********\xDB",214,233,233);                
                  printf("\n\n\tDigite o valor em cent%cmetros c%cbicos a ser convertido: ",161,163);
                  scanf("%f", &num);
                  result= cmcub_polcub(num);
                  printf("\n\n\t\t %f cm3 = %f in3", num, result);
                  printf("\n\n********************************************************************************");
                  printf("\n\n Pressione <ENTER> para retornar ao menu.");
                  getch(); break;
           
             case 4:
                  printf("\n");
                  printf("\n\t\xDB********** 4. POLEGADAS C%cBICAS EM CENT%cMETROS C%cBICOS **********\xDB",233,214,233);
          
                  printf("\n\tDigite o valor em polegadas c%cbicas a ser convertido: ",163);
                  scanf("%f", &num);
                  result= polcub_cmcub(num);
                  printf("\n\n\t\t %f in3 = %f cm3", num, result);
                  printf("\n\n********************************************************************************");
                  printf("\n\n Pressione <ENTER> para retornar ao menu.");
                 getch(); break;
            
            case 5:
                 printf("\n");
                 printf  ("\n\t\t\xDB********** LITROS EM GAL%cES **********\xDB",229);
          
                 printf("\n\tDigite o valor em litros a ser convertido: ");
                 scanf("%f", &num);
                 result= l_gl(num);
                 printf("\n\n\t\t %f L = %f gal", num, result);
                 printf("\n\n********************************************************************************");
                 printf("\n\n Pressione <ENTER> para retornar ao menu.");
                 getch(); break;
           
            case 6:
                 printf("\n");
                 printf("\n\t\t\xDB********** 6. GAL%cES EM LITROS **********\xDB",229);
          

                 printf("\n\tDigite o valor em galoes a ser convertido: ");
                 scanf("%f", &num);
                 result= gl_l(num);
                 printf("\n\n\t\t %f gal = %f L", num, result);
                 printf("\n\n********************************************************************************");
                 printf("\n\n Pressione <ENTER> para retornar ao menu.");
                 getch(); break;
           
           case 7:
                printf("\n");
                printf  ("\n\t\t\xDB********** QUILOGRAMAS EM LIBRAS **********\xDB");
          
                printf("\n\tDigite o valor em quilogramas a ser convertido: ");
                scanf("%f", &num);
                result= kg_lib(num);
                printf("\n\n\t\t %f kg = %f lb", num, result);
                printf("\n\n********************************************************************************");
                printf("\n\n Pressione <ENTER> para retornar ao menu.");
                getch(); break;                                                                                                               
           
           case 8:
                printf("\n");
                printf  ("\n\t\t\xDB********** 8. LIBRAS EM QUILOGRAMAS **********\xDB");
                   
                printf("\n\tDigite o valor em libras a ser convertido: ");
                scanf("%f", &num);
                result= lib_kg(num);
                printf("\n\n\t\t %f lb = %f kg", num, result);
                printf("\n\n********************************************************************************");
                printf("\n\n Pressione <ENTER> para retornar ao menu.");
                getch(); break;
           
           case 0:break;
                  
           default:
           printf ("\n\n ******************************* opcao inv%clida ********************************\n\n",160);
           printf ("\n\n\n\t\t\t\tPressione <ENTER> para retornar ao menu.");
           getch();
           }
           
           system("cls");
           }
           while(opcao!=0);      //cond. volta para o terceiro submenu
           break;   
           
             case 4:
                  printf("\n");
                printf  ("\n\t\xDB********** Deseja mesmo sair do programa? *********\xDB");
                  printf("\tDigite [1] para <SAIR> / Digite [0] para voltar para o <MENU>");
                  
                  printf("\n\n\n\n\t\t\t\tOp%c%co: ",135,198);
      scanf ("%d", &opcao);
      
      
      fflush(stdin);          //limpa o buffer do teclado
      system("cls");          //limpa a tela
      
      switch (opcao)          //escolha
      
      case 1:do{
         
               
                 
                  return(0);
                  
                  }
                  while(resp==1);
                  
                  
                  printf("\n\n\n\n\n\n\n********************************************************************************");
                  printf("\n\n\t Voc%c voltar%c para o menu iniciar, tecle <ENTER> para continuar...\n\n",136,160);
                  printf("\n\n********************************************************************************");
           
 
                  break;
                  
                  
                  case 5:
                       
                       printf("\n");
                       printf("\t\t\tManual para o usu%crio do programa.\n\n",160);
                       printf("\n1%c Para qualquer op%c%co desejada digite um n%cmero correspondente.\n ",167,135,198,163);
                       printf(" \n2%c Depois de escolhida a op%c%co tecle <ENTER>.\n ",167,135,198);
                       printf("\n3%c Para qualquer tela existi uma op%c%co de voltar para a tela anterior.",167,135,198);
                       
                       printf("\n\n\n\t\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t Suporte Faculdade Paulo Set%cbal",163);
                        printf("\n\n Pressione <ENTER> para retornar ao menu.");
                                                break;
                       
                  
             default:
             printf ("\n\n ******************************* op%c%co inv%clida ********************************\n\n",135,198,160);
             printf ("\n\t\tPressione <ENTER> para retornar ao menu.");
             }      //fecha o primeito switch
             getch();
             system("cls");
             
}            //fecha o primeiro looping
while (opcao!=4);

 return 0;
 
}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!