#include <iostream>
#include <conio.h>
#include <string.h>
#include <fstream>
#include <stdlib.h>
//Limpiar pantalla//
#ifdef _WIN32
#define CLEAR "cls"
#elif defined(unix)||defined(__unix__)||defined(__unix)||defined(__APPLE__)||defined(__MACH__)
#define CLEAR "clear"
#else
#endif
using namespace std;
class proyecto
{
private:
char nombre[100];
char carrera[100];
char num[100];
char curp[100];
public:
void altaAlumno();
void bajaAlumno();
void modificarAlumno();
void listaAlumnos();
void menuPrincipal();
void detallesAlumno();
void mostarRegistro(char codigo [100]);
};
void pausa();
void error();
void proyecto::menuPrincipal()
{
int o;
do
{
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" ~ PORTAL ASPIRANTES/ESTUDIANTES UV ~"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" ADVERTENCIA: El uso de caracteres que no sean numeros enteros, "<<endl;
cout<<" haran que el programa no corra, NO UTILIZAR LETRAS NI NUMEROS DECIMALES."<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"1. Inscribirse"<<endl;
cout<<"2. Mostrar mis datos"<<endl;
cout<<"3. Lista de Alumnos"<<endl;
cout<<"4. Dar de baja"<<endl;
cout<<"5. Modificar mis datos"<<endl;
cout<<"6. Salir"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Elija una opcion: "<<endl;
cin>>o;
system(CLEAR);
switch(o)
{
case 1:
altaAlumno();
break;
case 2:
detallesAlumno();
break;
case 3:
listaAlumnos();
break;
case 4:
bajaAlumno();
break;
case 5:
modificarAlumno();
break;
case 6:
break;
default:
cout<<"Ha ingresado una opcion no valida."<<endl;
break;
}
}
while(o!=6);
}
void proyecto::altaAlumno()
{
ofstream escribir;
ifstream checar;
char auxCurp[100];
bool coincidencia=false;
checar.open("alumnos.txt",ios::in);
escribir.open("alumnos.txt",ios::app);
if(escribir.is_open()&&checar.is_open())
{
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" INSCRIBIRSE"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
fflush(stdin);
cout<<"Ingrese su Curp: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
if(strcmp(auxCurp,"")==0)
do
{
cout<<"Curp no valido!, intentalo nuevamente: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
}
while(strcmp(auxCurp,"")==0);
do
{
checar.seekg(0);
checar>>curp;
while(!checar.eof())
{
checar>>nombre>>carrera>>num;
if(strcmp(curp,auxCurp)==0)
{
coincidencia=true;
cout<<"\n\nYa existe un alumno con ese curp."<<endl;
cout<<"Ingresa un curp valido: "<<endl;
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
if(strcmp(auxCurp,"")==0)
do
{
cout<<"\nCurp no valido!, intentalo nuevamente: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
}
while(strcmp(auxCurp,"")==0);
break;
}
checar>>curp;
}
if(checar.eof()&&strcmp(auxCurp,curp)!=0)
coincidencia=false;
}
while(coincidencia==true);
system(CLEAR);
strcpy(curp,auxCurp);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" INSCRIBIRSE"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Ingrese su Curp: ";
cout<<curp;
cout<<"\n\n";
fflush(stdin);
cout<<"Ingrese su Nombre: ";
cin.getline(nombre,100, '\0');
cout<<"\n\n";
fflush(stdin);
cout<<"Ingrese la Carrera solicitada: ";
cin.getline(carrera,100, '\0');
cout<<"\n\n";
fflush(stdin);
cout<<"Ingrese su Numero de telefono: ";
cin.getline(num,100, '\0');
cout<<"\n\n";
fflush(stdin);
escribir<<curp<<"\n\n"<<nombre<<"\n\n"<<carrera<<"\n\n"<<num<<"\n\n";
cout<<"Inscripcion exitosa, Bienvenido."<<endl;
}
else
{
error();
}
escribir.close();
checar.close();
pausa();
}
void proyecto::bajaAlumno()
{
ifstream leer;
ofstream auxiliar;
bool encontrado=false;
char auxCurp[100];
char mismoCurp[100];
char respuesta[5];
leer.open("alumnos.txt",ios::in);
auxiliar.open("auxiliar.txt",ios::out);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" SISTEMA DE BAJAS"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
if(leer.is_open()&&auxiliar.is_open())
{
fflush(stdin);
cout<<"Ingresa el Curp para dar de baja: "<<endl;
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
leer>>curp;
while(!leer.eof())
{
leer>>nombre>>carrera>>num>>mismoCurp;
if(strcmp(auxCurp,curp)==0)
{
encontrado=true;
cout<<"\n\nCurp Encontrado\n\n";
cout<<"Curp: "<<curp<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Carrera: "<<carrera<<endl;
cout<<"Numero de telefono: "<<num<<endl;
cout<<"\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Realmente deseas darte de baja: "<<nombre<<" (s/n)?: ";
cin.getline(respuesta,5, '\n');
if(strcmp(respuesta,"s")==0||strcmp(respuesta,"S")==0||
strcmp(respuesta,"si")==0||strcmp(respuesta,"SI")==0||
strcmp(respuesta,"Si")==0||strcmp(respuesta,"sI")==0)
{
cout<<"\n\nTe has dado de naja correctamente\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
}
else
{
cout<<"\n\nCliente conservado\n\n";
auxiliar<<curp<<"\n\n"<<nombre<<"\n\n"<<carrera<<"\n\n"<<num<<"\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
}
}
else
{
auxiliar<<curp<<"\n\n"<<nombre<<"\n\n"<<carrera<<"\n\n"<<num<<"\n\n";
}
leer>>curp;
}
if(encontrado==false)
{
cout<<"\n\nNo se encontro el curp: "<<auxCurp<<"\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
}
}
else
{
error();
}
leer.close();
auxiliar.close();
remove("alumnos.txt");
rename("auxiliar.txt","alumnos.txt");
pausa();
}
void proyecto::detallesAlumno()
{
char auxCurp [100];
ifstream mostrar;
bool encontrado=false;
mostrar.open("alumnos.txt",ios::in);
if(mostrar.is_open())
{
fflush(stdin);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" CONSULTAR MIS DATOS"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Ingrese su curp por favor: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
mostrar>>curp;
while(!mostrar.eof())
{
mostrar>>nombre>>carrera>>num;
if(strcmp(auxCurp,curp)==0)
{
encontrado=true;
cout<<"\n\nRegistro Encontrado\n\n";
cout<<"Curp: "<<curp<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Carrera: "<<carrera<<endl;
cout<<"Numero de telefono: "<<num<<endl;
cout<<"\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
}
mostrar>>curp;
}
if(encontrado==false)
{
cout<<"\n\nNo se encontro el registro: "<<auxCurp<<"\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
}
}
else
{
error();
}
mostrar.close();
pausa();
}
void proyecto::modificarAlumno()
{
ifstream leer;
ifstream checar;
ofstream auxiliar;
char auxCurp[100];
char curpModif[100];
char auxNombre[100];
char auxcarrera[100];
char auxnum[100];
char auxFecha[100];
bool encontrado=false;
bool coincidencia=false;
bool mismoCurp=false;
leer.open("alumnos.txt",ios::in);
checar.open("alumnos.txt",ios::in);
auxiliar.open("auxiliar.txt",ios::out);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" MODIFICAR MIS DATOS"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
if(leer.is_open()&&checar.is_open()&&auxiliar.is_open())
{
fflush(stdin);
cout<<"Ingrese su curp por favor: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
if(strcmp(auxCurp,"")==0)
{
do
{
cout<<"Curp invalido!, intentalo nuevamente: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
}
while(strcmp(auxCurp,"")==0);
}
strcpy(curpModif,auxCurp);
leer>>curp;
while(!leer.eof())
{
leer>>nombre>>carrera>>num;
if(strcmp(auxCurp,curp)==0)
{
encontrado=true;
mostarRegistro(curpModif);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Ingresa la nueva informacion\n\n";
fflush(stdin);
cout<<"Ingrese su curp: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
if(strcmp(auxCurp,curpModif)==0)
{
mismoCurp=true;
}
if(mismoCurp==false)
{
do
{
if(strcmp(auxCurp,curpModif)==0)
{
coincidencia=false;
break;
}
checar.seekg(0);
checar>>curp;
while(!checar.eof())
{
checar>>nombre>>carrera>>num;
if(strcmp(curp,auxCurp)==0)
{
coincidencia=true;
cout<<"\n\nYa existe un curp igual!\n\n";
cout<<"Ingresa un curp valido!: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
if(strcmp(auxCurp,"")==0)
{
do
{
cout<<"\n Curp no valido, ";
cout<<"intentalo nuevamente: ";
cin.getline(auxCurp,100, '\n');
cout<<"--------------------------------------------------------------------------"<<endl;
}
while(strcmp(auxCurp,"")==0);
}
break;
}
checar>>curp;
}
if(checar.eof()&&strcmp(auxCurp,curp)!=0)
{
coincidencia=false;
}
}
while(coincidencia==true);
}
system(CLEAR);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" MODIFICAR MIS DATOS"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Ingrese su Curp por favor: ";
cout<<curpModif;
mostarRegistro(curpModif);
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"\n\n";
cout<<"Ingresa la nueva informacion \n\n";
cout<<"Ingrese su Curp: ";
cout<<auxCurp;
cout<<"\n\n";
fflush(stdin);
cout<<"Ingrese su Nomre: ";
cin.getline(auxNombre,100, '\n');
fflush(stdin);
cout<<"\n\n";
fflush(stdin);
cout<<"Ingresa el Numero de telefono: ";
cin.getline(auxnum,100, '\n');
cout<<"\n\n";
fflush(stdin);
auxiliar<<auxCurp<<"\n\n"<<auxNombre<<"\n\n"<<auxcarrera<<"\n\n"<<auxnum
<<"\n\n";
cout<<"Los datos de han modificado correctamente.\n\n";
}
else
{
auxiliar<<curp<<"\n\n"<<nombre<<"\n\n"<<carrera<<"\n\n"<<num
<<"\n\n";
}
leer>>curp;
}
}
else
{
error();
}
if(encontrado==false)
{
cout<<"\n\nNo se encontro su curp.\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
}
leer.close();
checar.close();
auxiliar.close();
remove("alumnos.txt");
rename("auxiliar.txt","alumnos.txt");
pausa();
}
void proyecto::listaAlumnos()
{
int i=0;
ifstream leer;
leer.open("alumnos.txt",ios::in);
if(leer.is_open())
{
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<" LISTADOS DE ALUMNOS INSCRITOS"<<endl;
cout<<"--------------------------------------------------------------------------"<<endl;
leer>>curp;
while(!leer.eof())
{
i++;
leer>>nombre>>carrera>>num;
cout<<"Curp: "<<curp<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Carrera: "<<carrera<<endl;
cout<<"Numero de telefono: "<<num<<endl;
leer>>curp;
cout<<"--------------------------------------------------------------------------"<<endl;
}
if(i==1)
cout<<"Solo hay un Alumno inscrito."<<endl;
else
cout<<"Hay un total de "<<i<<" Alumnos inscritos. "<<endl;
}
else
{
error();
}
leer.close();
pausa();
}
void pausa()
{
cout<<"Presiona Enter para continuar...";
getch();
system(CLEAR);
}
int main()
{
proyecto inicio;
system ("color 00");
inicio.menuPrincipal();
return 0;
}
void error()
{
cout<<"No se pudo abrir el archivo de registros, asegurese que el archivo se encuentre en"<<endl;
cout<<"la misma ubicacion que el programa o que el archivo de texto se llame: "<<endl;
cout<<"alumnos.txt, si el archivo tiene otro nombre renombrelo al ya mencionado"<<endl;
}
void proyecto::mostarRegistro(char codigo[100])
{
ifstream mostrar;
mostrar.open("alumnos.txt",ios::in);
mostrar>>curp;
while(!mostrar.eof())
{
mostrar>>nombre>>carrera>>num;
if(strcmp(codigo,curp)==0)
{
cout<<"\n\nRegistro Encontrado\n\n";
cout<<"--------------------------------------------------------------------------"<<endl;
cout<<"Curp: "<<curp<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Carrera: "<<carrera<<endl;
cout<<"Numero de telefono: "<<num<<endl;
}
mostrar>>curp;
}
mostrar.close();
}