Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pulse

Veículos

Recommended Posts


Infrações de trânsito e acidentes em geral estão muitas vezes relacionados com excesso de

velocidade. Pensando nisso a secretaria do DETRAN reajustou o valor das multas e

encomendou a você um programa que calcule os novos valores, válidos para as rodovias

federais. Se a velocidade do veículo for até a velocidade permitida, o condutor não paga

multa; caso ela exceda em até 20% a velocidade permitida, o valor da multa é de R$ 250; e

caso o excesso seja superior à 20% a multa é de R$750. Escreva um programa que leia do

teclado a velocidade máxima permitida e a velocidade na qual o veículo trafegava,

apresentando na tela o valor da multa a ser pago.




#include <stdio.h>


int main ()

{

int velmax, velveiculo, velp;


printf("Digite a velocidade maxima permitida");

scanf("%d", &velmax);


printf("Digite a velocidade do veiculo");

scanf("%d", &velveiculo);


if (velmax >= velveiculo)

{

printf("Velocidade permitida");

}

else if (1.2*velmax >= velveiculo)

{

printf("Multa de R$250.00");

}

else

{

printf("Multa de R$750.00");

}

}


Percebi que o código funciona perfeitamente no DEV mas no CODEBLOCKS quando eu coloco, por exemplo, velocidade máxima em 10 e velocidade do automovel como 12 mostra como se a multa fosse 750. O mesmo acontece para qualquer em que 1.2*velmax = velveiculo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

 

 

Pulse, eu sou pessimo em Matematica então acho que a minha solução não vai ser das melhores.

 

Bem como voçê disse que o codigo funciona no Dev e não no Codeblocks, fiz um teste aqui em casa emulando o Dev via Wine, e aqui o problema ocorreu nos dois casos.

 

O mais proximo que consegui ate aqui foi mudar o valor de 1.2 para 1.25, resolve o problema no codeblocks, mas acho que asolução não lhe vai ser util uma vez que muda o restante dos valores descritos no problema!

 

Se o problema está no codigo acho que vou demorar um pouco a achar, vou tentar mais tarde!

 

 

Espero ter Ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

#include <stdio.h>
int main(void) {
   int velocidade_maxima, velocidade_veiculo;
 
   printf("Informe a velocidade máxima da via: ");
   scanf("%d", &velocidade_maxima);
 
   printf("Informe a velocidade do veículo: ");
   scanf("%d", &velocidade_veiculo);
 
   if (velocidade_veiculo <= velocidade_maxima) {
      printf("Não há infração.\n");
   } else if (velocidade_veiculo <= velocidade_maxima*1.20) {
      printf("Valor da multa: R$ 250,00\n");
   } else {
      printf("Valor da multa: R$ 750,00\n");
   }
   return 0;
}

Funciona normalmente com esses dados. Estou usando o GCC 4.8 no Linux.
Esqueçam os nomes Dev C/C++ e Codeblocks. Isso são IDEs. Quero saber qual é o compilador que vcs estão usando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Pulse dei uma olhada aqui no codigo e inclusive tentei a minha propria versão, acho que o valor da multa na opção está correta para os dados que você informou, max 10 - veicu 12 multa 750.

 

_Isis_ sobre a sua pergunta:

 

 

Ubuntu 14.04 LTS 32-bit

 

Com o comando: dpkg -s gcc|grep '^Version'

 

Version: 4:4.8.2-1ubuntu6

 

 

 

Via Wine

 

Dev-C++ 5.10 released - Março de 2015

 

Compilador embutido no Dev-C++ – TDM-GCC 4.8.1

 

 

 

Só lembrando que sou iniciante no Linux ! ! !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Pulse dei uma olhada aqui no codigo e inclusive tentei a minha propria versão, acho que o valor da multa na opção está correta para os dados que você informou, max 10 - veicu 12 multa 750.

 

_Isis_ sobre a sua pergunta:

 

 

Ubuntu 14.04 LTS 32-bit

 

Com o comando: dpkg -s gcc|grep '^Version'

 

Version: 4:4.8.2-1ubuntu6

 

 

 

Via Wine

 

Dev-C++ 5.10 released - Março de 2015

 

Compilador embutido no Dev-C++ – TDM-GCC 4.8.1

 

 

 

Só lembrando que sou iniciante no Linux ! ! !

 

Olá, Felipe!

 

Repare que:

    else if (1.2*velmax >= velveiculo)
    {
            printf("Multa de R$250.00"); 

Então, quando os valores fossem iguais a multa deveria ser 250!

 

Mais uma coisa que eu queria perguntar há um tempo: vocês me recomendam começar a usar o Linux? Muitos veteranos da minha universidade usam e recomendaram pra gente começar a usar também por ser melhor pra programar e tal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá!

 

 

Olha Pulse, quanto ao código como eu disse sou péssimo em matemática então não vou contestar a sua logica, sem contar que estou iniciando em C e pode ser que eu esteja fazendo confusão!

 

Quanto a sua pergunta:

 

Olha isso vai depender muito do que você vai fazer com os conhecimentos que você está adquirindo em termos de computação, se eu tivesse que lhe explicar tudo que me vem a cabeça e que possa ser relevante como um resposta completa a você, eu teria que basicamente lhe escrever uma monografia ! ! !

 

Mas de forma curta e grossa, a não ser que você esteja aprendendo programação apenas como um complemento de algum outro curso, e mesmo assim, eu particularmente lhe recomendo SIM no mínimo começar a usar o Linux, com uma instalação em DUAL BOOT com o Windows ou se você quiser, usar uma maquina virtual como o virtual box, para emular(executar) o Linux dentro do Windows.

 

Para o meu caso por exemplo eu instalei o Ubuntu 14.04 LTS em novembro de 2014, e ate agora tem cumprido tudo que eu preciso com bastante eficiência, com exceção de alguma coisa que existe apenas para plataformas pagas como Windows e Mac, todo o resto tem sido muito satisfatório.

 

Se você tiver tempo e dedicação, você consegue resolver bastante dos problemas e duvidas através de diversos fóruns e sites pela web, e quando preciso você pode contar com o Windows em dual boot, ou ate mesmo com o Windows inteiro virtualizado dentro do Linux através de uma maquina virtual ou mesmo executar alguns programas do Windows no Linux sobre um emulador ( Wine )!

 

Atualmente tenho apenas o Ubuntu 14.04 LTS instalado no HD!

 

 

Eu tenho certeza que a não ser que você dependa ou possa vir a depender de programas altamente especificos para plataformas como windows, Mac ou outras, eu tenho certeza que você vai se arrepender de não ter começado a usar o Linux antes!

 

 

Espero ter Ajudado ! ! !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe, 20% de 10 é 2. Somando-se a velocidade do carro e os 20% = 12km/h. O programa tem que imprimir 250,00 e não 750,00.

 

caso ela exceda em até 20% a velocidade permitida, o valor da multa é de R$ 250; e
caso o excesso seja superior à 20% a multa é de R$750

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.