fbpx

Proyecto5 CADENAS

  • Proyecto5 CADENAS

     Maximiliano.Rodri Zermeño Actualizado 1 semana, 2 dias 2 Miembros · 7 Publicaciones
  • Maximiliano.Rodri Zermeño

    Miembro
    9 septiembre, 2020 en 3:05 pm

    Buenas compañeros, tengo una duda especifica con el código de este programa. Se los comparto para que puedan revisarlo.

    Al momento de pasar del alumno 1 al alumno 2, el código se come la parte en que solicito que ingrese el nombre del alumno.

    He hecho pruebas para ver el porque del error y este deja de ocurrir si suprimo el FOR en el que se toman las calificaciones del alumno 1.

    No lo he probado con mas alumnos pero me imagino que el problema se repite.

    Espero haber compartido bien el código. Utilice la pagina que mencionan en las instrucciones http://www.onlinegdb.com

  • Brandon Serna

    Miembro
    9 septiembre, 2020 en 7:21 pm

    Hola compañero, lo que pasa es que tiene un cin y despues tiene un cin.getline, debes de proteger tu cin,getline porque lo que hace el cin es que te da un salto de linea y se lo come, ingresa un fflush(stdin) antes del cout del nombre asi mira

    También te sugiero que todos los nombres los pongas en una sola matriz para que se te haga mas sencillo al momento de imprimir y no declares tantas matrices.

    Espero haberme hecho entender jeje Sweat Smile si no me entendiste dime sin problema Ok Hand

    • Maximiliano.Rodri Zermeño

      Miembro
      11 septiembre, 2020 en 10:45 am

      Muchas gracias, si, si entendí.

      Y si trate de poner los nombres en una sola matriz pero no supe como declararla, ya que al momento de querer asignar un nombre a uno de los espacios solo me deja poner un carácter, por eso opté por declararlos todos, pero si consideré que es muy poco practico :s

      • Brandon Serna

        Miembro
        12 septiembre, 2020 en 2:14 am

        No de que compañero.

        Ok entiendo, para poder declarar las matrices puede hacerlos asi: Nombre[6][10]

        Donde el 11 representa a los alumnos y el 10 son los espacios para el nombre si quieres puedes modificarlos y ya despues en el apellido lo declaras igual, en el ciclo for para que no tengas problema ingresa un for simple para nombre y apellido y ahi mismo pones la copia y los concatenas, quedaría mas o menos asi:
        for(int i=0; i<=4; i++)
        {
        cin.getline(Nombre[i],10,’\n’);
        cin.getline(Apellido[i],10,’\n’);
        fflush(stdin); //Yo ingreso este fflush para asegurar mis cin
        strcpy(Nombrecompleto[i],Nombre[i]); //Aqui copiamos la matriz Nombre en matriz Nombrecompleto
        strcat(Nombrecompleto[i],Apellido[i]); //Aqui concatenamos el nombre con apellido
        };

        esta puede ser una idea para simplificar la parte de los nombres Sweat SmileOk Hand

        • Brandon Serna

          Miembro
          12 septiembre, 2020 en 2:26 am

          Nada mas que en el for me equivoque jeje Sweat Smile debe ser i<=9 porque serán 10 alumnos los que deseas ingresar.

          Mucha suerte compañero a mi me costo mucho trabajo comprender esa parte de las matrices, pero ayudan demasiado a la simplificación de código Grinning

          • Maximiliano.Rodri Zermeño

            Miembro
            21 septiembre, 2020 en 5:17 pm

            Vaya, ok, muchas gracias, lo modificaré para probar. Gracias nuevamente.

          • Maximiliano.Rodri Zermeño

            Miembro
            21 septiembre, 2020 en 8:43 pm

            Si no es molesta, tengo otra duda. Ya estoy utilizando matrices para guardar datos. Hice una prueba para asegurarme que las calificaciones y los promedios se guardan correctamente.

            Todo bien a excepción de que la ultima columna (la de los promedios) no los guarda.

            Imprimo la columna antes y junto con todos los datos y solo en el primer caso sale el valor real.

            Dejo el link del nuevo código.

            https://onlinegdb.com/Bk-ZUAUrv

Inicia sesión para responder.

Publicación original
0 de 0 Publicaciones Junio 2018
Ahora