Ir para conteúdo
Fórum Script Brasil
  • 0

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?


lucasyanbr

Pergunta

#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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...