viernes, 12 de abril de 2013

PROYECTO


//proyecto: Control de ordenes de trabajo
//integrantes del equipo: Calderon Hernandez Hugo 11211053
//                        Fuentes Aranda Jesus Javier 11211018
//                        Onofre Gonzalez Adrian Hilario 11211031

#include <time.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <fstream.h>

//datosclientes(int, char);
//datosupervisor(int, char);
//ordenes(int, char);
//reporte(int, char);
//fecha();

void fecha()
{
cout<<""<<endl;
cout<<"\t\tDatos"<<endl;
char sdate[9];
_strdate(sdate);
cout<<endl;
cout<<"                       "<<"\t\t\t\t\t fecha "<<sdate<<endl;
}

void reemplazar(char *str, char o, char v)
{
char *p;
while (p = strchr(str, o)) {*p = v;}
}

void datosclientes()
{
ofstream salida;
salida.open("C://Clientes.txt", ios::app);
char nocliente[40], sigue;
char empresa[40];
char contacto[30];
char puesto[40];
int telefono;
char email[30];
char direccion[40];
char stime[10];
char sdate[10];

_strdate(sdate);

do{
_strtime(stime);
clrscr();
fecha();

cout << " Introduzca No. de cliente: ";
cin.ignore(9000, '\n');
cin.getline(nocliente, 40, '\n');
cout <<endl;

cout<<" Introduzca el nombre de la Empresa: ";
cin>>empresa;
cout<<endl;

cout<<" Introduzca el nombre del Contacto: ";
cin>>contacto;
cout<<endl;

cout<<" Introduzca su Puesto: ";
cin>>puesto;
cout<<endl;

cout<<" Introduzca su numero de Telefono: ";
cin>>telefono;
cout<<endl;

cout<<" Introduzca su Email: ";
cin>>email;
cout<<endl;

cout<<" Introduzca su Direccion: ";
cin.ignore(9000, '\n');
cin.getline(direccion, 40, '\n');
cout<<endl;

reemplazar(contacto, ' ', '_');
reemplazar(direccion, ' ', '_');

salida<<nocliente<<" "<<empresa<<" "<<contacto<<" "<<puesto<<" "<<telefono<<" "<<email<<" "<<direccion<<endl;
cout<<" Desea registrar otro Cliente: s/n? [ ] \b\b\b";
cin>>sigue;
}
while(sigue=='s' || sigue=='S');
clrscr();
}

void datosupervisor()//datos supervisor
{
ofstream salida;
salida.open("C://Supervisores.txt", ios::app);
char nosupervisor[40], sigue;
char nombre[40];
int telefono, radnextel;
char sexo[40];
char fechalta[40];
char stime[10];
char sdate[10];

_strdate(sdate);

do{
_strtime(stime);
clrscr();
fecha();

cout<<" Introduzca No. de Supervisor: ";
cin>>nosupervisor;
cout<<endl;

cout << " Introduzca el Nombre: ";
cin.ignore(9000, '\n');
cin.getline(nombre, 40, '\n');
cout <<endl;

cout<<" Introduzca su numero de Telefono: ";
cin>>telefono;
cout<<endl;

cout<<" Introduzca su numero de Radio Nextel: ";
cin>>radnextel;
cout<<endl;

cout<<" Introduzca su Sexo: ";
cin>>sexo;
cout<<endl;

cout<<" Introduzca su Fecha de alta: ";
cin.ignore(9000, '\n');
cin.getline(fechalta, 40, '\n');
cout<<endl;

reemplazar(nombre, ' ', '_');
reemplazar(fechalta, ' ', '/');

salida<<nosupervisor<<" "<<nombre<<" "<<telefono<<" "<<radnextel<<" "<<sexo<<" "<<fechalta<<endl;
cout<<" Desea registrar otro Supervisor: s/n? [ ] \b\b\b";
cin>>sigue;
}
while(sigue=='s' || sigue=='S');
clrscr();
}//datos supervisor

void ordenes()//datos ordenes
{
ofstream salida;
salida.open("C://Ordenes.txt", ios::app);
char sigue;
char noocliente[40];
char noorden[40];
//char nombre[40];
char nombreparte[40];
char descripcion[40];
char materialesb[40];
char materialesm[40];
int notrabajadores;
char stime[10];
char sdate[10];

_strdate(sdate);

do{
_strtime(stime);
clrscr();
fecha();

cout<<" Introduzca No. de cliente: ";
cin>>noocliente;
cout<<endl;
//cout << " Introduzca No. de cliente: ";
//cin.ignore(9000, '\n');
//cin.getline(noocliente, 40, '\n');
//cout <<endl;

cout << " Introduzca No. de Orden: ";
cin.ignore(9000, '\n');
cin.getline(noorden, 40, '\n');
cout <<endl;

//cout<<" Introduzca el Nombre del supervisor: ";
//cin>>nombre;
//cout<<endl;

cout<<" Introduzca el nombre de la parte: ";
cin>>nombreparte;
cout<<endl;

cout << " Introduzca la descripcion de la parte: ";
cin.ignore(9000, '\n');
cin.getline(descripcion, 40, '\n');
cout <<endl;
//cout<<" Introduzca la descripcion de la parte: ";
//cin>>descripcion;
//cout<<endl;

cout<<" Introduzca los materiales buenos: ";
cin>>materialesb;
cout<<endl;

cout<<" Introduzca los materiales malos: ";
cin>>materialesm;
cout<<endl;

cout<<" Introduzca el numero de trabajadores: ";
cin>>notrabajadores;
cout<<endl;
reemplazar(noorden, ' ', '_');
//reemplazar(nombre, ' ', '_');
reemplazar(noocliente, ' ', '_');
reemplazar(nombreparte, ' ', '/');

//salida<<nocliente<<" "<<empresa<<" "<<contacto<<" "<<puesto<<" "<<telefono<<" "<<email<<" "<<direccion<<endl;
//salida<<nosupervisor<<" "<<nombre<<" "<<telefono<<" "<<radnextel<<" "<<sexo<<" "<<fechalta<<endl;
salida<<noocliente<<" "<<noorden<<"  "<<nombreparte<<" "<<descripcion<<" "<<materialesb<<" "<<materialesm<<" "<<notrabajadores<<endl;
cout<<" Desea registrar otra orden: s/n? [ ] \b\b\b";
cin>>sigue;
}
while(sigue=='s' || sigue=='S');
clrscr();
}//datos ordenes



