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;
}
#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;
}