Jump to content
  • 0
jinxx

Dúvida sobre algoritmo

Question

Gente alguém pode me da uma luz nesse algoritmo? como eu resolvo isso pelo menos? Tentei utilizar o comando arquivo <> no visualg, mas não da certo. 

 

Você decidiu comprar um carro e para ajudar na sua decisão, você resolveu desenvolver um código que mostre ao final qual é o menor custo ao final de ano para cada modelo escolhido baseado no custo total de compra do carro, custo com impostos, custo com combustível (considerando o consumo médio de cada veículo e um total estimado de 10.000 Km rodados no ano e o valor de médio R$ 3,98 para o litro de combustível) e custos com seguro.

Como dados de entrada você pode criar um arquivo que contenha as seguintes informações que serão carregadas no programa.

Modelo do veículo

Custo total de compra

Custo total de impostos

Consumo médio de combustível (Km/l)

Custos com seguro

Chevrolet Ônix

R$36.000,00

R$1.400,00

11,8

R$1.600,00

Ford Fiesta

R$32.000,00

R$1.300,00

13,5

R$1.800,00

VW Fox

R$31.000,00

R$1.450,00

12,3

R$1.300,00

VW Polo

R$41.000,00

R$1.600,00

13,5

R$1.500,00

Hyundai HB20

R$40.000,00

R$1.200,00

11,6

R$1.200,00

Renault Sandero

R$30.000,00

R$1.300,00

12,8

R$1.900,00

