fbpx

Problema al reiniciar variable en bucle while en programa de notas en C++

  • Problema al reiniciar variable en bucle while en programa de notas en C++

    Posted by Edisson Camilo Justinico Castro on 18 mayo, 2023 en 8:31 pm

    Buena noche he estado dándole vueltas al proyecto 3, a la hora de ingresar las notas y sacar un promedio ¿Qué pasa con las notas que son repetidas?, al parecer se suman normalmente y después se dividen por el total de notas, lo cuál daña el promedio.

    anexo el código realizado.

    Hice un while principal para preguntar si se quiere seguir usando el programa, a lo cual si dices que sí; debería retornar al momento en que se pide al usuario que ingrese la cantidad de alumnos a evaluar…Pero no pasa eso, retorna al ingreso de los alumnos tomando como referencia la cantidad de alumnos ingresada anteriormente.

    ¿Cómo puedo solucionarlo?

    gracias…

    Angel Sánchez respondido 10 meses, 4 semanas 2 Miembros · 5 Respuestas
  • 5 Respuestas
  • Angel Sánchez

    organizador
    19 mayo, 2023 en 1:12 pm

    ¿A que te refieres con notas repetidas?

    • Edisson Camilo Justinico Castro

      Miembro
      19 mayo, 2023 en 5:03 pm

      Buena tarde, disculpa tenía unas dudas sobre el promedio pero ya las resolví.

      Solo quería consultarte esta parte

      Hice un while principal para preguntar si se quiere seguir usando el programa, a lo cual si dices que sí; debería retornar al momento en que se pide al usuario que ingrese de nuevo la cantidad de alumnos a evaluar…Pero no pasa eso, retorna al ingreso de los alumnos tomando como referencia la cantidad de alumnos ingresada anteriormente.

      ¿Cómo puedo solucionarlo?

      gracias

      • Angel Sánchez

        organizador
        19 mayo, 2023 en 5:16 pm

        Hola Edisson, aquí el problema y solución:

        El problema se encuentra en la lógica del programa. Cuando se quiere volver a ingresar la cantidad de alumnos, la variable cantAlumnos no se reinicia a cero antes del segundo bucle while. Por lo tanto, conserva el valor ingresado anteriormente.

        Para solucionar esto, debes reiniciar la variable cantAlumnos a cero antes del segundo bucle while. Puedes hacerlo agregando la línea cantAlumnos = 0; antes de ese bucle, como se muestra a continuación:

        while (continuar == 'S' || continuar == 's') {

        cantAlumnos = 0; // Reiniciar la variable cantAlumnos a cero

        while (cantAlumnos <= 19 || cantAlumnos >= 31) {

        // Resto del código...

        }

        // Resto del código...

        }

        Con esto, la variable cantAlumnos se reiniciará a cero cada vez que el programa pregunte si se desea continuar, y se podrá ingresar una nueva cantidad de alumnos sin tomar en cuenta el valor anterior.

        Me avisas si se soluciono el problema 😀

  • Edisson Camilo Justinico Castro

    Miembro
    23 mayo, 2023 en 7:19 pm

    Gracias Ángel Sánchez Espinoza, esa era la solución…

    Logre iniciar la variable en cero para que a la hora de dar ‘s’ en desea continuar me remita al inicio del programa cuando pide al usuario: “Ingrese cantidad de alumnos, rango 20 a 30″….muchas gracias…

    • Angel Sánchez

      organizador
      24 mayo, 2023 en 10:46 am

      De nada, este detalle le paso a varios alumnos.

Inicia sesión para responder.

Start of Discussion
0 de 0 respuestas Junio 2018
Ahora