Ejercicios del curso de programación

Topic created · 135 Mensajes · 13420 Visitas
  • @Anghios: Bueno, está medio medio. Usas un bucle for. Los bucles de ese tipo se usan cuando conoces el número de repeticiones, y la condicion es siempre que la variable que usas como contador (normalmente "i") no sea mayor que el máximo, o no sea menor que el mínimo, según si el conteador va aumentando o disminuyendo. Sin embargo, si quieres hacer cosas como "repetir mienstras que tal variable sea diferente de tal valor" como es tu caso, es aconsejable usar un bucle while. Además si quieres poner varias condiciones seguidas no tienes que usar necesariamente if else if else if... else. Si las condiciones no tienen nada que ver puedes hacer if, if, if todas las veces que quieras. Por ejemplo primero compruebas si el número es 15 y si los intentos son 0. Esas dos condiciones no tienen nada que ver. Si los intentos son cero y el programa ha llegado hasta ahí, quieres salir del bucle independientemente de si el número es el 15 o no. Además fíjate en otros detalles. En el ejemplo cuando el usuario dice un número ya ha gastado un intento por lo tanto en el primer mensaje tienes que decir que le quedan 14 intentos, no 15.

    Además tu código está mal tabulado. Aquí lo tienes bien tabulado. Por favor, intenta dejarlo así siempre. Si no entiendes bien cómo se tabula bien el código, pregúntamelo y te lo explico cuantas veces haga falta.

    #include 
    using namespace std;
    
    int main() {
        int numero = 15;
        int intentos = 15;
        cout<
    

    Un saludo.

  • ej 4 (B) de c++

    #include 
    #include 
    #include 
    #include 
    using namespace std;
    
    int main () {
        struct alumno {
            int edad;
            char nombre[90];
        };
        alumno var;
        cout << "Tu nombre, por favor: ";
        fgets(var.nombre,90,stdin);
        cout << "Tu edad, por favor: ";
        cin >> var.edad;
        cout << "Tu nombre es: " << var.nombre;
        cout << "Tu edad es: " << var.edad;
    }
  • @Anghios: Está perfecto :miau:

    PD: el ejercicio anterior ya lo has abandonado, no piensas arreglarlo? xD

  • @Hawkings said:

    @Anghios: Está perfecto :miau:

    perfecto???...Estas Bromeando?...

    sé que esto no va aki, pero lo pongo para que lo veas....de ahi lo borras o algun mod que lo mueva.
    y me gustaria saber y que lo pongas en la parte de dudas, tus razones del porque esta perfecto ese ejercicio, si yo veo bibliotecas que son llamadas por las puras y no existe un return para main(). o en que te basas para decir que esta perfecto o quizas estas haciendo referencia a otro ejercicio. (sacame la duda 😉 )

    un saludo

  • C++

    Ejercicio 1 (B): Crea un programa en C++ que muestre por pantalla la cadena "Hola Mundo!".

    #include 
    using namespace std;
    int main(){
    cout << "Hola Mundo!";
    return 0;
    }
    

    Ejercicio 2 (B): Crea un programa en C++ que pida al usuario dos números y muestre por pantalla el primero por el segundo más uno.

    #include 
    using namespace std;
    int num1, num2;
    int main() {
    cout << "Introduce Dos Numeros:" << endl;
    cin >> num1;
    cout << "Ahora el Segundo:" << endl;
    cin >> num2;
    cout << "Tu resultado:" << " " << num1*num2 +1;
    return 0;
    }
    

    PD: Me estaba comiendo el coco dandole vuelta por que no iba; y era por que había puesto >> << en cin en vez de >> >> y a simple vista no lo veía xD.
    Ejercicio 3 (A): Diseña un programa en C++ que pida al usuario un número hasta que el número sea el 15. Si una vez el programa ya ha pedido 10 números el usuario aún no ha escrito el 15, el programa deberá mostrar "HAS FALLADO!" y terminar. Además, cada vez que el usuario falle le dirá el número que ha dicho el usuario y los intentos que le quedan

    #include 
    using namespace std;
    int num1, num2, num3;
    int main() {
    num3 = 15;
    cout << "Instrucciones:" << endl << "Tienes 10 Intententos para adivinar un numero que tengo pensado." << endl << "\nIntroduce tu numero: \n";
    for (num2 = 10; num2 != 0; num2--) {
        if (num2 != 10 && num1 != 15) {
            cout << "\nPiensa otro numero: \n";
        }
        cin >> num1;
        if (num1 == num3){
            cout << "\nMuy bien, es el numero " << num3;
        } else {
            cout << "Mal, no es el " << num1 << ", te quedan " << num2 - 1 << " intentos. \n";
        }
    }
    return 0;
    }
    

    PD: Me tomé la libertad de añadirle algunas funciones más, para practicar un poco con eso xD.

    Un Saludo y Hola a todos de nuevo Danibonilla1

  • @danibonilla1: los ejercicios están bien salvo el último, pero mal tabulados. Te los enseño todos bien tabulados para que veas cómo se hace.

    #include 
    using namespace std;
    
    int main(){
        cout << "Hola Mundo!";
        return 0;
    }
    

    En el siguiente no deberías haber puesto primero "Introduce dos números" si luego le vas a decir "Ahora el segundo" xD pero te lo paso por alto

    #include 
    using namespace std;
    int num1, num2;
    int main() {
        cout << "Introduce Dos Numeros:" << endl;
        cin >> num1;
        cout << "Ahora el Segundo:" << endl;
        cin >> num2;
        cout << "Tu resultado:" << " " << num1*num2 +1;
        return 0;
    }
    

    Este lo tienes tabulado casi perfecto pero te falta el detalle de mover también para la derecha lo de dentro de main(). Por cierto, tu programa no funciona, prueba por ejemplo a poner 15 al principio (el programa no termina nunca) y hay otro fallo que es que cuando quedan 0 intentos no tienes que decirlo (mira el ejemplo de entrada y de salida de este ejercicio).

    #include 
    using namespace std;
    int num1, num2, num3;
    int main() {
        num3 = 15;
        cout << "Instrucciones:" << endl << "Tienes 10 Intententos para adivinar un numero que tengo pensado." << endl << "\nIntroduce tu numero: \n";
        for (num2 = 10; num2 != 0; num2--) {
            if (num2 != 10 && num1 != 15) {
                cout << "\nPiensa otro numero: \n";
            }
            cin >> num1;
            if (num1 == num3){
                cout << "\nMuy bien, es el numero " << num3;
            } else {
                cout << "Mal, no es el " << num1 << ", te quedan " << num2 - 1 << " intentos. \n";
            }
        }
        return 0;
    }
    

    Si tienes cualquier duda, postea en el otro hilo. Un saludo.

  • Ejercicio 5 (M): Pide al usuario un número N. Después crea un array de N estructuras, cada una contendrá dos campos. El primero, de tipo float, y el segundo de tipo int. Después, pedirá al usuario que rellene todos los campos de todas las estructuras y al final mostrará la suma de todos los floats y la resta de todos los ints.

    #include 
    
    using namespace std;
    
    int main()
    {
        struct almacen
        {
            float suma;
            int resta;
        };
    
        int num;
        float suma_total=0;
        int resta_total=0;
    
        cout << "Ingrese un numero: ";
        cin >> num;
    
        almacen matriz[num];
    
        cout << "\n\nIngrese Valores:\n\n";
    
        for(int i=0; i
  • @freak7z: al pelo :miau:

  • Estos son los ejercicios que he ido haciendo por si me los puedes corregir.

    Ejercicio 12 (B): Diseña un programa que pida al usuario un número, y muestre por pantalla el doble de ese número.

    #include 
    
    int main() {
        int numero;
        printf("Introduzca un numero: ");
        scanf("%i", &numero);
        printf("%i es el doble de tu numero.", numero*2);
        system("pause > null");
        return 0;
    }
    

    Ejercicio 13 (B): Diseña un programa que pida al usuario dos números, y que muestre por pantalla el resultado de restar al primero el segundo.

    #include 
    
    int main() {
        int numero1;
        int numero2;
        printf("Introduzca el primer numero: ");
        scanf("%i", &numero1);
        fflush(stdin);
        printf("Introduzca el segundo numero: ");
        scanf("%i", &numero2);
        printf("%i es el resultado de la resta.", numero1-numero2);
        system("pause > null");
        return 0;
    }
    

    Ejercicio 14 (B): Diseña un programa que pida al usuario dos números, y asigne en una variable nueva el resultado de multiplicarlos. Por último el programa mostrará por pantalla el resultado de sumar esta tercera variable y la primera.

    #include 
    
    int main() {
        int numero1;
        int numero2;
        printf("Introduzca el primer numero: ");
        scanf("%i", &numero1);
        fflush(stdin);
        printf("Introduzca el segundo numero: ");
        scanf("%i", &numero2);
        int numero3 = numero1 * numero2;
        printf("%i", numero3 + numero1);
        system("pause > null");
        return 0;
    }
    

    Ejercicio 15 (B): Diseña un programa que pida un número al usuario. Si el número es el 7 avisará al usuario de que ha acertado, y en cualquier otro caso le diga que ha fallado.

    #include 
    
    int main() {
        int numero;
        printf("Introduce un numero: ");
        scanf("%i", &numero);
        if(numero == 7) {
            printf("Has acertado.\n");
        } else {
            printf("Has fallado.");
        }
        system("pause > null");
        return 0;
    }
    

    Ejercicio 16 (M): Diseña un programa que pida al usuario dos números. Si su suma es menor que su producto mostrará por pantalla el doble del primer número y terminará, y si no le pedirá al usuario un tercer número. Si el tercer número es diferente de 4 el programa se despedirá y terminará, y si no terminará sin despedirse.

    #include 
    
    int main() {
        int numero1;
        int numero2;
        int numero3;
        printf("Introduce un numero: ");
        scanf("%i", &numero1);
        fflush(stdin);
        printf("Introduce otro numero: ");
        scanf("%i", &numero2);
        fflush(stdin);
        if(numero1 + numero2 < numero1 * numero2) {
            printf("%i", numero1*2);
        } else {
            printf("Introduce un tercer numero: ");
            scanf("%i", &numero3);
            if(numero3 != 4) {
                printf("Adios");
            }
        }
        system("pause > null");
        return 0;
    }
  • Están todos muy bien :wiii:
    Qué bien ver gente nueva por aquí!! :icon_cheesygrin: