All pastes #32758 Raw Edit

mellow

public cpp v1 · immutable
#32758 ·published 2005-12-07 04:08 UTC
rendered paste body
#include<iostream.h>#include<stdio.h>#include<string.h>struct alumno{		char codigo[10];	char nombre[30];	char carrera[25];	char semestre[5];	void llenar_data();	void imprimir_data();};void alumno::llenar_data(){	cout<<"ingrese codigo: "<<endl;	gets(codigo);	cout<<"ingrese nombre: "<<endl;	gets(nombre);	cout<<"ingrese carrera: "<<endl;	gets(carrera);	cout<<"ingrese semestre: "<<endl;	gets(semestre);	}void alumno::imprimir_data(){	cout<<""<<endl;	cout<<" ------------------------------------------"<<endl;	cout<<"codigo   : "<<codigo<<endl;	cout<<"nombre   : "<<nombre<<endl;	cout<<"carrera  : "<<carrera<<endl;	cout<<"semestre : "<<semestre<<endl;	}struct profesor{		char codigo[10];	char nombre[30];	char curso[30];	char semcurso[5];	void llenar_data();	void imprimir_data();};void profesor::llenar_data(){	cout<<"ingrese codigo: "<<endl;	gets(codigo);	cout<<"ingrese nombre: "<<endl;	gets(nombre);	cout<<"ingrese el curso: "<<endl;	gets(curso);	cout<<"ingrese el semestre del curso: "<<endl;	gets(semcurso);	}void profesor::imprimir_data(){	cout<<""<<endl;	cout<<" ------------------------------------------"<<endl;	cout<<"codigo:            : "<<codigo<<endl;	cout<<"nombre             : "<<nombre<<endl;	cout<<"curso              : "<<curso<<endl;	cout<<"semestre del curso : "<<semcurso<<endl;}struct tesis{	char codigo[10];	char titulo[30];	char autor[20];  	char estado[2];		void llenar_data();	void imprimir_data();};void tesis::llenar_data(){	cout<<"ingrese codigo: "<<endl;	gets(codigo);	cout<<"ingrese titulo: "<<endl;	gets(titulo);	cout<<"ingrese autor: "<<endl;	gets(autor);	cout<<"ingrese estado: "<<endl;	gets(estado);}void tesis::imprimir_data(){	cout<<""<<endl;	cout<<" ------------------------------------------"<<endl;	cout<<"codigo       : "<<codigo<<endl;	cout<<"titulo       : "<<titulo<<endl;	cout<<"autor        : "<<autor<<endl;	cout<<"estado       : "<<estado<<endl;}struct revista{		char codigo[10];	char titulo[30];	char estado[2];	int num_ejem;	int anyo;		void llenar_data();	void imprimir_data();};void revista::llenar_data(){	cout<<"ingrese codigo: "<<endl;	gets(codigo);	cout<<"ingrese titulo: "<<endl;	gets(titulo);	cout<<"ingrese año: "<<endl;	cin>>anyo;	cout<<"ingrese estado: "<<endl;	gets(estado);	cout<<"ingrese numero de ejemplares: "<<endl;	cin>>num_ejem;}void revista::imprimir_data(){	cout<<""<<endl;	cout<<" ------------------------------------------"<<endl;	cout<<"codigo               : "<<codigo<<endl;	cout<<"titulo               : "<<titulo<<endl;	cout<<"año                  : "<<anyo<<endl;	cout<<"estado               : "<<estado<<endl;	cout<<"numero de ejemplares : "<<num_ejem<<endl;}struct libro{		char codigo[10];	char titulo[30];	char editorial[15];	char estado[2];	int num_ejem;	int anyo;		void llenar_data();	void imprimir_data();};void libro::llenar_data(){	cout<<"ingrese codigo: "<<endl;	gets(codigo);	cout<<"ingrese titulo: "<<endl;	gets(titulo);	cout<<"ingrese editorial: "<<endl;	gets(editorial);	cout<<"ingrese año: "<<endl;	cin>>anyo;	cout<<"ingrese estado: "<<endl;	gets(estado);	cout<<"ingrese numero de ejemplares: "<<endl;	cin>>num_ejem;}void libro::imprimir_data(){	cout<<""<<endl;	cout<<" ------------------------------------------"<<endl;	cout<<"codigo               : "<<codigo<<endl;	cout<<"titulo               : "<<titulo<<endl;	cout<<"editorial            : "<<editorial<<endl;	cout<<"año                  : "<<anyo<<endl;	cout<<"estado               : "<<estado<<endl;	cout<<"numero de ejemplares : "<<num_ejem<<endl;}struct sistema{		alumno *listaalu[100];	profesor *listapro[100];	tesis *listates[100];	revista *listarev[100];	libro *listalib[100];	int actualalu, actualpro, actualtes, actualrev, actuallib;	void crear();	void ingresar(int tipo);	void listar(int tipo);	int buscar(int tipo);	void eliminar(int tipo);}S;void sistema::crear(){	for (int i=0; i<100; i++){				listaalu[i]=NULL;		listapro[i]=NULL;		listates[i]=NULL;		listarev[i]=NULL;		listalib[i]=NULL;	}	actualalu= -1;	actualpro= -1;	actualtes= -1;	actualrev= -1;	actuallib= -1;}void sistema::ingresar(int op){	if (op==1){				listaalu[++actualalu]=new alumno;		listaalu[actualalu]->llenar_data();	}	else if (op==2){				listapro[++actualpro]=new profesor;		listapro[actualpro]->llenar_data();	}	else if (op==3){		listates[++actualtes]=new tesis;		listates[actualtes]->llenar_data();	}	else if (op==4){		listarev[++actualrev]=new revista;		listarev[actualrev]->llenar_data();	}	else if (op==5){		listalib[++actuallib]=new libro;		listalib[actuallib]->llenar_data();	}	else		cout<<"Debe ingresar una opción correcta [1-5]"<<endl;}void sistema::listar(int op){		if (op==1){		for (int i=0; i<=actualalu; i++)			listaalu[i]->imprimir_data();	}	else if (op==2){		for (int i=0; i<=actualpro; i++)			listapro[i]->imprimir_data();	}	else if (op==3){		for (int i=0; i<=actualtes; i++)			listates[i]->imprimir_data();	}	else if (op==4){		for (int i=0; i<=actualrev; i++)			listarev[i]->imprimir_data();	}	else if (op==5){		for (int i=0; i<=actuallib; i++)			listalib[i]->imprimir_data();	}	else if (op==6)	{}	else		cout<<"Debe ingresar una opción correcta [1-5]"<<endl;}int sistema::buscar(int op){	char cod[10];	printf("\nIngrese un codigo: ");	gets(cod);	if (op==1){		for(int i=0;i<=actualalu;i++){			if (strcmp(listaalu[i]->codigo, cod)==0){				return i;			}		}		return -1;	}	else if (op==2){		for(int i=0;i<=actualpro;i++){			if (strcmp(listapro[i]->codigo,cod)==0){				return i;			}		}		return -1;	}	else if (op==3){		for(int i=0;i<=actualtes;i++){			if (strcmp(listates[i]->codigo,cod)==0){				return i;			}		}		return -1;	}	else if (op==4){		for(int i=0;i<=actualrev;i++){			if (strcmp(listarev[i]->codigo,cod)==0){				return i;			}		}		return -1;	}	else if (op==5){		for(int i=0;i<=actuallib;i++){			if (strcmp(listalib[i]->codigo,cod)==0){				return i;			}		}		return -1;	}		else		return -1;}void sistema::eliminar(int op){	char cod[10];	printf("\nIngrese un codigo: ");	gets(cod);	if (op==1){		for(int i=0;i<=actualalu;i++){			if (strcmp(listaalu[i]->codigo, cod)==0){				delete listaalu[i];					for(int j=i; j<actualalu; j++){					listaalu[j] = listaalu[j+1];				}				actualalu--;			}		}	}	else if (op==2){		for(int i=0;i<=actualpro;i++){			if (strcmp(listapro[i]->codigo,cod)==0){				delete listapro[i];					for(int j=i; j<actualpro; j++){					listapro[j] = listapro[j+1];				}				actualpro--;			}		}			}	else if (op==3){		for(int i=0;i<=actualtes;i++){			if (strcmp(listates[i]->codigo,cod)==0){				delete listates[i];				for(int j=i; j<actualtes; j++){					listates[j] = listates[j+1];				}				actualtes--;			}		}			}	else if (op==4){		for(int i=0;i<=actualrev;i++){			if (strcmp(listarev[i]->codigo,cod)==0){				delete listarev[i];				for(int j=i; j<actualrev; j++){					listarev[j] = listarev[j+1];				}				actualrev--;			}		}	}	else if (op==5){		for(int i=0;i<=actuallib;i++){			if (strcmp(listalib[i]->codigo,cod)==0){				delete listalib[i];				for(int j=i; j<actuallib; j++){					listalib[j] = listalib[j+1];				}				actuallib--;			}		}			}	else		cout<<"Debe ingresar una opción correcta [1-5]"<<endl;}	//void eliminar(int tipo); 	// Debe ingresar el código del registro a eliminar, si existe debe eliminarlo	// físicamente (delete) y actualizar la lista (los registros deben adelantarse	// a partir de la posición eliminada, además actualizar las variables actual 	// del tipo correspondiente). Sino existiera el registro en la lista, no se 	// eliminará nada y se debe mostrar un mensaje apropiado.struct prestamo{	char codigo[10];	char fecha[25];	sistema sis;	libro lib;	int verificarpersona(int tipo);	int verificardocumentoyestado(int tipo);}P;int prestamo::verificarpersona(int op){	char cod[10];	printf("\nIngrese un codigo: ");	gets(cod);	if(op==1){		for(int i=0;i<=sis.actualalu;i++){			if (strcmp(sis.listaalu[i]->codigo, cod)==0){				return 1;			}		}	return -1;	}	else if(op==2){		for(int i=0;i<=sis.actualpro;i++){			if (strcmp(sis.listapro[i]->codigo, cod)==0){				return 1;			}		}	return -1;	}}int prestamo::verificardocumentoyestado(int op){	char cod[10];	printf("\nIngrese un codigo: ");	gets(cod);	if(op==1){		for(int i=0;i<=sis.actualtes;i++){			if ((strcmp(sis.listates[i]->codigo, cod)==0)&&(strcmp(sis.listates[i]->estado,"d")==0)){				return 1;			}		}	return -1;	}	else if(op==2){		for(int i=0;i<=sis.actualrev;i++){			if ((strcmp(sis.listarev[i]->codigo, cod)==0)&&(strcmp(sis.listarev[i]->estado,"d")==0)){				return 1;			}		}	return -1;	}	else if(op==3){		for(int i=0;i<=sis.actuallib;i++){			if ((strcmp(sis.listalib[i]->codigo, cod)==0)&&(strcmp(sis.listalib[i]->estado,"d")==0)){				return 1;			}		}	return -1;	}}int main(){	int men, op1, op2, op3, op4, op5, op6;	S.crear();		for( ; ; ){		cout<<"\n        MENU -> BIBLIOTECA"<<endl;		cout<<" ------------------------------------------"<<endl;		cout<<"1. Ingreso de Registros \n";		cout<<"2. Listado de Registros\n";		cout<<"3. Busquedas\n";		cout<<"4. Eliminacion de Registros\n";			cout<<"5. Para realizar un prestamo\n";		cout<<"6. Salir\n";		cout<<"Elija una opcion: ";		cin>>men;					switch(men){			int x;			case 1: 					cout<<" --------------------------------------"<<endl;					cout<<"1. Agregar alumno\n";					cout<<"2. Agregar profesor \n";					cout<<"3. Agregar tesis\n";					cout<<"4. Agregar revista\n";					cout<<"5. Agregar libro\n";					cout<<"6. Regresar\n";					cout<<"Ingrese una opcion: ";					cin>>op1;					S.ingresar(op1);					break;						case 2: 					cout<<" --------------------------------------"<<endl;					cout<<"1. Listar alumno\n";					cout<<"2. Listar profesor \n";					cout<<"3. Listar tesis\n";					cout<<"4. Listar revista\n";					cout<<"5. Listar libro\n";					cout<<"6. Regresar\n";					cout<<"Ingrese una opcion: ";					cin>>op2;					S.listar(op2);					break;								case 3: 					cout<<" --------------------------------------"<<endl;					cout<<"1. Buscar alumno\n";					cout<<"2. Buscar profesor \n";					cout<<"3. Buscar tesis\n";					cout<<"4. Buscar revista\n";					cout<<"5. Buscar libro\n";					cout<<"6. Regresar\n";					cout<<"Ingrese una opcion: ";					cin>>op3;					x = S.buscar(op3);					if(x!=-1)						switch(op3){							case 1:								S.listaalu[x]->imprimir_data();								break;							case 2:								S.listapro[x]->imprimir_data();								break;							case 3:								S.listates[x]->imprimir_data();								break;							case 4:								S.listarev[x]->imprimir_data();								break;							case 5:								S.listalib[x]->imprimir_data();								break;						}					break;			case 4: 					cout<<" --------------------------------------"<<endl;					cout<<"1. Eliminar alumno\n";					cout<<"2. Eliminar profesor\n";					cout<<"3. Eliminar tesis\n";					cout<<"4. Eliminar revista\n";					cout<<"5. Eliminar libro\n";					cout<<"6. Regresar\n";					cout<<"Ingrese una opcion: ";					cin>>op4;					S.eliminar(op4);					break;			case 5:										cout<<" --------------------------------------"<<endl;					cout<<"tipo de usuario: \n";					cout<<"1. si es alumno\n";					cout<<"2. si es profesor\n";					cout<<"Ingrese una opcion: ";					cin>>op5;					if(P.verificarpersona(op5)==-1){						cout<<"el usuario no existe\n";						break;					}					else{						cout<<"tipo de documento: \n";						cout<<"1. si es tesis\n";						cout<<"2. si es revista\n";						cout<<"3. si es libro\n";						cout<<"Ingrese una opcion: ";						cin>>op6;						if(P.verificardocumentoyestado(op6)==-1){							cout<<"el documento no existe\n";							break;						}						else{																			}					}			case 6:					return 0;					break;		}	}}