Ao final o programa deverá mostrar os dados apresentados na tabela para cada veículo e o custo total no final de um ano para cada um deles.

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By vanessalopes
      Olá Gente me ajudam a resolver esses exercícios? Vamos lá   ( TODOS ESSES PROGRAMAS A ESTRUTURA DE REPETIÇÃO E ENQUANTO E SE TAMBÉM OBRIGADA)
       
      1 - Imprima Os Números Primos Compreendidos entre 1 e 100 e faça um algoritmo para resolver esse problema.
       
      Eu Montei o Algoritmo dessa forma, ele roda mais o resultado não tá exato no Visual G, se puder me ajudar com essa questão 
       
      var p,n:inteiro
      inicio
       
      leia (n) 
      p<- 1
      enquanto p<=100 faca
      se p mod = 0 entao
      escreva (" Esse Numero é Primo",p)
      senao
      escreva (" Esse numero não é Primo")
      fimse
      fimenquanto
      fimalgoritmo
       
      2 - faça um algoritmo para que seja digitado a idade e diga se a pessoa e maior de idade ou não faça isso até que alguém digite 100 anos.
       
      estrutura de repetição enquanto faca/se entao
       
      3 -faça um algoritmo que imprima de 1 a 100 de forma decrescente 
       
      estrutura de repetição enquanto
      acrescentei o exemplo d<-d-1  mesmo assim não rodou
       
      4- construa um algoritmo que diga os divisores de 100 compreendidos de 1 a 20 
       
      bom, esse também eu fiz mais não conseguir roda 
       
       
      5 - DIVISOES DO TRIANGULO E DIZER SE O MESMO E ISOCELE, ESCALENO OU EQUILATERIO 
       
      LEIA (L1)
      LEIA (L2)
      LEIA (L3)
      ....
      (SE)
    • By sudden
      Olá alguém que esteja lendo isso, tem dias que eu não consigo rodar esse algoritmo certo, não sei mais o que eu faço, nao sou nenhum desenvolvedor nem nada, tô no 1 semestre
      #include <stdio.h> #include <stdlib.h> //Inicio Structs struct telefones{ char numfixo[15]; char celular[16]; }; struct clientes{ double cpf; int codcliente; struct telefones t; char nome[30]; char sexo; }; struct produtos{ char nomeprod[20]; int codigoproduto; float valor; char modelo [10]; }; struct carrinhos{ struct clientes cliente[5]; struct produtos produto[5]; int quantidade; float subtotal; float desconto; // porcentagem float total; }; struct modelos{ char marca [20]; char modelo [20]; }; /////Fim Structs //Inicio Fun��o void cadastrarCliente(struct clientes cliente[50], int cont); void mostrarCliente(struct clientes cliente[50]); void mostraMenuPrincipal(); void mostrarProduto(struct produtos produto[50]); void cadastrarProduto(struct produtos produto[50],int contp); void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]); void ordenarCliente(struct clientes cliente[50]); // Inicio Main void main(int argc, char *argv[]) { int resposta,contp=0,cont=0,voltar=0; //cont e o contador do cliente, contp e do produto. struct produtos produto[50]; struct clientes cliente[50]; struct carrinhos carrinho[50]; struct modelos modelo[50]; ////////////inicio declarando structs para ele ter oque mostrar//////////////////////////////////// ///////////////////Ira direcionar o usuario no menu /////////////////////// do{ mostraMenuPrincipal(); scanf("%d", &resposta); switch(resposta) { case 1: cadastrarCliente(cliente, cont); cont=cont+1; //agora a proxima vez que for cadastrar um cliente, o indice vai ser um apos o anterior. system("pause"); break; case 2: cadastrarProduto(produto,contp); contp=contp+1; system("pause"); break; case 3: mostrarCliente(cliente); system("pause"); break; case 4: mostrarProduto(produto); system("pause"); break; case 5: efetuarCompra(carrinho,cliente,produto); system("pause"); break; case 6: ordenarCliente(cliente); contp=contp+1; break; default: exit(0); } }while(1); } ////////////////////////print menu /////////////////////////////////////////// void mostraMenuPrincipal(){ system("cls"); printf("==========================================================\n"); printf("1 - CADASTRAR CLIENTE\n"); printf("2 - CADASTRAR PRODUTO\n"); printf("3 - LISTA DE CLIENTES\n"); printf("4 - LISTA DE PRODUTOS\n"); printf("5 - EFETUAR VENDA\n"); printf("0 - SAIR DO MERCADO DIGITAL\n"); printf("==========================================================\n"); printf("Digite sua opcao: "); } ////////////////////////print cadastrar cliente /////////////////////////////////////////// void cadastrarCliente(struct clientes cliente[50],int cont){ system("cls"); printf("=======================================================\n"); printf("-----------------CADASTRAR CLIENTE: %d-----------------\n", cont+1); printf("=======================================================\n\n\n"); printf("AVISO! Digite o CPF da forma original com ponto e tra�os\n\n"); printf("CPF: "); fflush(stdin); //limpa o buffer scanf("%f",&cliente[cont].cpf); printf("NUM FIXO: "); fflush(stdin); scanf("%d", &cliente[cont].t.numfixo); printf("CELULAR: "); fflush(stdin); scanf("%d", &cliente[cont].t.celular); printf("NOME: "); fflush(stdin); gets(cliente[cont].nome); printf("DATA NASCIMENTO: "); fflush(stdin); cliente[cont].codcliente=cliente[cont].cpf/100000; printf("\n==========================================================\n"); printf("O CODIGO DO CLIENTE GERADO E: %d",&cliente[cont].codcliente); printf("\n"); //Printa o cliente que foi cadastrado printf("\nCPF: %d",cliente[cont].cpf); printf("\nNUM FIXO: %d",cliente[cont].t.numfixo); printf("\nCELULAR: %d",cliente[cont].t.celular); printf("\nNOME: %s",cliente[cont].nome); printf("\n=================================================\n"); } ////////////////////////print listar cliente /////////////////////////////////////////// void mostrarCliente(struct clientes cliente[50]){ int repet=0; printf("================================================\n"); printf("----------------- LISTAR CLIENTE -----------------\n"); printf("================================================\n"); for(repet=0;repet<=2;repet++){ printf("\nCPF: %d",cliente[repet].cpf); printf("\nNUM FIXO: %d",cliente[repet].t.numfixo); printf("\nCELULAR: %d",cliente[repet].t.celular); printf("\nNOME: %s",cliente[repet].nome); printf("\nCODIGO DO CLIENTE: %d\n",cliente[repet].codcliente); } } ////////////////////////print cadastrar produto /////////////////////////////////////////// void cadastrarProduto(struct produtos produto[50],int contp){ printf("=================================================\n"); printf("-----------------CADASTRAR PRODUTO: %d-----------------\n", contp+1); printf("=================================================\n"); printf("CODIGO DO PRODUTO: \n"); scanf("%d",&produto[contp].codigoproduto); printf("\nNOME DO PRODUTO: "); fflush(stdin); gets(produto[contp].nomeprod); printf("\nMARCA: "); (stdin); printf("\nMODELO: "); fflush(stdin); printf("\nVALOR: "); fflush(stdin); scanf("%f",&produto[contp].valor); //agora printar produto printf("\nCODIGO DO PRODUTO: %d\n",produto[contp].codigoproduto); printf("\nNOME DO PRODUTO: %ss\n",produto[contp].nomeprod); printf("\nVALOR DO PRODUTO: R$ %0.2f\n",produto[contp].valor); printf("\nMODELO DO PRODUTO: %s", produto[contp].modelo); } ////////////////////////print listar produtos /////////////////////////////////////////// void mostrarProduto(struct produtos produto[50]){ int repet; printf("================================================\n"); printf("----------------- LISTAR PRODUTO -----------------\n"); printf("================================================\n"); for(repet=0;repet<=9;repet++){ printf("\n\nCODIGO DO PRODUTO: %d",produto[repet].codigoproduto); printf("\nNOME DO PRODUTO: %s",produto[repet].nomeprod);543; printf("\nVALOR DO PRODUTO: R$ %0.2f\n\n",produto[repet].valor); } } //pode ser de haja erro na compra void efetuarCompra(struct carrinhos carrinho[50],struct clientes cliente[3],struct produtos produto[10]){ int buscacliente,x; int buscaprod,buscaprod2,buscaprod3; int quantidade,quantidade2,quantidade3; float total,total2,total3; float totalum,todototal,cupom,desc; float fimtotal; mostrarCliente(cliente); printf("\n\nDigite o codigo do cliente: "); scanf("%d",&buscacliente); for(x=0;x<=50;x++){ int y; if(cliente[x].codcliente==buscacliente){ y=1; } if(y==1){ buscacliente=x; y=51; } } system("cls"); mostrarProduto(produto); printf("\ncarrinho do cliente %s",cliente[buscacliente].nome); printf("\ndigite o codigo do produto 1: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total = quantidade * produto[buscaprod].valor; //REPETICAO///////////////////// printf("\ndigite o codigo do produto 2: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total2 = quantidade * produto[buscaprod].valor; //REPETICAO///////////////////// printf("\ndigite o codigo do produto 3: "); scanf("%d",&buscaprod); for(x=0;x<=50;x++){ int y; if(produto[x].codigoproduto==buscaprod){ y=1; } if(y==1){ buscaprod=x; y=51; } } printf("\ndigite a quantidade: "); scanf("%d",&quantidade); total3 = quantidade * produto[buscaprod].valor; //system("pause"); printf("digite o cupom de desconto: "); scanf("%f", &cupom); todototal = total + total2 + total3; desc = todototal * (cupom / 100); fimtotal = todototal - desc; printf("Total: R$ %0.2f\n", todototal); printf("Valor do Desconto: R$ %0.2f\n", desc); printf("Valor total e R$ %0.2f\n", fimtotal); system("pause"); } void ordenarCliente(struct clientes cliente[50]){ int i,b; int codigotemp,cpftemp,fixotemp,celulartemp,datanasctemp; char nometemp; printf("Organizando lista...\n"); for(i=0;i<=3;i++){ for(b=0;b<=3;b++){ if(cliente[b].codcliente>cliente[b+1].codcliente){ //valores para variaveis temporarias printf("transferindo valores para variaveis temporarias...\n"); codigotemp=cliente[b].codcliente; fixotemp=cliente[b].t.numfixo; celulartemp=cliente[b].t.celular; //strcpy(nometemp , cliente[b].nome); nometemp=cliente[b].nome; cpftemp=cliente[b].cpf; printf("variaveis temporarias transferidas.\n"); //fim da transferencia de valores para variaveis temporarias //fazer os valores de indice b receber o valor do indice da struct do indice seguinte printf("cliente %d recebendo valores do cliente... %d\n",b,b+1); cliente[b].codcliente=cliente[b+1].codcliente; strcpy(cliente[b].nome , cliente[b+1].nome); cliente[b].cpf=cliente[b+1].cpf; printf("cliente %d recebeu valores do cliente %d\n",b,b+1); //fim da transferencia de valores do segundo para o primeiro indice //inicio dE transferencia de valores do primeiro indice para o segundo indice printf("cliente %d recebendo valores das variaveis temporarias...\n",b+1); cliente[b+1].codcliente=codigotemp; printf("recebeu codigo do cliente.\n"); //cliente[b+1].nome=nometemp; strcpy(cliente[b+1].nome,nometemp); //sprintf(cliente[b+1].nome,nometemp); printf("recebeu nome\n"); cliente[b+1].cpf=cpftemp; printf("recebeu cpf\n"); printf("cliente %d recebeu valores das variaveis temporarias\n",b+1); printf("---- ---- ---- ---- "); } } } printf("Operacao concluida.\n"); }  
    • By lemao_code()
      Bom dia Galera, não sei se este é a div certa para a postagem (div sacou?)
      Mas vamos lá,
      A uns 2meses to estudando linguagens de programação, comecei pela Logica de Programação com o professor Guanabara,Agora estou em Python e HTML5 CSS e Java.
      Python estou no que o professor chama de Mundo 2, aprendendo if, elif, else, já sei operadores aritméticos etc.
      HTML5 está mais no inicio, to aprendendo a trabalha com o css para dar estilo na pagina.(Também sei Banco de Dados no MySQL)
      Mas vamos ao assunto, to procurando colegas que estejam na parecida situação como eu, para realmente estudarmos juntos.
      Certa vez o professor falou que isso ajudaria e muito, e concordo, alguém para ajudar, e alguem para você ajudar, é um crescimento e tanto, então convido-os quem tiver interesse
      duas cabeças pensam mais que 1. (ou não se a outra cabeça for de um gênio!Jobs,BIl,Einsten,Hawking esses cara kk)
      Geralmente, estudos das 4h manhã ate as 6hrs da manhã, depois a noite das 19 até a hora que os olhos sangrarem!
       
      Pode mandar msg aqui no meu perfil, estou online!
      Obrigado!
    • By lara1807
      Boa noite pessoal, preciso resolver um algoritmo que o código abaixo descreve. Eu possuo um vetor de porcentagens e cada porcentagem dessas é atribuida de um valor do vetor entrada_pop. Nesse programa eu quero gerar um numero aleatório e ver as porcentagens que são maiores que esse numero aleatório e armazenar o valor, não da porcentagem, mas do valor que representa a porcentagem, em um vetor novo, depois imprimir este vetor, só que não está indo. Alguém pode me ajudar?? Estou variando os valores de 0 a 100
      #include <time.h>
      #include<math.h>
      #define num_individuo 3
      #define tam_vetores 1000
      int main()
      {
          float valor_percen_aptidao[]={6,20,80},v_selecionado[100],vetor_entrada_pop[]={1,2,3};
          int cont=0,i,valor_percen;
          srand(time(NULL));
          while(cont<=num_individuo)
          {
              valor_percen=(rand()%100);
              printf("sorteado %d",valor_percen);
              for(i=0;i<num_individuo;i++)
              {
                  if(valor_percen_aptidao[1]>=(float)valor_percen)
                  {
                      v_selecionado[cont]=vetor_entrada_pop;
                      cont++;
                  }
              }
          }
           for(i=0;i<num_individuo;i++)
          {
              printf("selecionados %.2f \n",v_selecionado);
          }
      }
       
    • By P4870
      Sou estudante do 1º Ano do curso técnico em Informática do IFSP, e preciso de ajuda para fazer esse Algoritmo usando o visuAlg.
       
      01) Levando em consideração o início dos sistemas de informatização as informações eram armazenadas em arquivo do tipo texto. Analisando internamente estes arquivos pode-se notar que nada mais são do que matrizes, pois cada coluna representava um campo e cada linha uma tupla.
       
      Partindo desta informação construa uma matriz para armazenar o RA, CPF e um código para 40 alunos (no CPF digitar somente os números) e uma matriz que guardará 4 notas de 40 alunos e seus respectivos códigos, criando assim um tipo de relacionamento entre as duas matrizes. O primeiro CPF da matriz 1 representa o aluno que possui as 4 notas da primeira posição da segunda matriz. Após o preenchimento de todos os dados das 2 matrizes você deverá perguntar qual o tipo de consulta deverá ser realizada (1-RA, 2-CPF e 3-Código) se for escolhido a opção 1 deve ser solicitado o RA e pesquisar o mesmo na matriz e mostrar o RA, as 4 notas e a média das 4 notas do aluno, se a opção for 2 você deverá solicitar o CPF e também mostrar o CPF, as 4 notas e a média das 4 notas do aluno e se a opção for 3 você deverá solicitar o CÓDIGO e também mostrar o Código, as 4 notas e a média das 4 notas do aluno. Em ambas as consultas deve ser mostrado a situação do aluno (Aprovado quando a média for no mínimo 6; Recuperação quando a média for no mínimo 4 e não chegar a 6; e Reprovado se a média for inferior a 4).
       
      Ao mostrar cada resultado o sistema deve pedir se o usuário deseja fazer uma nova pesquisa.
       
      Caso deseje deve digitar S(SIM) para continuar ou N(NÃO) para finalizar.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.