You are on page 1of 5

// proyectofinalalgoritmos.

cpp: define el punto de entrada de la aplicaci�n de


consola.
//

#include "stdafx.h"
#include<cstdlib>
#include<iostream>
#include<fstream>
#include<string.h>
#include<windows.h>
# include <stdlib.h>

using namespace std;


void altas();
void bajas();
void buscar();
void consultas();
void modificaciones();
void salir();
void menu();
//Variables
Globales///////////////////////////////////////////////////////////////////////////
/////////////
char nombre[100], nombre2[100], apellido[100], apellido2[100], puesto[100];
int edad = 0, clave = 0, auxClave = 0;
double salario = 0;
bool encontrado = false;
char auxGrupo[100];
char EXIT[19] = { 'P','R','O','G','R','A','M','A','
','F','I','N','A','L','I','Z','A','D','O' };
int main() {
system("color 3F");//ejemplo
menu();
return 0;
system("PAUSE");
}
void menu() {
int opcion = 0;
do {

cout << "///////////////SISTEMA DE PLANILLA///////////////" << endl <<


endl;
cout << "1. Dar de alta a empleado" << endl;
cout << "2. Dar de baja a empleado" << endl;
cout << "3. consultar lista de empleados" << endl;
cout << "4. Buscar un empleado" << endl;
cout << "5. Modificar nombre de empleado" << endl;
cout << "6. Salir" << endl << endl;
cout << "Que deseas hacer? "<<endl;
cin >> opcion;
switch (opcion) {
case 1:
altas();
break;
case 2:
bajas();
break;
case 3:
consultas();
break;
case 4:
buscar();
break;
case 5:
modificaciones();
break;
case 6:
salir();
break;
default:
cout << "�Opcion Incorrecta!" << endl;
}
} while (opcion != 6);
}//Fin funcion menu
void altas() {
ofstream escritura;
ifstream consulta;
bool repetido = false;
escritura.open("empleados.txt", ios::out | ios::app);
consulta.open("empleados.txt", ios::in);
if (escritura.is_open() && consulta.is_open()) {
cout << "Ingresa la Clave del empleado: ";
cin >> auxClave;
consulta >> clave;
while (!consulta.eof()) {
consulta >> nombre >> nombre2 >>apellido>>apellido2>> salario >>
puesto >> edad;
if (clave == auxClave) {
cout << "Ya Existe un Registro con esta Clave" << endl;
repetido = true;
break;
}
consulta >> clave;
}
if (repetido == false) {
cout << "Ingresa el nombre completo del empleado: ";
cin >> nombre >> nombre2>>apellido>>apellido2;
cout << "Ingresa el salario del empleado: ";
cin >> salario;
cout << "Ingresa el area en la que se encuentra el empleado: ";
cin >> puesto;
cout << "Ingresa la Edad del empleado: ";
cin >> edad;
escritura << auxClave << " " << nombre << " " << nombre2 << " "
<<apellido<<" "<<apellido2<< " "<< salario << " " << puesto << " " << edad << endl
<< endl;
cout << "Registro agregado" << endl;
}

}
else {
cout << "Error, el Archivo No se Pudo Abrir o No ha sido Creado" <<
endl;
}
escritura.close();
consulta.close();
}//Fin funcion altas
void consultas() {
ifstream lectura;
lectura.open("empleados.txt", ios::out | ios::in);
if (lectura.is_open()) {
cout << "Registros del Archivo empleados.txt" << endl;
cout << "________________________________" << endl;
lectura >> clave;
while (!lectura.eof()) {
lectura >> nombre >> nombre2 >>apellido>>apellido2>> salario >>
puesto >> edad;
cout << "Clave: " << clave << endl;
cout << "Nombre: " << nombre << " " << nombre2 << " " << apellido
<< " " << apellido2 << endl;
cout << "Salario: " << salario << endl;
cout << "puesto: " << puesto << endl;
cout << "Edad: " << edad << endl;
lectura >> clave;
cout << "________________________________" << endl;
}
}
else {
cout << "Error, el Archivo No se Pudo Abrir, No ha sido creado" <<
endl;
}
lectura.close();
}//Fin funcion consultas
////////////////////////////////////////////////////////////////////////////////

void bajas() {

ofstream aux;
ifstream lectura;
encontrado = false;
int auxClave = 0;
aux.open("auxiliar.txt", ios::out);
lectura.open("empleados.txt", ios::in);
if (aux.is_open() && lectura.is_open()) {
cout << "Ingresa la Clave del empleado que deseas eliminar: ";
cin >> auxClave;
lectura >> clave;
while (!lectura.eof()) {

lectura >> nombre >> nombre2 >> apellido >>apellido2>>salario >>


puesto >> edad;
if (auxClave == clave) {
encontrado = true;

cout << "Registro eliminado" << endl;


}
else {
aux << clave << " " << nombre << " " << nombre2 << " "
<<apellido<< " "<<apellido2<< " "<< salario << " " << puesto << " " << edad <<
endl;
}
lectura >> clave;
}
}
else {
cout << "No se pudo Abrir el Archivo o aun no ha sido Creado" << endl;
}
if (encontrado == false) {
cout << "No se encontro ningun registro con clave " << auxClave <<
endl;
}
aux.close();
lectura.close();
remove("empleados.txt");
rename("auxiliar.txt", "empleados.txt");
}
////////////////////////////////////////////////////////////////////////////////
void buscar() {
ifstream lectura;//Creamos la variable de tipo lectura
lectura.open("empleados.txt", ios::out | ios::in);//Abrimos el archivo

//validando la apertura del archivo


encontrado = false;
if (lectura.is_open()) {
cout << "Ingresa la Clave del empleado que deseas Buscar: ";
cin >> auxClave;
lectura >> clave;//lectura adelantada

while (!lectura.eof()) {
lectura >> nombre >> nombre2 >>apellido>>apellido2>> salario >>
puesto >> edad;//leyendo los campos del registro

//Comparar cada registro para ver si es encontrado


if (auxClave == clave) {
cout << "______________________________" << endl;
cout << "Clave: " << clave << endl;
cout << "Nombre: " << nombre << " " << nombre2 << " " <<
apellido << " " << apellido2 << endl;
cout << "Salario: " << salario << endl;
cout << "puesto: " << puesto << endl;
cout << "Edad: " << edad << endl;
cout << "______________________________" << endl;
encontrado = true;
}

lectura >> clave;//lectura adelantada


}
if (encontrado == false) {
cout << "No hay registros con la Clave " << auxClave << endl;
}
}
else {
cout << "No se pudoAbrir el Archivo, aun no ha sido Creado" << endl;
}
//cerrando el archivo
lectura.close();
}
void modificaciones() {
ofstream aux;
ifstream lectura;
encontrado = false;
int auxClave = 0;
char auxNombre[30];
char auxNombre2[30];
char auxapellido[30];
char auxapellido2[30];
aux.open("auxiliar.txt", ios::out);
lectura.open("empleados.txt", ios::in);
if (aux.is_open() && lectura.is_open()) {
cout << "Ingresa la Clave del empleado que deseas Modificar: ";
cin >> auxClave;
lectura >> clave;
while (!lectura.eof()) {
lectura >> nombre >> nombre2 >>apellido>>apellido2>> salario >>
puesto >> edad;
if (auxClave == clave) {
encontrado = true;
cout << "__________________________" << endl<<endl;
cout << "Clave: " << clave << endl;
cout << "Nombre: " << nombre << " " << nombre2 << " " <<
apellido << " " << apellido2 << endl;
cout << "Salario: " << salario << endl;
cout << "puesto: " << puesto << endl;
cout << "Edad: " << edad << endl;
cout << "__________________________" << endl;
cout << "Ingresa el Nuevo Nombre del empleado con Clave "
<< clave << ": ";
cin >> auxNombre >> auxNombre2>>auxapellido>>auxapellido2;
aux << clave << " " << auxNombre << " " << auxNombre2 << "
" <<auxapellido<<" "<<auxapellido2<<" "<< salario << " " << puesto << " " << edad
<< endl;
cout << "Registro Modificado" << endl;
}
else {
aux << clave << " " << nombre << " " << nombre2 << " " <<
apellido << " " << apellido2 << " " << salario << " " << puesto << " " << edad <<
endl;
}
lectura >> clave;
}
}
else {
cout << "No se pudoAbrir el Archivo o aun no ha sido Creado" << endl;
}
if (encontrado == false) {
cout << "No se encontro ningun registro con clave " << auxClave <<
endl;
}
aux.close();
lectura.close();
remove("empleados.txt");
rename("auxiliar.txt", "empleados.txt");
}
void salir() {
int i = 0;
for (i=0;i<19;i++){

cout << EXIT[i];


Sleep(200);
}

You might also like