void reporte()
{
char nocliente[40], buscarnocliente[40], buscarnosupervisor[40], empresa[40], noorden[40], puesto[40], email[30], direccion[40], nombre[40];
char noorden_ordenes[40], nosupervisores_supervisores[40];
int telefono;

clrscr();
cout<<endl;
fecha();
ifstream entrada, archivo_ordenes, archivo_supervisores;

entrada.open("C://Clientes.txt");
archivo_ordenes.open("C://Ordenes.txt");
archivo_supervisores.open("C://Supervisores.txt");

cout << "\t\tNo. Supervisor: ";
cin >> buscarnosupervisor;

while(archivo_supervisores.good())
{
archivo_supervisores >> nosupervisores_supervisores;
if (!strcmp(nosupervisores_supervisores, buscarnosupervisor))
{
archivo_supervisores >> nombre;
reemplazar(nombre, '_', ' ');

cout<< "\t\n\tSupervisor: " <<"\t\t\t"<< nombre<<endl;


cout << "\t\tNo. cliente: ";
cin >> buscarnocliente;
while(entrada.good())
{
entrada >> nocliente;
if (!strcmp(nocliente, buscarnocliente))
{
entrada >> empresa >> noorden >> puesto >> telefono >> email >> direccion;
reemplazar(direccion, '_', ' ');

while (archivo_ordenes.good())
{
archivo_ordenes >> noorden_ordenes;
if (!strcmp(noorden_ordenes, buscarnocliente))
{
char nordenarc[40], supervisor[40], nombre_parte[40], desc_parte[40], mat_buenos[40], mat_malos[40], num_trab[40];
archivo_ordenes >> nordenarc >>  nombre_parte >> desc_parte >> mat_buenos >> mat_malos >> num_trab;

cout<< "\t\n\n\n\tNo. Cliente: " <<"\t\t\t"<<nocliente<<endl;
cout<< "\t\n\tEmpresa: " <<"\t\t\t"<<empresa<<endl;
cout<< "\t\n\tNo. orden: " <<"\t\t\t"<<nordenarc<<endl;
//cout<< "\t\n\tPuesto: " <<"\t\t\t"<<puesto<<endl;
//cout<< "\t\n\tNo. Telefono: " <<"\t\t\t"<<telefono<<endl;
//cout<< "\t\n\tEmail: " <<"\t\t\t"<<email<<endl;
//cout<< "\t\n\tDireccion: " <<"\t\t\t"<<direccion<<endl;
//cout<< "\t\n\tSupervisor: " <<"\t\t\t"<< supervisor<<endl;
cout<< "\t\n\tNombre parte: " <<"\t\t\t"<< nombre_parte<<endl;
cout<< "\t\n\tDescripcion de la parte: " <<"\t"<<desc_parte<<endl;
cout<< "\t\n\tMateriales buenos: " <<"\t\t"<< mat_buenos<<endl;
cout << "\t\n\tMateriales malos: " <<"\t\t"<< mat_malos<<endl;
cout << "\t\n\tNumero de trabajadores: " <<"\t"<< num_trab<<endl;

}
else
{
archivo_ordenes.ignore(9000, '\n');
}// if
}// while
}//new
}//new

cout<< "\n\nPresiona enter para regresar a pantalla principal"<<endl;
getch ();
clrscr();
return;

}
}
cout<< "No encontrado" <<endl;
}


void menu ()
{
cout<<" \t\n\t\t Control de Ordenes de Trabajo \n\n\n "<<endl;
cout<<"\t\t 1) Cliente\n "<<endl;
cout<<"\t\t 2) Supervisor\n  "<<endl;
cout<<"\t\t 3) Ordenes\n  "<<endl;
cout<<"\t\t 4) Reporte\n  "<<endl;
cout<<"\t\t 5) Salir del Programa \n\n"<<endl;
}

void main (void)
{
int opc;
do{
ofstream salida;
salida.open("C://Clientes.txt", ios::app);

menu();
cout<<"\t\t selecione una opcion= ";
cin>>opc;

switch (opc)
{
case 1:
datosclientes();
break;
case 2:
datosupervisor();
break;
case 3:
ordenes();
break;
case 4:
reporte();
break;
}
}
while (opc!=5);
}



La pantalla principal "Menú"

Pantalla de la primera opción "registro de clientes"

Pantalla de segunda opción "registro de supervisores"

Pantalla de tercera  opción "registro de alguna orden"

Pantalla del reporte 

No hay comentarios:

Publicar un comentario