C/Visual C - Problemas con scanf() en C

 
Vista:
sin imagen de perfil
Val: 21
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Problemas con scanf() en C

Publicado por mefesto (8 intervenciones) el 06/01/2020 04:10:02
Tengo el siguiente código de C en visual studio:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
void main()
{
	int a, b;
	printf("Escribe un numero: ");
	scanf("%d ", &a);
 
	printf(" Escribe otro numero : ");
	scanf("%d", &b);
 
	printf("dato 1: %d\n dato 2: %d", a, b);
}
al momento de ejecutarlo aparece:
Escribir un numero : *Aqui aparece el espacio para escribir el primer numero*
luego de darle enter para el siguiente paso no aparece la cadena "Escribir otro numero" sino que de una aparece el espacio para escribir el segundo numero, luego escribo el numero le doy enter y es en ese momento en el que aparece cadena "Escribir otro numero" con lo demas de las salidas de dato 1 y dato 2 y sus números.

Algo asi :
Escribe un numero: 9 *Doy enter*
2 *Aquí surge el espacio para colocar el otro numero*
Escribe otro numero : *Aqui es donde se supone debe aparecer el espacio para colocar el otro numero, pero no
apareció arriba de el*
dato 1: 9
dato 2: 2

Como puedo arreglar ese problema?
Por que pasa?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 265
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Problemas con scanf() en C

Publicado por dario (60 intervenciones) el 06/01/2020 13:27:33
Hola, en esta linea: scanf("%d ", &a); hay un espacio entre la d y las comillas, borra ese espacio y listo.
Te debe quedar asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main()
{
  int a, b;
 
  printf("Escribe un numero: ");
  scanf("%d", &a);
 
  printf("Escribe otro numero: ");
  scanf("%d", &b);
 
  printf("dato 1: %d\ndato 2: %d", a, b);
 
  return 0;
}

Una duda, que hace esta linea: #define _CRT_SECURE_NO_WARNINGS

Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con scanf() en C

Publicado por Israel Luengo Garcia a.k.a Snaked of Polygon (6 intervenciones) el 08/01/2020 11:37:18
prueba a posicionar el cursor en la linea en cuestion, borrarla y adquirir el dato

gotoxy de Rad Studio, Borland, Turbo C y similares
para borrar la pantalla entera de la consola utiliza esta funcion --> clrscr();

de esta manera

1
2
3
4
5
6
7
8
#include <conio.h>   //necesario para gotoxy
 
 
gotoxy(1,15);  //posicionamos x=linea 1 y=linea 15
printf("%80s", " ");   // Borramos la linea para tenerla limpia de caracteres
gotoxy(1,15);  //posicionamos de nuevo
  printf("Escribe un numero: ");  // y adquirimos el dato
  scanf("%d", &a);


creo que CRT hace referencia al monitor (Cathode Ray Tube)..... parece ser algo referente al refresco de pantalla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar