Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Ramiro Gurgel

C++ Menu utilizando switch e case

Recommended Posts

Olá, estou tentando criar um menu para navegar melo meu código mas por alguma razão, independente do valor que eu atribua a resposta (variável resp que escolhe a opção do menu), tudo o que recebo ao executar é uma chuva de "Opção inválida, tente novamente" (opções 2, 3 e 4), o que não deveria acontecer caso eu responda "1". Alguma dica?

 

PS: Ainda irei implementar as demais funções para 2, 3 e 4.



#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
#include <conio.h>

menu1() {
    
    float s, s0, v0, a, t;
    int loop, repet, linha, coluna;
    
    setlocale(LC_ALL,"portuguese");    

    printf ("\n\t\t\t\tATRIBUIÇÃO DE VALORES");
    printf("\n\n");
    printf ("\tQuantidade de objetos: ");
    scanf ("%d", &loop);
    printf ("\n");
    
    float matriz [loop][6];

    for (linha = 0; linha < loop; linha++){        
        
        matriz[linha][0] = linha;
        
        printf ("\tObjeto %f - Posição inicial (s0): ", linha);
        coluna = 1;
        scanf ("%f", &s0);        
        matriz[linha][coluna] = s0;
        
        printf ("\tObjeto %f - Velocidade inicial (v0): ", linha);
        coluna = coluna + 1;
        scanf ("%f", &v0);        
        matriz[linha][coluna] = v0;
        
        printf ("\tObjeto %f - Aceleração (a): ", linha);
        coluna = coluna + 1;
        scanf ("%f", &a);        
        matriz[linha][coluna] = a;
                
        printf ("\tObjeto %f - Tempo (t): ", linha);
        coluna = coluna + 1;
        scanf ("%f", &t);        
        matriz[linha][coluna] = t;
        
        matriz[linha][5] = (s0 + v0*t + ((a*(t*t))/2));
                
        printf ("\n");
    }

    printf ("\t\t\t\t");
    printf ("TABELA DE VALORES");
    printf ("\n\n");
    printf ("\t");
    printf ("Objeto    Posição(s0)    Velocidade(v0)   Aceleração(a)      Tempo(t)");
    printf ("\n\n");
        
    for (repet = 0; repet < loop; repet++){
        for (coluna = 0; coluna < 6; coluna++){
            
            printf ("\t%.2f\t|", matriz [repet][coluna]);
        
        }
        
    printf ("\n");
    
    }
}

main () {
    
    int resp;
    
    setlocale(LC_ALL,"portuguese");
    
    printf ("\tFUNÇÃO HORÁRIA DA POSIÇÃO");
    printf ("\n\n");
    printf ("1 - Atribuição e apresentação de dados\n");
    printf ("2 - Função horária da velocidade e da aceleração\n");
    printf ("3 - Resolutor de derivadas simples\n");
    printf ("4 - Sair\n\n");
    
    printf ("Digite o número da opção desejada: ");
    scanf ("&d", &resp);
    
    while (resp <= 4) {
        
        switch (resp) {
            
            case 1:
                menu1();
            break;
            
            case 2:
                printf ("Opção inválida, tente novamente!");
            break;
            
            case 3:
                printf ("Opção inválida, tente novamente!");
            break;
            
            case 4:
                printf ("Opção inválida, tente novamente!");
            break;
            
            default:
                printf ("Opção inválida, tente novamente!");
            break;
        }    
    }
}

Editado por Ramiro Gurgel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque a linha:

scanf ("&d", &resp);

 

por essa linha:

 

scanf ("%d", &resp);

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×