Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JulianDronger en 22 Febrero 2019, 01:49 am



Título: Digito no deseado?
Publicado por: JulianDronger en 22 Febrero 2019, 01:49 am
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;

    }


Título: Re: Digito no deseado?
Publicado por: srWhiteSkull en 22 Febrero 2019, 03:20 am
Elimina los caracteres no imprimibles en los scanf(), por ejemplo hazlo así:

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


Título: GRACIAS
Publicado por: JulianDronger en 22 Febrero 2019, 20:11 pm
Elimina los caracteres no imprimibles en los scanf(), por ejemplo hazlo así:

Código:
...
scanf_s("%d", &a);
printf("\t");
scanf_s("%d", &e);
printf("\n");
...
Muchas gracias, me salvaste