Devo Fazer um pardal, fiz conforme pedido usando funções e procedimentos, compila e executa certinho mas ao selecionar qualquer opção o programa trava e fecha. alguém pode me ajudar?
/* Procedimento que quando chamado pela main exibirá o "status" do sistema */
void sistema(int x){
if(x==1){
printf("Sistema: On"); }
else{
printf("Sistema: Off"); } }
int main(void) {
int velocidade, status, op,soma,loop;
loop=0;
while(loop!=1){ /*condição que fará com que o programa siga funcionando sempre, sendo limitado apenas quando status do sistema for = Off*/
printf("Defina o status do sistema:\n\n1)On\n2)Off\n\n");
scanf("%d",status);
sistema(status); /*chamada do procedimento para exibição da mensagem de status*/
printf("Selecione uma operação:\n\n1)Leitura\n2)Somatório de Multas");
scanf("%d",op);
switch(op){
case 1:
if(status==1){
printf("Velocidade:");
scanf("%d",velocidade);
leitura(velocidade);} /*chamada do procedimento para a leitura e teste da velocidade*/
total=total+multa(velocidade);/*chamada da função que testará o valor da multa a ser aplicado para então somá-lo ao total na main*/
else{
printf("ERRO 401! Você não tem Autorização para executar essa opção no status de sistema atual!");
}
break;
case 2:
printf("Foram aplicadas %d multas, totalizando %d reais.",cm,total);
break;}}
return 0;}
/* Procedimento que fará a leitura da velocidade e testará s esta é ou não superior a permitida(80km/h)*/
void leitura (int x){
int placa;
if(x>80){
printf("Placa:\n");
scanf("%d",placa);
printf("O carro de placa número %d passou pelo pardal a %d km/h.");
cm=cm+1; } }
/* Função que fará a leitura da velocidade e testará o valor de multa a ser aplicado, retornando o mesmo a main quando chamada*/
int multa(int x){
int multa;
Pergunta
lucasyanbr
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cm; /*variável global*/
/* Procedimento que quando chamado pela main exibirá o "status" do sistema */
void sistema(int x){
if(x==1){
printf("Sistema: On"); }
else{
printf("Sistema: Off"); } }
int main(void) {
int velocidade, status, op,soma,loop;
loop=0;
while(loop!=1){ /*condição que fará com que o programa siga funcionando sempre, sendo limitado apenas quando status do sistema for = Off*/
printf("Defina o status do sistema:\n\n1)On\n2)Off\n\n");
scanf("%d",status);
sistema(status); /*chamada do procedimento para exibição da mensagem de status*/
printf("Selecione uma operação:\n\n1)Leitura\n2)Somatório de Multas");
scanf("%d",op);
switch(op){
case 1:
if(status==1){
printf("Velocidade:");
scanf("%d",velocidade);
leitura(velocidade);} /*chamada do procedimento para a leitura e teste da velocidade*/
total=total+multa(velocidade);/*chamada da função que testará o valor da multa a ser aplicado para então somá-lo ao total na main*/
else{
printf("ERRO 401! Você não tem Autorização para executar essa opção no status de sistema atual!");
}
break;
case 2:
printf("Foram aplicadas %d multas, totalizando %d reais.",cm,total);
break;}}
return 0;}
/* Procedimento que fará a leitura da velocidade e testará s esta é ou não superior a permitida(80km/h)*/
void leitura (int x){
int placa;
if(x>80){
printf("Placa:\n");
scanf("%d",placa);
printf("O carro de placa número %d passou pelo pardal a %d km/h.");
cm=cm+1; } }
/* Função que fará a leitura da velocidade e testará o valor de multa a ser aplicado, retornando o mesmo a main quando chamada*/
int multa(int x){
int multa;
if(x<80){
multa=0; }
else{
if(x>80&&x<=100){
multa=100; }
else{
if(x>100&&x<=120){
multa=500; }
else{
if(x>120&&x<=140){
multa=1500; }
else{
if(x>140){
multa=2500; }}}}}
return multa;}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.