Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2013, 15:49
pudg123
 
Fecha de Ingreso: octubre-2013
Mensajes: 1
Antigüedad: 10 años, 6 meses
Puntos: 0
Lista Encadenada

Buenas Tardes podrían ayudarme a solucionar una tarea.

1) Desarrollar un programa, para crear una lista encadenada con los datos de los alumnos de la clase de computación con forma de estructura: nombre,edad y sexo. Los datos se van introduciendo conforme van llegando los alumnos a la clase, después el maestro quiere acomodar a los alumnos en su clase de tal forma que los primeros alumnos sean del sexo femenino y luego los del sexo masculino.mostrar en la pantalla la lista inicial de los alumnos y la lista ya acomodados.

Aqui Parte del Codigo que realice.

Cita:
#include <iostream>
#include <stdlib.h>
#include <string.h>

using namespace std;

struct alumnos {
char nombre[20];
int edad;
char sexo[10];
};
struct Nodo {
alumnos info;
Nodo *siguiente;
};

Nodo *cabeza, *ptr_actual;

void insertar(){

Nodo *nuevo;

if(cabeza == NULL){
cabeza = new Nodo;
cout << "Dame Nombre del Alumno ? ";
cin >> cabeza -> info.nombre;
cout << "Dame Edad del Alumno ? ";
cin >> cabeza -> info.edad;
cout << "Dame Sexo del Alumno? ";
cin >> cabeza -> info.sexo;
cabeza -> siguiente = NULL;
ptr_actual = cabeza;
}else{
nuevo = new Nodo;
cout << "Dame Nombre del Alumno ? ";
cin >> nuevo -> info.nombre;
cout << "Dame Edad del Alumno ? ";
cin >> nuevo -> info.edad;
cout << "Dame Sexo del Alumno? ";
cin >> nuevo -> info.sexo;
nuevo -> siguiente = NULL;
ptr_actual -> siguiente = nuevo;
ptr_actual = nuevo;
}

}

void listar(){
Nodo *p;

p = cabeza;

while(p != NULL){
cout << p-> info.nombre << " " << p -> info.edad << " "<< p-> info.sexo<< endl;
p = p -> siguiente;
}

}

int main()
{
int opc;
do{
cout << " Menu Clase de Alumnos" << endl;
cout << " 1. Insertar " << endl;
cout << " 2. Listar " << endl;
cout << " 3. Listar Ordenados " << endl;
cout << " 4. Salir " << endl;
cout << " Digite su Opcion ==> " ;
cin >> opc ;
switch (opc)
{
case 1: insertar();
break;
case 2: listar();
break;
case 3: //listarOrdenados();
break;
case 4: cout << " Fin del Programa " << endl;
break;
default:cout << " Digite una Opcion Valida " << endl;
}
}while(opc != 4);

system("PAUSE");
return 0;
}

Última edición por pudg123; 06/10/2013 a las 16:10