Digito no deseado?

Iniciado por JulianDronger, 22 Febrero 2019, 01:49 AM

0 Miembros y 1 Visitante están viendo este tema.

JulianDronger

Cuando programo en C, en Qt hay algo que no le preste atención antes, cuando tengo un programa donde me pide ingresar números o letras, donde por ejemplo debo ingresar 2 números al inicio el programa pide tres, a pesar de que solo tengo 2 variables en el scanf, la primera variable no la cuenta en realidad, pero ahora tengo un struct donde las cuentas que debo hacer no parecen funcionar por eso, ya que no me salta ningún error o aviso indeseado, les dejo el Struct, yo busco saber como hacer para que no pase otra vez



enum { N_NUMEROS = 1};

struct Cuentas {

    int suma;
    int resta;
    int division;
    int multiplicacion;

};

int main(void) {
    struct Cuentas num[ N_NUMEROS ] = { 0 };
    int a, b, c, d;
    int e, f, g, h;

    a = num->suma;
    b = num->resta;
    c = num->division;
    d = num->multiplicacion;

    e = num->suma;
    f = num->resta;
    g = num->division;
    h = num->multiplicacion;

     for (int i = 0; i < N_NUMEROS; ++i){

        printf("Ingrese dos numeros para sumar: "); //EN ESTA PERTE VERAN COMO ME PIDE 3 NUMEROS CUANDO PIDO 2
         scanf("%d\t", &a);
         scanf("%d\n", &e);

        printf("Ingrese dos numeros para restar: ");
         scanf("%d\t", &b);
         scanf("%d\n", &f);

        printf("Ingrese dos numeros para dividir: ");
         scanf("%d\t", &c);
         scanf("%d\n", &g);

        printf("Ingrese dos numeros para multiplicar: ");
         scanf("%d\t", &d);
         scanf("%d\n", &h);

        printf("\n");

        printf("RESULTADOS: \n\n");

            printf("Suma: %d\n", a + e);
            printf("Resta: %d\n", b - f);
            printf("Division: %d\n", c / g);
            printf("Multiplicacion: %d\n\n", d * h);

            break;

    }

srWhiteSkull

Elimina los caracteres no imprimibles en los scanf(), por ejemplo hazlo así:

...
scanf_s("%d", &a);
printf("\t");
scanf_s("%d", &e);
printf("\n");
...

JulianDronger

Cita de: srWhiteSkull en 22 Febrero 2019, 03:20 AM
Elimina los caracteres no imprimibles en los scanf(), por ejemplo hazlo así:

...
scanf_s("%d", &a);
printf("\t");
scanf_s("%d", &e);
printf("\n");
...

Muchas gracias, me salvaste