ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Codigo de una lista simple con funciones basicas


Enviado por   •  12 de Noviembre de 2015  •  Tarea  •  2.482 Palabras (10 Páginas)  •  211 Visitas

Página 1 de 10

#include <iostream>

#include <string.h>

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

using namespace std;

class Estudiante

{

long int identificacion;

long int codigo;

long int telefono;

char nombre[20];

char carrera[25];

char direccion[20];

char asignatura[20];

short int dn;

short int mn;

short int an;

unsigned int dia;

unsigned int mes;

unsigned int anio;

float parcial1;

float taller1;

float parcial2;

float taller2;

float examen;

float definitiva;

Estudiante *sig;

public:

void crearCabeza(Estudiante *&,long int nip,long int cod,long int tel,char n[20],char c[25],char di[20],char a[20],short int dn1,short int mn1, short int an1,unsigned int d,unsigned int m,unsigned int an,float p1,float t1,float p2,float t2,float ex,float def);

void agregarNodo(Estudiante *&,long int nip,long int cod,long int tel,char n[20],char c[25],char di[20],char a[20],short int dn1,short int mn1, short int an1,unsigned int d,unsigned int m,unsigned int an,float p1,float t1,float p2,float t2,float ex,float def);

void crearLista(Estudiante *&);

void borrar(Estudiante *&);

void buscar(Estudiante *&);

void edad(Estudiante*&);

void pruebaA(Estudiante *&);

void aprobarA(Estudiante *&);

void mostrar(Estudiante *);

int comprobarI(Estudiante *&,unsigned int x);

int comprobarC(Estudiante *&,unsigned int x);

};

void Estudiante::crearCabeza(Estudiante *&cab,long int nip,long int cod,long int tel,char n[20],char c[25],char di[20],char a[20],short int dn1,short int mn1,short int an1,unsigned int d,unsigned int m,unsigned int an,float p1,float t1,float p2,float t2,float ex,float def)

{

cab=new Estudiante;

cab->identificacion=nip;

cab->codigo=cod;

cab->telefono=tel;

strcpy(cab->nombre,n);

strcpy(cab->carrera,c);

strcpy(cab->direccion,di);

strcpy(cab->asignatura,a);

cab->dn=dn1;

cab->mn=mn1;

cab->an=an1;

cab->dia=d;

cab->mes=m;

cab->anio=an;

cab->parcial1=p1;

cab->taller1=t1;

cab->parcial2=p2;

cab->taller2=t2;

cab->examen=ex;

cab->definitiva=((cab->parcial1*0.20)+(cab->taller1*0.15)+(cab->parcial2*0.20)+(cab->taller2*0.15)+(cab->examen*0.30));

cab->sig=NULL;

}

void Estudiante::agregarNodo(Estudiante *&cab,long int nip,long int cod,long int tel,char n[20],char c[25],char di[20],char a[20],short int dn1,short int mn1,short int an1,unsigned int d,unsigned int m,unsigned int an,float p1,float t1,float p2,float t2,float ex,float def)

{

Estudiante *aux=cab,*nvo;

while (aux->sig!=NULL)

aux=aux->sig;

nvo=new Estudiante;

aux->sig=nvo;

nvo->identificacion=nip;

nvo->codigo=cod;

nvo->telefono=tel;

strcpy(nvo->nombre,n);

strcpy(nvo->carrera,c);

strcpy(nvo->direccion,di);

strcpy(nvo->asignatura,a);

nvo->dn=dn1;

nvo->mn=mn1;

nvo->an=an1;

nvo->dia=d;

nvo->mes=m;

nvo->anio=an;

nvo->parcial1=p1;

nvo->taller1=t1;

nvo->parcial2=p2;

nvo->taller2=t2;

nvo->examen=ex;

nvo->definitiva=((nvo->parcial1*0.20)+(nvo->taller1*0.15)+(nvo->parcial2*0.20)+(nvo->taller2*0.15)+(nvo->examen*0.30));

nvo->sig=NULL;

}

void Estudiante::crearLista(Estudiante *&cab)

{

system("COLOR 4F");

long int nip;

long int cod;

long int tel;

short int dn1;

short int mn1;

short int an1;

unsigned int d;

unsigned int m;

unsigned int an;

float p1;

float t1;

float p2;

float t2;

float ex;

float def;

int x=0,y=0,z=0;

char n[20],c[25],di[20],a[20];

cout<<"Ingrese Identificacion: ";

cin>>nip;

z=comprobarI(*&cab,nip);

if(z==0)

{

cout<<"Ingrese Codigo: ";

cin>>cod;

y=comprobarC(*&cab,cod);

if(y==0)

{

cout<<"Ingrese Nombre: ";

gets(n);

gets(n);

cout<<"Ingrese Telefono: ";

cin>>tel;

cout<<"Ingrese Carrera: ";

gets(c);

gets(c);

cout<<"Ingrese Direccion: ";

gets(di);

cout<<"Ingrese Asignatura: ";

gets(a);

cout<<"Ingrese Fecha de Nacimiento: (D/M/A) "<<endl;

cin>>dn1;

cin>>mn1;

cin>>an1;

cout<<"Ingrese La Fecha de Hoy: (D/M/A) "<<endl;

cin>>d;

cin>>m;

cin>>an;

parcial1:

cout<<"Ingrese Parcial 1: ";

cin>>p1;

cout<<"Ingrese Taller 1: ";

cin>>t1;

cout<<"Ingrese Parcial 2: ";

cin>>p2;

cout<<"Ingrese Taller 2: ";

cin>>t2;

cout<<"Ingrese Examen: ";

cin>>ex;

if(cab==NULL)

{

crearCabeza(*&cab,nip,cod,tel,n,c,di,a,dn1,mn1,an1,d,m,an,p1,t1,p2,t2,ex,def);

}else{

agregarNodo(*&cab,nip,cod,tel,n,c,di,a,dn1,mn1,an1,d,m,an,p1,t1,p2,t2,ex,def);

}

...

Descargar como (para miembros actualizados) txt (15 Kb) pdf (62 Kb) docx (21 Kb)
Leer 9 páginas más »
Disponible sólo en Clubensayos.com