Jump to content
Fórum Script Brasil
  • 0

Passar um Código de Portugol para C


Maxwell Ruan

Question

Olá boa noite!

estou com uma grande duvida, faço curso de TADS e meu professor quer que nós passemos um código que fizemos em portugol no visualg para a linguagem C, estou muito perdido em como fazer isso.

 

algoritmo "Locação de Veiculos"
// Função : Locadora de Veiculos
// Autor :  Maxwell Ruan
// Data : 21/10/2017
// Seção de Declarações 
var
opcao,opcao2 : inteiro
CODIGO,NOME,RG,CPF,ENDERECO,DATADENASCIMENTO,CNH,CLIENTE,AUTOMOVEL:CARACTER
MARCAVEICULO,CODIGOVEICULO,MODELO,ANOFABRICACAO,CLASSIFICACAO,CODIGOCLASS:CARACTER
VALOR:REAL
a,b,soma :numerico


// procedimentos
procedimento menu_principal
inicio

escreval ("++++++++++++++++++++++++++++++++++++")
escreval (" 1- Cadastro de Cliente            +")
escreval (" 2- Cadastro de Veiculos           +")
escreval (" 3- Cadastro de Classificação      +")
escreval (" 4- Cadastro de movimentação       +")
escreval (" 5- Sair                           +")
escreval ("++++++++++++++++++++++++++++++++++++")


fimprocedimento

procedimento menu_cliente
inicio
escreval ("======Menu do Cliente=====")
escreval ("                          ")
escreval ("==========================")

      escreval ("Digite o Código")
      leia (codigo)
      escreval ("Digite o Nome")
      leia (nome)
      escreval ("Digite o RG")
      leia (rg)
      escreval ("Digite o CPF")
      leia (cpf)
      escreval ("Digite o Endereço")
      leia (endereco)
      escreval ("Digite a Data de Nascimento")
      leia (datadenascimento)
      escreval ("Digite a Carteira de habilitação")
      leia (cnh)
      
      limpatela
fimprocedimento


procedimento menu_veiculo
inicio
escreval ("+==========Menu do Veiculo================ +")
escreval ("+ Digite (01) se for do tipo Básico        +")
escreval ("+ Digite (02) se for do tipo Intermediário +")
escreval ("+ Digite (03) se for do tipo Luxuoso       +")
escreval ("+========================================= +")

escreval ("Digite o Código")
      leia (CODIGOVEICULO)
      escreval ("Digite a Marca do Veciulo")
      leia (MARCAVEICULO)
      escreval ("Digite o Modelo do Veiculo")
      leia (MODELO)
      escreval ("Digite o Ano de Fabricação")
      leia (ANOFABRICACAO)
      escreval ("Digite o Codigo de Classificação")
      leia (CLASSIFICACAO)

      limpatela
      
fimprocedimento


procedimento menu_class
inicio
escreval ("+==========Menu de Classificação========== +")
escreval ("+ Digite (01) se for do tipo Básico        +")
escreval ("+ Digite (02) se for do tipo Intermediário +")
escreval ("+ Digite (03) se for do tipo Luxuoso       +")
escreval ("+========================================= +")

escreval ("Digite o Código")
      leia (CODIGOCLASS)
      escreval ("Digite a Marca do Veciulo")
      leia (MARCAVEICULO)
      escreval ("Digite a  Classificação")
      leia (CLASSIFICACAO)
      escreval ("Digite o Valor da locação")
      leia (VALOR)

      limpatela

fimprocedimento


procedimento menu_movimentacao
inicio
escreval ("========Menu de Movimentação=======")
escreval ("!       [ Valor das Diárias ]     !")
escreval ("!  Básico :R$ 80,00               !")
escreval ("!  Intermediário :R$ 150,00       !")
escreval ("!  Luxuoso :R$ 300,00             !")
escreval ("!=================================!")
escreval ("Digite o Código")
      leia (codigo)
      escreval ("Digite o Código do Cliente")
      leia (CLIENTE)
      escreval ("Digite o Código do Automovel")
      leia (AUTOMOVEL)
      escreval ("Digite o Valor da locação")
leia (a)
escreval ("Digite a Quantidade de Diarias")
leia (b)
soma:=(a*b)
escreval ("=============================================+")
escreval ("O Valor Total que o Cliente pagará será:" ,soma)
escreval ("                                             +")
escreval ("=============================================+")
fimalgoritmo

      limpatela

fimprocedimento



inicio
// Seção de Comandos
repita
        menu_principal
        escreva ("=>")
        leia (opcao)
        limpatela
        
        escolha (opcao)
        caso 1 // cadastro de cliente
               menu_cliente
        caso 2 // cadastro de veiculos
               menu_veiculo
        caso 3 // cadastro de classificação
               menu_class
        caso 4 // cadastro de movimentação
                menu_movimentacao
        caso 5 // sair
        
        outrocaso
                   escreval("Opção Invalidade")
                   
        fimescolha
        
        ate opcao = 5
        

fimalgoritmo

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Olá, boa noite.

Também sou estudante de TI, pode ser que o código abaixo tenha alguns erros. Acredito que seu código para linguagem C seja mais ou menos por este caminho:

#include <stdio.h> //Para printf
#include <conio.h> //Para a função gets
#include <stdlib.h> //Para a função system
#include <locale.h> //Para caracteres especiais

//Conversão de algoritmo feito em portugol para a linguagem C

//Declaração das variáveis:

int opcao,b; //Declaração dos tipos inteiros
char cliente[5],codigo[10],nome[100],rg[20],cpf[11],endereco[100],datadenascimento[10],cnh[20],automovel[25];
char marcaveiculo[15],codigoveiculo[1],modelo[15],anofabricacao[4],classificacao[10],codigoclass[1];
float valor,a; //Declaração de variáveis do tipo real


//PROCEDIMENTOS(funções):

void menu_principal()
{
    printf("\n++++++++++++++++++++++++++++++++++++\n");
    printf("\n1- Cadastro de Cliente");
    printf("\n2- Cadastro de Veiculos");
    printf("\n3- Cadastro de Classificação");
    printf("\n4- Cadastro de movimentação");
    printf("\n5- Sair");
    printf("\n++++++++++++++++++++++++++++++++++++\n");

}

void menu_cliente()
{
    printf("\n======Menu do Cliente=====\n");
    printf("\n");
    printf("\n==========================\n");

    printf("\nDigite o Código: ");
    gets(codigo);
    printf("\nDigite o Nome: ");
    gets(nome);
    printf("\nDigite o RG: ");
    gets(rg);
    printf("\nDigite o CPF: ");
    gets(cpf);
    printf("\nDigite o Endereço: ");
    gets(endereco);
    printf("\nDigite a Data de Nascimento: ");
    gets(datadenascimento);
    printf("\nDigite a Carteira de habilitação: ");
    gets(cnh);

    system("cls"); //Limpa a tela
}

void menu_veiculo()
{
    printf("\n+==========Menu do Veiculo================ +");
    printf("\n+ Digite (01) se for do tipo Básico        +");
    printf("\n+ Digite (02) se for do tipo Intermediário +");
    printf("\n+ Digite (03) se for do tipo Luxuoso       +");
    printf("\n+========================================= +\n");

    printf("\nDigite o Código: ");
    gets(codigoveiculo);
    printf("\nDigite a Marca do Veciulo: ");
    gets(marcaveiculo);
    printf("\nDigite o Modelo do Veiculo: ");
    gets(modelo);
    printf("\nDigite o Ano de Fabricação: ");
    gets(anofabricacao);
    printf("\nDigite o Codigo de Classificação: ");
    gets(classificacao);
    system("cls");
}

void menu_class()
{
    printf("\n+==========Menu de Classificação========== +");
    printf("\n+ Digite (01) se for do tipo Básico        +");
    printf("\n+ Digite (02) se for do tipo Intermediário +");
    printf("\n+ Digite (03) se for do tipo Luxuoso       +");
    printf("\n+========================================= +\n");
    printf("\nDigite o Código: ");
    gets(codigoclass);
    printf("\nDigite a Marca do Veciulo: ");
    gets(marcaveiculo);
    printf("\nDigite a  Classificação: ");
    gets(classificacao);
    fflush(stdin);
    printf("\nDigite o Valor da locação: ");
    scanf("%f",&valor);
    system("cls");
}

void menu_movimentacao()
{
    printf("\n========Menu de Movimentação=======");
    printf("\n!       [ Valor das Diárias ]     !");
    printf("\n!  Básico :R$ 80,00               !");
    printf("\n!  Intermediário :R$ 150,00       !");
    printf("\n!  Luxuoso :R$ 300,00             !");
    printf("\n!=================================!\n");
    printf("\nDigite o Código: ");
    gets(codigo);
    printf("\nDigite o Código do Cliente: ");
    gets(cliente);
    printf("\nDigite o Código do Automovel: ");
    gets(automovel);
    printf("\nDigite o Valor da locação: ");
    scanf("%f",&a);
    printf("\nDigite a Quantidade de Diarias: ");
    scanf("%d",&b);
    printf("\n=============================================+");
    printf("\nO Valor Total que o Cliente pagará será: %.2f" ,a*b);
    printf("\n");
    printf("\n=============================================+\n");
    system("pause");
    system("cls");
}

//Função Principal
int main()
{
    setlocale(LC_ALL,"portuguese");
    do{
        menu_principal();
        printf("\n==> ");
        scanf("%d",&opcao);
        fflush(stdin);
        system("cls");

        switch(opcao){
            case 1:
                menu_cliente();
                break;
            case 2:
                menu_veiculo();
                break;
            case 3:
                menu_class();
                break;
            case 4:
                menu_movimentacao();
                break;
            case 5:
                break;
            default:
                printf("\nOPÇÃO INVÁLIDA!");
        }
   }while(opcao <5);
    return(0);
}

Espero ter ajudado :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...