/*
Proyecto #8
Sistema para guardar información de maestros y sus materias
*/
#include <iostream>
#include <string.h>
#define PSW 1234
using namespace std;
struct maestro {
char nombre[15], pais[10];
char especialidad[15];
int edad;
};
struct fecha {
int dd, mm, aa;
};
struct curso {
char nombreC[35];
maestro ma;
fecha fe;
}datos[3];
int main() {
int op = 0, op2 = 0, flag = 0, a = 0, aux = 0;
int psw = 0;
char buscar[35] = {};
//Primero Curso
strcpy(datos[0].ma.nombre, "Humberto");
strcpy(datos[0].ma.pais, "Mexico");
datos[0].ma.edad = 25;
strcpy(datos[0].ma.especialidad, "Programacion");
strcpy(datos[0].nombreC, "Curso profesional de c++");
datos[0].fe.dd = 20;
datos[0].fe.mm = 02;
datos[0].fe.aa = 2020;
//Segundo Curso
strcpy(datos[1].ma.nombre, "Eduardo");
strcpy(datos[1].ma.pais, "Mexico");
datos[1].ma.edad = 30;
strcpy(datos[1].ma.especialidad, "Base de datos");
strcpy(datos[1].nombreC, "Curso profesional de SQL");
datos[1].fe.dd = 10;
datos[1].fe.mm = 01;
datos[1].fe.aa = 2015;
//Tercer Curso
strcpy(datos[2].ma.nombre, "Aldo");
strcpy(datos[2].ma.pais, "Mexico");
datos[2].ma.edad = 32;
strcpy(datos[2].ma.especialidad, "Servidores");
strcpy(datos[2].nombreC, "Curso profesional de servidores");
datos[2].fe.dd = 15;
datos[2].fe.mm = 3;
datos[2].fe.aa = 2017;
do {
cout<<endl;
cout<<"********************MENU********************"<<endl;
cout<<"1-Buscar cursos por maestro"<<endl;
cout<<"2-Buscar cursos por especialidad"<<endl;
cout<<"3-Buscar cursos mayores a cierto anio"<<endl;
cout<<"4-Buscar cursos menores a cierto anio"<<endl;
cout<<"5-modificar datos"<<endl;
cout<<"0-Salir"<<endl;
cout<<"********************************************"<<endl<<endl;
cout<<"Opcion: ";
cin>>op;
cout<<endl;
switch(op) {
case 0: cout<<"Adios"<<endl; break;
case 1:
cout<<"Ingrese el nombre: ";
cin.ignore();
cin.getline(buscar,15);
flag = 0;
cout<<endl;
for(int i = 0; i < 3; i++) {
if(!strcmp(datos[i].ma.nombre, buscar)) {
cout<<"Nombre: "<<datos[i].ma.nombre<<endl<<"Edad: "<<datos[i].ma.edad<<endl;
cout<<"Pais: "<<datos[i].ma.pais<<endl<<"Especialidad: "<<datos[i].ma.especialidad<<endl;
cout<<"Curso: "<<datos[i].nombreC<<endl;
cout<<"Fecha: "<<datos[i].fe.dd<<"/"<<datos[i].fe.mm<<"/"<<datos[i].fe.aa<<endl;
flag = 1;
}
}
if(!flag)
cout<<"Maestro no existe"<<endl;
break;
case 2:
cout<<"Ingrese la especialidad: ";
cin.ignore();
cin.getline(buscar,35);
flag = 0;
cout<<endl;
for(int i = 0; i < 3; i++) {
if(!strcmp(datos[i].ma.especialidad, buscar)) {
cout<<"Nombre: "<<datos[i].ma.nombre<<endl<<"Edad: "<<datos[i].ma.edad<<endl;
cout<<"Pais: "<<datos[i].ma.pais<<endl<<"Especialidad: "<<datos[i].ma.especialidad<<endl;
cout<<"Curso: "<<datos[i].nombreC<<endl;
cout<<"Fecha: "<<datos[i].fe.dd<<"/"<<datos[i].fe.mm<<"/"<<datos[i].fe.aa<<endl;
flag = 1;
}
}
if(!flag)
cout<<"Especialidad no existe"<<endl;
break;
case 3:
cout<<"Digite el anio (aaaa): ";
cin>>a;
flag = 0;
for(int i = 0; i < 3; i++) {
if(datos[i].fe.aa > a) {
cout<<endl<<"Nombre: "<<datos[i].ma.nombre<<endl<<"Edad: "<<datos[i].ma.edad<<endl;
cout<<"Pais: "<<datos[i].ma.pais<<endl<<"Especialidad: "<<datos[i].ma.especialidad<<endl;
cout<<"Curso: "<<datos[i].nombreC<<endl;
cout<<"Fecha: "<<datos[i].fe.dd<<"/"<<datos[i].fe.mm<<"/"<<datos[i].fe.aa<<endl;
flag = 1;
}
}
if(!flag)
cout<<"No existen cursos en esa fecha"<<endl;
break;
case 4:
cout<<"Digite el anio (aaaa): ";
cin>>a;
flag = 0;
for(int i = 0; i < 3; i++) {
if(datos[i].fe.aa < a) {
cout<<endl<<"Nombre: "<<datos[i].ma.nombre<<endl<<"Edad: "<<datos[i].ma.edad<<endl;
cout<<"Pais: "<<datos[i].ma.pais<<endl<<"Especialidad: "<<datos[i].ma.especialidad<<endl;
cout<<"Curso: "<<datos[i].nombreC<<endl;
cout<<"Fecha: "<<datos[i].fe.dd<<"/"<<datos[i].fe.mm<<"/"<<datos[i].fe.aa<<endl;
flag = 1;
}
}
if(!flag)
cout<<"No existen cursos en esa fecha"<<endl;
break;
case 5:
cout<<"Digite la contrasenia: ";
cin>>psw;
if(psw == PSW) {
do{
cout<<endl;
cout<<"Elija el maestro que desea editar"<<endl;
for(int i = 0; i < 3; i++)
cout<<i+1<<"-"<<datos[i].ma.nombre<<endl;
cout<<"Opcion: ";
cin>>op2;
}while(op2 > 3 || op2 < 1);
aux = op2-1;
do{
cout<<endl;
cout<<"Elija el campo que desa editar"<<endl;
cout<<"1-Nombre"<<endl<<"2-Edad"<<endl<<"3-Pais"<<endl;
cout<<"4-Especialidad"<<endl<<"5-Curso"<<endl<<"6-Fecha"<<endl;
cout<<"0-Salir"<<endl;
cout<<"Opcion: ";
cin>>op2;
cout<<endl;
switch(op2) {
case 0: break;
case 1:
cout<<"Nombre: ";
cin.ignore();
cin.getline(datos[aux].ma.nombre,15);
break;
case 2:
cout<<"Edad: ";
cin>>datos[aux].ma.edad;break;
case 3:
cout<<"Pais: ";
cin.ignore();
cin.getline(datos[aux].ma.pais,10);
break;
case 4:
cout<<"Especialidad: ";
cin.getline(datos[aux].ma.especialidad,15);
break;
case 5:
cout<<"Curso: ";
cin.getline(datos[aux].nombreC,35);
break;
case 6:
cout<<"Fecha (dd mm aaaa): ";
cin>>datos[aux].fe.dd>>datos[aux].fe.mm>>datos[aux].fe.aa;
break;
}
}while( op2 != 0);
}else cout<<endl<<"Contraseña incorrecta"<<endl;
break;
default: cout<<"Opcion Invalida"<<endl; break;
}
}while(op != 0 || op > 5);
return 0;
}