Ir ao conteúdo
  • Cadastre-se

Conversão Linguagem C+ para Portugol (Visualg)


Posts recomendados

Bom dia a todos,

Alguém poderia me ajudar a converter um programa que está em linguagem C+ para Portugol (VisualG). 

 

Grato desde ja.

 

Segue algoritmo:

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
//Protipos da Função
void menu();
void autenticacao();
void cadastro();
void deposito();
void sacar();
void consultar();
void transferencia();
void financiamento();
//Variaveis Globais
int senha = 123;
int senha_usuario = 0;
int opcao;
struct cadastro
{
    char nome[30];
    char endereco [50];
    char cidade[30];
    char estado[30];
    char naci[10];
    int cpf;
    int rg;
    int agencia;
    int numeroConta;
    float salario;
    float saldoInicial;
    int tempoS;
}dados;
//Funçao Principal
int main()
{
    setlocale(LC_ALL, "Portuguese");
    char op;
    printf("VOCÊ JA POSSUI CADASTRO?(S/N): ");
    scanf("%c", &op);
    if (op == 's' || op == 'S')
    {
        autenticacao();
    }
    else
    {
        printf("VOCÊ SERA REDIRECIONADO PARA A TELA DE CADASTRO !!! \n");
        getchar();
        getchar();
        cadastro();
    }
    return 0;
}
//Função Menu
void menu()
{
    system("cls");
    printf("==========================\n");
    printf("******MENU PRINCIPAL****** \n");
    printf("==========================\n");
    printf("<1> - CADASTRO\n");
    printf("--------------------------\n");
    printf("<2> - DEPOSITO\n");
    printf("--------------------------\n");
    printf("<3> - SACAR\n");
    printf("--------------------------\n");
    printf("<4> - CONSULTAR SALDO\n");
    printf("--------------------------\n");
    printf("<5> - TRANSFERENCIA\n");
    printf("--------------------------\n");
    printf("<6> - FINANCIAMENTO\n");
    printf("--------------------------\n");
    printf("<7> - SAIR DO SISTEMA\n");
    printf("==========================\n\n");
    printf("DIGITE SUA opção: ");
    scanf("%d",&opcao);
    switch(opcao)
    {
        case 1:
        system("cls");
        cadastro();
        break;
        case 2:
        system("cls");
        deposito();
        break;
        case 3:
        system("cls");
        sacar();
        break;
        case 4:
        system("cls");
        consultar();
        break;
        case 5:
        system("cls");
        transferencia();
        break;
        case 6:
        system("cls");
        financiamento();
        break;
        case 7:
        exit(1);
        break;
        default:
        printf("OPÇÃO INVALIDA !!");
        break;
    }
}
//Função de autenticação
void autenticacao()
{
    int tentativas = 3;
    for(tentativas = 3; tentativas >= 0;tentativas --)
    {
        printf("\n\t\t\tBEM VINDO AO SISTEMA\n\n");
        printf("Insira sua senha para iniciar:\n");
        scanf("%d",&senha_usuario);
        if(senha == senha_usuario)
        {
            printf("Ok. \n");
            fflush(stdin);
            menu();
        }
        else
        {
            printf("\aVocê ainta tem %d tentativas.\n",tentativas);
            system("pause");
            system("cls");
        }
    }
}
//Função de cadastro
void cadastro()
{
    system("cls");
    printf("***********************************\n");
    printf("===========*CADASTRO*=========== \n");
    printf("***********************************\n");
    printf("Nome:\n");
    gets(dados.nome);
    printf("Endereço:\n");
    gets(dados.endereco);
    printf("Cidade:\n");
    gets(dados.cidade);
    printf("Estado:\n");
    gets(dados.estado);
    printf("Ano de Nascimento:\n");
    scanf("%s",&dados.naci);
    printf("CPF:\n");
    scanf("%d",&dados.cpf);
    printf("RG:\n");
    scanf("%d",&dados.rg);
    fflush(stdin);
    printf("Salario:\n");
    scanf("%f",&dados.salario);
    printf("Tempo de Serviço em Meses:\n");
    scanf("%d",&dados.tempoS);
    printf("Agência:\n");
    scanf("%d",&dados.agencia);
    printf("Numero da Conta:\n");
    scanf("%d",&dados.numeroConta);
    printf("Saldo Inicial\n");
    scanf("%f",&dados.saldoInicial);
    printf("DADOS CADASTRADOS COM SUCESSO VOCÊ SERA REDIRECIONADO PARA O MENU !!!\n");
    getchar();
    getchar();
    fflush(stdin);
    menu();
}
void deposito()
{
    printf("***********************************\n");
    printf("===========*DEPOSITO*===========\n");
    printf("***********************************\n");
    float valorDeposito;
    float saldoAtual;
    char cliente [20];
    int num_conta;
    printf("DIGITE O VALOR DO DEPOSITO: ");
    scanf("%f",&valorDeposito);
    printf("NOME DO CLIENTE: ");
    scanf("\n%s",& cliente);
    printf("NUMERO DA CONTA: ");
    scanf("\n%d",& num_conta);
    saldoAtual = dados.saldoInicial + valorDeposito;
    printf("SALDO ATUAL:%f\n",saldoAtual);
    dados.saldoInicial = saldoAtual;
    system("pause");
    fflush(stdin);
    menu();
}
void sacar()
{
    printf("***********************************\n");
    printf("===========*SACAR*===========\n");
    printf("***********************************\n");
    float saque;
    float saldoAtual;
    printf("VALOR DO SAQUE:");
    scanf("%f",&saque);
    if(saque < dados.saldoInicial)
    {
    saldoAtual = dados.saldoInicial - saque;
    printf("OPERAÇÃO REALIZADA COM SUCESSO !!!\n");
    printf("SALDO ATUAL:%f\n",saldoAtual);
    dados.saldoInicial = saldoAtual;
    }
    else
    {
        printf("NÃO FOI POSSIVEL REALIZAR A OPERAÇÃO SALDO INSUFICIENTE !!\n");
    }
    system("pause");
    fflush(stdin);
    menu();
}
void consultar()
{
    printf("***********************************\n");
    printf("===========*CONSULTAR*===========\n");
    printf("***********************************\n");
    printf("USUARIO:%s\n",dados.nome);
    printf("NUMERO DA CONTA:%d\n",dados.numeroConta);
    printf("SALDO:%f\n",dados.saldoInicial);
    system("pause");
    fflush(stdin);
    menu();
}
void transferencia()
{
    printf("***********************************\n");
    printf("===========*TRANFERENCIA*===========\n");
    printf("***********************************\n");
    char cliente[30];
    char banco[15];
    int cpf, agencia, num_conta;
    float valorTrans;
    printf("DIGITE O VALOR DA TRANSFERENCIA: ");
    scanf("%f",&valorTrans);
    printf("CLIENTE: ");
    scanf("\n%s",&cliente);
    printf("BANCO: ");
    scanf("\n%s",&banco);
    printf("AGENCIA: ");
    scanf("\n%d",&agencia);
    printf("NUMERO CONTA: ");
    scanf("\n%d",&num_conta);
    printf("OPERAÇÃO REALIZADA COM SUCESSO !!!");
    printf("\n\n");
    dados.saldoInicial = valorTrans;
    system("pause");
    fflush(stdin);
    menu();
}
void financiamento()
{
    printf("***********************************\n");
    printf("===========*FINANCIAMENTO*===========\n");
    printf("***********************************\n");
    int opc;
    int i;
    int quantP = 0;
    float tempo = 0;
    float juros = 0;
    float valorFinanciado = 0;
    float valorEntrada = 0;
    float valorTot = 0;
    float parcela = 0;
    float totSalarios = 0;
    printf("QUANTIDADE DE PESSOAS NA FAMILIA QUE POSSUI RENDA :");
    scanf("%d",&quantP);
    float salarios[quantP];
        for( i = 0; i < quantP; i++ ){
                fflush(stdin);
            printf("DIGITE O VALOR SALARIAL DE CADA MEMBRO DA FAMILIA:\n ");
            scanf("%f",&salarios);
            totSalarios += salarios;
        }
        printf("O RENDIMENTO FAMILIAR TOTAL É:%f\n",totSalarios);
        printf("\n\n");
        system("cls");
        fflush(stdin);
        printf("DIGITE A OPÇÃO DE FINANCIAMENTO DESEJADO\n");
        printf("<1> - FINANCIAMENTO DE IMÓVEIS\n");
        printf("<2> - FINANCIAMENTO DE AUTOMAVEIS\n");
        printf("<3> - SAIR DO SISTEMA\n");
        printf("INFORME A OPÇÃO DESEJADA: ");
        scanf("\n%d",&opc);

        if((opc == 1) || (opc == 2))
        {
            printf("DIGITE O VALOR A SER FINANCIADO: ");
            scanf("\n%f",&valorFinanciado);
            printf("VALOR DA ENTRADA: ");
            scanf("\n%f",&valorEntrada);
            printf("JUROS AO ANO: ");
            scanf("\n%f",&juros);
            printf("TEMPO DE FINANCIAMENTO EM MESES: ");
            scanf("\n%f",&tempo);
            valorTot = valorFinanciado + (valorFinanciado - valorEntrada) * juros;
            parcela = valorTot / tempo;
            printf("O VALOR TOTAL DO FINANCIAMENTO É:%f\n", valorTot);
            printf("O VALOR DE CADA PARCELA É:%f\n", parcela);
            if (valorTot < (totSalarios * 0.4) && dados.tempoS > 3)
                {
                printf("FINANCIAMENTO APROVADO!!!\n\n");
                }
                else
                {
                printf("FINANCIAMENTO RECUSADO\n!!");
                }
        }
        else
        {
            fflush(stdin);
            menu();
        }
    system("pause");
    fflush(stdin);
    menu();
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá, bom dia,

Preciso para um projeto da faculdade, no qual tenho que entregar o mesmo em Portugol.

 

Projeto em anexo.

Ficarei muito grato.

Sistema Banco.docx

adicionado 4 minutos depois

@Simon Viegas Bom dia,

Preciso para um projeto da faculdade, no qual tenho que entregar o mesmo em Portugol. (VisualG)

 

Estou anexando o projeto nesse post.

Grato,

 

Sistema Banco.docx

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Simon Viegas. Bom dia, poderia me ajudar a refinar e finalizar esse projeto tirando algumas duvidas

 

Codigo atualizado para visual g

 

Tenho algumas duvidas para finalização do mesmo

 

- como fazer o loop para o menu novamente depois de cada função

- como faço um comando para encerrar o programa ( sendo ele uma opção do menu)

- em caso de ja ter cadastro, como ja pre- defino um valor ja na conta para realizar as operações, sem afetar o caso de for realizar o cadastro

algoritmo "BANCO"

var


//var para cadastro
pergunta: caractere
CodAcesso : Inteiro
Nome, Endereco, Cidade, Estado, Nasc : caractere
TempServ : inteiro
Agencia, NumConta, SaldoIn : Inteiro
Salario, rg, cpf, SaldoSaque : real


//var para opção 2
ValorDep,SaldoAt : real
opcao, NomeCli : caracter
NConta : inteiro


//var para opção 3
Saque, Saldo, NovoSaldo : real


//var para opção 5
ValorT : real
banco : caracter


//var para opção 6
qtdpessoas, i, Servico, TempFinan : inteiro
ValorSalarial, SomaRend,ValorFinanciado, ValorEntrada, RendaPorcentagem, Financimento, ValorParcela : real
opcaof, Juros : caracter


inicio

escreval ("|************** BANCO S.A. **************|")
escreval (" ")
escreval ("Você já possui um cadastro?")
leia (pergunta)

         se (pergunta = "SIM") então
            escreval ("Informe seu código de acesso: ")
            leia (CodAcesso)
            escreval (" ")
            escreval ("BEM-VINDO AO SISTEMA!!!!")
            escreval (" ")
            senao
            se(pergunta = "NAO") então
                 escreval ("NOME: ")
                 leia (Nome)
                 escreval ("ENDEREÇO: ")
                 leia (Endereco)
                 escreval ("CIDADE: ")
                 leia (Cidade)
                 escreval ("ESTADO: ")
                 leia (Estado)
                 escreval ("ANO DE NASCIMENTO: ")
                 leia (Nasc)
                 escreval ("CPF: ")
                 leia (cpf)
                 escreval ("RG: ")
                 leia (rg)
                 escreval ("SALARIO: ")
                 leia (Salario)
                 escreval ("TEMPO DE SERVIÇO (EM MESES): ")
                 leia (TempServ)
                 escreval ("AGÊNCIA: ")
                 leia (Agencia)
                 escreval ("NUMERO DA CONTA: ")
                 leia (NumConta)
                 escreval ("SALDO INICIAL")
                 leia (SaldoIn)
                 escreval (" ")
                 escreval ("BEM-VINDO AO SISTEMA!!!!")
                 fimse
            fimse

         //MENU PARA OPERAÇÕES BANCÁRIAS

         escreval (" ")
         escreval ("ESCOLHA UMA OPÇÃO ABAIXO: ")
         escreval (" ")
         escreval ("==========================")
         escreval ("| *** MENU PRINCIPAL *** |")
         escreval ("--------------------------")
         escreval ("<1> - CADASTRO =")
         escreval ("--------------------------")
         escreval ("<2> - DEPOSITO =")
         escreval ("--------------------------")
         escreval ("<3> - SACAR =")
         escreval ("--------------------------")
         escreval ("<4> - CONSULTA SALDO =")
         escreval ("--------------------------")
         escreval ("<5> - TRANSFERENCIA =")
         escreval ("--------------------------")
         escreval ("<6> - FINANCIAMENTO =")
         escreval ("--------------------------")
         escreval ("<7> - SAIR DO SISTEMA =")
         escreval ("--------------------------")
         escreval (" ")


         escreval ("DIGITE SUA OPÇÃO: ")
         leia (opcao)

              escolha opcao

              caso "2" //DEPOSITO
                   escreval ("DIGITE O VALOR DO DEPOSITO: ")
                   leia (ValorDep)
                   escreval (" ")
                   escreval ("|==============================================|")
                   escreval ("| Sistema de Controle Bancario                 |")
                   escreval ("|==============================================|")
                   escreval ("| Operacao Deposito                            |")
                   escreval ("|==============================================|")
                   escreval (" ")
                   escreval ("CLIENTE: ")
                   leia (NomeCli)
                   escreval (" ")
                   escreval ("CONTA NUMERO: ")
                   leia (NConta)
                   escreval (" ")
                   escreval ("SALDO ATUAL: ")
                   leia (SaldoAt)


              caso "3" //SACAR
              SaldoSaque <- 1500
              escreval ("VALOR DO SAQUE: ")
                   leia (Saque)

                        se (Saque < SaldoSaque) então
                        NovoSaldo <- SaldoSaque - Saque
                        escreval ("SALDO ATUAL: ",NovoSaldo)
                        escreval ("OPERAÇÃO REALIZADA COM SUCESSO!")

                        senao
                             se (Saque > SaldoSaque) então
                             escreval ("NÃO FOI POSSÍVEL REALIZAR A OPERAÇÃO. SALDO INSUFICIENTE!")
                             fimse
                        fimse

              caso "4" //CONSULTA SALDO
                   escreval ("CLIENTE: ",Nome)
                   escreval ("CONTA: ",NumConta)
                   escreval ("SALDO ATUAL: ",Saldo)


              caso "5" //TRANSFERENCIA
                   escreval ("DIGITE O VALOR DA TRANSFERENCIA: ")
                   leia (ValorT)
                   escreval (" ")
                   escreval ("|==============================================|")
                   escreval ("| Sistema de Controle Bancario                 |")
                   escreval ("|==============================================|")
                   escreval ("| Operacao Deposito                            |")
                   escreval ("|==============================================|")
                   escreval (" ")
                   escreval ("CLIENTE: ")
                   leia (Nome5)
                   escreval ("CPF: ")
                   leia (cpf5)
                   escreval ("BANCO: ")
                   leia (banco)
                   escreval ("AG: ")
                   leia (Agencia)
                   escreval ("CONTA NUMERO: ")
                   leia (NumConta)
                   escreval (" ")
                   escreval ("OPERAÇÃO REALIZADA COM SUCESSO!")

              caso "6" //FINANCIAMENTO
                   escreval ("| ============= DADOS FINANCEIROS =============|")
                   escreval (" ")
                   escreval ("QUANTIDADE DE PESSOAS NA FAMILIA QUE POSSUEM RENDA?")
                   leia (qtdpessoas)
                   escreval (" ")

                   SomaRend <- 0

                            para i de 1 ate qtdpessoas faca
                                 escreval ("VALOR SALARIAL: ")
                                 leia (ValorSalarial)

                            SomaRend <- SomaRend + ValorSalarial
                            fimpara

                            escreval ("TOTAL DO RENDIMENTO FAMILIAR: ", SomaRend)
                            escreval (" ")

                            //MENU PARA OPERAÇÕES DE FINANCIMENTO
                            escreval ("----------------------------------")
                            escreval ("<1> - FINANCIMENTO DE IMOVEIS =")
                            escreval ("----------------------------------")
                            escreval ("<2> - FINANCIMENTO DE AUTOMOVEIS =")
                            escreval ("----------------------------------")
                            escreval ("<3> - SAIR DO SISTEMA =")
                            escreval ("----------------------------------")
                            escreval (" ")
                            escreval ("DIGITE SUA OPÇÃO: ")
                            leia (opcaof)

                                     escolha opcaof
                                             caso "1"
                                                  escreval ("VALOR FINANCIADO: ")
                                                  leia (ValorFinanciado)
                                                  escreval ("VALOR DE ENTRADA: ")
                                                  leia (ValorEntrada)
                                                  escreval ("JUROS: 2% a.a")
                                                  escreval ("TEMPO DE FINANCIAMENTO: 48 meses")

                                              caso "2"
                                                  escreval ("VALOR FINANCIADO: ")
                                                  leia (ValorFinanciado)
                                                  escreval ("VALOR DE ENTRADA: ")
                                                  leia (ValorEntrada)
                                                  escreval ("JUROS: 3% a.a")
                                                  escreval ("TEMPO DE FINANCIAMENTO: 48 MESES")

                                              fimescolha

                                              RendaPorcentagem <- (SomaRend*40)/100
                                              Servico <- 4
                                              TempFinan <- 48

                                                               se (ValorFinanciado > RendaPorcentagem) então
                                                               escreval ("EMPRÉSTIMO NÃO APROVADO! O VALOR SOLICITADO ULTRAPASSA O RENDIMENTO FAMILIAR.")

                                                               senao
                                                                    se (Servico > 3) então
                                                                    escreval ("EMPRÉSTIMO APROVADO!")
                                                                    fimse
                                                               fimse

                                              Financimento <- (ValorFinanciado + (ValorFinanciado - ValorEntrada)*(2/100)
                                              escreval ("FINANCIMENTO: ",Financimento)
                                              ValorParcela <- (Financimento/TempFinan)
                                              escreval ("VALOR DA PARCELA: ",ValorParcela)

fimescolha
fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Fernando Ferreira C.

 

1) CONCEITO DE MENU

2 horas atrás, Fernando Ferreira C disse:

- como fazer o loop para o menu novamente depois de cada função

 

Pode usar um laço de repetição, ex.:

   repita
      escreval("**************** BANCO CRIS S.A ****************")
      escreval("=============================================== ")
      escreval
      escreval("ESCOLHA UMA OPÇÃO ABAIXO: ")
      escreval
      escreval
      escreval("=============================")
      escreval("| *** MENU PRINCIPAL *** =   ")
      escreval("-----------------------------")
      escreval("(1) - CADASTRO =             ")
      escreval("-----------------------------")
      escreval("(2) - DEPOSITO =             ")
      escreval("-----------------------------")
      escreval("(3) - SACAR =                ")
      escreval("-----------------------------")
      escreval("(4) - CONSULTA SALDO =       ")
      escreval("-----------------------------")
      escreval("(5) - TRANSFERENCIA =        ")
      escreval("-----------------------------")
      escreval("(6) - FINANCIAMENTO =        ")
      escreval("-----------------------------")
      escreval("(7) - SAIR DO SISTEMA =      ")
      escreval("-----------------------------")
      escreval
      escreva ("DIGITE A SUA OPCAO: ")
      leia(opcao)











   ate opcao="7"

 

A mesma lógica vale para qualquer parte do algoritmo, só se atentando para não usar a mesma variável de controle em "menu" dentro de "menu", ou seja, se um tiver dentro do outro, cada menu deverá ter sua variável de verificação diferente.

 

 

 

2) ENCERRAMENTO DE PROGRAMA

2 horas atrás, Fernando Ferreira C disse:

- como faço um comando para encerrar o programa ( sendo ele uma opção do menu)

Isso já está embutido no menu... ou seja, ao selecionar a opção 7, o menu não vai mais repetir...

 

 

 

3) PRÉ-CADASTRO

2 horas atrás, Fernando Ferreira C disse:

- em caso de ja ter cadastro, como ja pre- defino um valor ja na conta para realizar as operações, sem afetar o caso de for realizar o cadastro

Ai não sei... poderia sobrescrever o cadastro ou ficar com 2, ou seja, o pré-cadastrado e o novo novo.

 

 

 

***

 

No aguardo.

 

 

  • Curtir 1
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!