Ver Mensaje Individual
  #11 (permalink)  
Antiguo 28/02/2014, 13:10
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años, 5 meses
Puntos: 49
Respuesta: Dolor de cabeza con scanf en C

En este caso todo el problema se reduce a dos '\n' que quedan en el buffer después del scanf y del enter del getchar, y con un solo getchar para cada uno nos lo podemos "comer":

Cita:

Ingrese numero: 23

Ingrese letra: a

Desea cargar otro? s/n: s

Ingrese numero: 11

Ingrese letra: s

Desea cargar otro? s/n: n

Cantidad= 2
Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int ej1(){
  4.     int arr1[100];
  5.     int arr2[100];
  6.     int cant = 0;
  7.     char continuar;
  8.     do{
  9.         printf("\n Ingrese numero: ");
  10.         scanf("%d",&arr1[cant]);
  11.         getchar();
  12.         printf("\n Ingrese letra: ");
  13.         arr2[cant] = getchar();
  14.         getchar();
  15.         cant++;
  16.         printf("\n Desea cargar otro? s/n: ");
  17.         continuar = getchar();
  18.     }while(continuar!='n' );
  19.    return cant;
  20. }
  21. int main()
  22. {
  23.   printf("\nCantidad= %d\n", ej1());
  24.   return 0;
  25. }

¡¡¡Saluditos!!!