Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

277
Visualizações
no puedo encontrar mi error en mi software (cambie el lenguaje C)

Esta es mi primera publicación acá. comencé a aprender ingeniería de software este mes y estoy tratando de codificar un software usando c. No puedo encontrar el error para cambiarlo. ¿Alguien puede ayudarme, por favor?

 #include <stdio.h> void main() { int a,b,e; char operation; printf ("enter the first number:"); scanf ("%d",&a); printf ("enter the second number:"); scanf ("%d",&b); printf ("enter the operation:"); scanf ("%c", &operation); switch (operation) { case '+' : e=a+b; break; case '-' : e=ab; break; case '*' : e=a*b; break; case '/' : e=a/b; break; default: printf("wrong choice!!"); } printf("%d %c %d = %d \n", a, operation, b, e); }
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

#include <stdio.h> void main() { int a,b,e; char operation; printf ("enter the first number:"); scanf ("%d",&a); printf ("enter the second number:"); scanf ("%d",&b); getchar(); printf ("enter the operation:"); scanf ("%c", &operation); switch (operation) { case '+' : e=a+b; break; case '-' : e=ab; break; case '*' : e=a*b; break; case '/' : e=a/b; break; default: printf("wrong choice!!"); } printf("%d %c %d = %d \n", a, operation, b, e); }

su scanf ("%c", &operation); está leyendo un carácter de nueva línea \n de la instrucción scanf anterior. por lo tanto, para escanear la declaración de operación correctamente, debe agregar getchar() que detecta el carácter de nueva línea \n .

over 4 years ago · Santiago Trujillo Relatório

0

Como ya se mencionó por @Oka scanf() deja el carácter de nueva línea en el búfer .

Tiene que descartar el carácter de nueva línea, simplemente puede usar la función getchar() antes del último scanf para descartar ese carácter único (podría ser un carácter de nueva línea o no), para estar 100% seguro de descartar todos los caracteres no leídos del búfer de entrada que puede hacer

 while((c = getchar()) != '\n' && c != EOF)

O bien, puede usar " %c" (espacio en blanco %c) para ignorar el carácter de nueva línea inicial.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda