Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#271
Eventualmente se llegará a un punto de no-retorno, si es que no consideramos que se ha llegado ya.
Alguien tendrá que ceder, o habrá problemas :X
#272
Todo programa creado en cualquier lenguaje se puede hacer en C (salvando que la plataforma de destino reuiqera un lenguaje especial oalgo así).

Puedes hacer en C lo que hacen las clases de C++. Pero C++ tiene muchas facilidades en este aspecto que C no tiene. En C lo más que podrás hacer es crear estructuras y manejarlas con funciones que hagan las veces de métodos, por ejemplo. Pero los conceptos como constructor, destructor, herencia... tendrás que hacerlos manualmente. Especialmente si hablamos de herencia, vas a tener serios problemas haciéndolo "parecido a C++".

Si quieres programación orientada a objetos, lo mejor es que programes C++. No tiene mucha utilidad a día de hoy programar C en vez de C++ (salvo que sea estrictamente necesario, como por carencia de compiladores para alguna plataforma)
#273
Programación C/C++ / Re: Duda con menu de opciones
3 Septiembre 2017, 13:49 PM
Lo tenías hacho. Copio tu código:
int main()
{
    char seguir='s';
    int opcion=0;
    float num1;
    float rta;
    int numeroAIngresado=0;

    do
    {
        if(numeroAIngresado)
        {
        printf("1- Ingresar 1er operando (%f)\n", num1);
        numeroAIngresado=1;
        }
        else
        {
        printf("1- Ingresar 1er operando (A)\n");
        }
        printf("2- Salir\n");

        scanf("%d",&opcion);

        switch(opcion)
        {
            case 1:
                printf("Ingrese el primer numero: \n");
                scanf("%f" , &num1);
                break;

        }
        }while(seguir=='s');
    return 0;
}


Cita de: ivancea96 en  2 Septiembre 2017, 23:03 PM
:o
numeroAInresado es una flag. ¿Cuándo la pones a 1? Pues cuando se ingrese el numero. ¿Después de qué línea "num1" tiene valor?

int main()
{
    char seguir='s';
    int opcion=0;
    float num1;
    float rta;
    int numeroAIngresado=0;

    do
    {
        if(numeroAIngresado)
        {
        printf("1- Ingresar 1er operando (%f)\n", num1);
        }
        else
        {
        printf("1- Ingresar 1er operando (A)\n");
        }
        printf("2- Salir\n");

        scanf("%d",&opcion);

        switch(opcion)
        {
            case 1:
                printf("Ingrese el primer numero: \n");
                scanf("%f" , &num1);
                numeroAIngresado=1;
                break;

        }
        }while(seguir=='s');
    return 0;
}
#274
Programación C/C++ / Re: Duda con menu de opciones
3 Septiembre 2017, 04:03 AM
Cita de: Xtrangr en  2 Septiembre 2017, 23:27 PM
Entonces la bandera tiene que ir en el case 1?
Poner la bandera a 1 en el case. Eso y nada más, solo el numeroAIngresado=1;. Es eso lo que estás indicando: que el número ha sido ingresado.
El resto, donde estaba.
#275
Programación C/C++ / Re: Duda con menu de opciones
2 Septiembre 2017, 23:29 PM
Ahí la pones a 1. Ahí es donde el número ah sido ingresado, ¿no? El nombre de las variables representa qué es lo que significa. Si quieres que esa variable signifique "si el número ha sido ingresado o no", haz que sea cierto.
#276
Programación C/C++ / Re: Duda con menu de opciones
2 Septiembre 2017, 23:03 PM
:o
numeroAInresado es una flag. ¿Cuándo la pones a 1? Pues cuando se ingrese el numero. ¿Después de qué línea "num1" tiene valor?
#277
Programación C/C++ / Re: Duda con menu de opciones
2 Septiembre 2017, 22:02 PM
Olvídate de la segunda forma que puse.

La primera, no es más que un if. Cambias los printf que tienes por ese if. Pruebalo con el primer printf primero.

Lo único que no tienes en tu código es la variable "numeroAIngresado". Eso solo es un bool que indica, si es true, que ya se ingresó A. Basta que inicialices esa variable a false y que la pongas a true cuando haya ingresado A. El resto, está en el código que puse.
#278
Y bueno, en las condiciones:
Código (cpp) [Seleccionar]
if (b = 1)
"=" es una asignación, no una comparación. Para comparar es "==".
#279
Dentro del foreach tienes:
Código (csharp) [Seleccionar]
conn.Close();
Eso lo querrás hacer al completar todos los insert, supongo.
#280
(ml/100)
ml es int, por lo tanto, ese /100 va a generar otro int (perdiendo los decimales)
Te diría que pongas todas las avriables que vas a usar en la fórmula como float (o al menos, las necesarias, por ejemplo, "int * float" resulta en un float).

A parte de esto, cuando vayas a hacer una pregunta, di exactamente qué es lo que ocurre, "no sé qué estoy haciendo mal" no ayuda. Di qué es lo que hace el programa mal.