Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROYECTO
PROYECTO
INTEGRANTES:
PROFESOR GUÍA:
SEGUNDO SEMESTRE
PARALELO "B"
PERÍODO ACADÉMICO:
1
UNIVERSIDAD TÉCNICA DE MANABÍ
MISIÓN
VISIÓN
2
FACULTAD DE CIENCIAS INFORMATICAS
MISION
Ser una unidad con alto prestigio académico, con eficiencia, transparencia y calidad en
la educación, organizada en sus actividades, protagonistas del progreso regional y
nacional.
VISIÓN
3
Índice
1. Portada
4. Índice
5. Introducción
6. Definición y aplicación
7. Definición de la clase
14. Ejecución
23. Anexos
4
INTRODUCCIÓN.
El presente proyecto se redacta con carácter de Trabajo del avance del proyecto de
Este proyecto nos permitirá interactuar con las personas o usuarios que registra los casos
caso policial, también lo muestra, lo busca por el número del caso registrado y por la
Este programa será creado en c++ con clases aplicando clases amigas, constructores,
destructores, entre otras cosas como lo es la función inline y también he aplicado varios
En el presente documentos se recogen todos los datos y características que pueden ser
5
DEFINICIÓN Y APLICACIÓN
clases
funciones amigas
funciones inline
constructor
destructor
respectivas funciones
6
Definición de las clases.
1. Clase principal con su constructor, destructor, función amiga.
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
class policia{
int caso;
int anio;
long int cedula;
char nombre[40];
int edad;
char direcion[60];
char provincia[20];
char canton[20];
public:
policia *siguiente;
policia(int cas, int an, long int ced, char nom[], int ed, char dir[], char pro[], char can[]);
~policia(){};
friend class lista;
};
policia::policia(int cas, int an, long int ced, char nom[], int ed, char dir[], char pro[], char can[]){
caso=cas;
anio=an;
cedula=ced;
strcpy(nombre,nom);
edad=ed;
strcpy(direcion,dir);
strcpy(provincia,pro);
strcpy(canton,can);
siguiente=NULL;
}
typedef policia *plista;
7
2. Clase secundaria y sus respectivas funciones.
class lista{
public:
// INSERTAR CASO
void insertar(plista *p,int cas, int an, long int ced, char nom[], int ed, char dir[], char pro[], char
can[])
{pnodo nuevo;
nuevo=new policia(cas, an, ced,nom,ed,dir, pro,can);
nuevo->caso=cas;
nuevo->anio=an;
nuevo->cedula=ced;
strcpy(nuevo->nombre,nom);
nuevo->edad=ed;
strcpy(nuevo->direcion,dir);
strcpy(nuevo->provincia,pro);
strcpy(nuevo->canton,can);
nuevo->siguiente=*p;
*p=nuevo;
}
aux= *p;
ant= NULL;
while(aux && aux->caso< cas) {
ant=aux;
aux= aux->siguiente;
}
if(!aux|| aux->caso != cas) return;
else {
if(!ant)
*p =aux->siguiente;
else
ant->siguiente =aux->siguiente;
delete(aux);
}
}
8
// BUSCAR POR CASO
while(q!=NULL)
{
if(q->caso==cas)
{
cout<<endl<<"SE ENCONTRO EL CASO "<<endl;
cout<<"\n CASO: "<<q->caso ;
cout<<"\n AÑOS: "<<q->anio ;
cout<<"\n CEDULA: "<<q->cedula ;
cout<<"\n NOMBRE: "<<q->nombre ;
cout<<"\n EDAD: "<<q->edad ;
cout<<"\n DIRRECION: "<<q->direcion ;
cout<<"\n PROVINCIA: "<<q->provincia;
cout<<"\n CANTON: "<<q->canton ;
band = 1;
}
q = q->siguiente;
i++;
}
if(band==0)
cout<<"\n\n NUMERO DE CASO NO ENCONTRADO........!"<< endl;
}
while(q!=NULL)
{
if(q->cedula==ced)
{
cout<<endl<<"SE ENCONTRO EL CASO "<<endl;
9
q = q->siguiente;
i++;
}
if(band==0)
cout<<"\n\n CEDULA DEL CASO NO ENCONTRADO........!"<< endl;
}
// MOSTAR CASO
inline void mostrar(plista p)
{
pnodo aux=p;
if(p==NULL)
{
cout<<"\n LISTA VACIA..."<<endl;
}
else
{
while(aux!=NULL)
{
cout<<"***************REGISTRO DE CASOS**************"<<endl;
cout<<"\n CASO: "<<aux->caso ;
cout<<"\n AÑOS: "<<aux->anio ;
cout<<"\n CEDULA: "<<aux->cedula ;
cout<<"\n NOMBRE: "<<aux->nombre ;
cout<<"\n EDAD: "<<aux->edad ;
cout<<"\n DIRRECION: "<<aux->direcion ;
cout<<"\n PROVINCIA: "<< aux->provincia;
cout<<"\n CANTON: "<<aux->canton ;cout<<"\n";
aux=aux->siguiente;
}
}
}
}pr;
10
3. Programa principal aquí aplicamos un menú de opciones (switch, case)
int main()
{
int cas;
int an;
long int ced;
char nom[40];
int ed;
char dir[60];
char pro[20];
char can[20];
plista l;
int opcion;
do{
system("cls");
cout<<"******************POLICIA NACIONAL*************"<<endl;
cout<<"----------MENU------------"<<endl;
cout<<"1_ INGRESAR CASO:"<<endl;
cout<<"2_ BUSCAR POR EL CASO:"<<endl;
cout<<"3_ BUSCAR EL CASO POR LA CEDULA:"<<endl;
cout<<"4_ MOSTRAR LOS CASOS:"<<endl;
cout<<"5_ BORRAR CASOS:"<<endl;
cout<<"6_ SALIR:"<<endl;
cout<<"OPCION: ";
cin>>opcion;
switch(opcion)
{
case 1:
system("cls");
cout<<"*************REGISTRO DE LOS CASOS***********"<<endl;
cout<<"\n INGRESE NUMERO DE CASO: ";
cin>>cas;
cout<<"\n AÑOS DE CARCEL: ";
cin>>an;
cout<<"\n INGRESE CEDULA: ";
cin>>ced ;
cout<<"\n INGRESE NOMBRE: ";
cin>>nom;
cout<<"\n INGRESE EDAD: ";
cin>>ed;
cout<<"\n INGRESE DIRRECION: ";
cin>>dir ;
cout<<"\n INGRESE PROVINCIA: ";
cin>>pro;
cout<<"\n INGRESE CANTON: ";
cin>>can ;
11
pr.insertar(&l, cas, an, ced, nom, ed, dir, pro, can);
break;
case 2:
system("cls");
cout<<"*************BUSCAR REGISTRO DEL CASOS***********"<<endl;
cout<<"\n INGRESE NUMERO DE CASO: ";
cin>>cas;
pr.buscar_caso(&l, cas);
break;
case 3:
system("cls");
cout<<"*************BUSCAR REGISTRO POR LA CEDULA***********"<<endl;
cout<<"\n INGRESE CEDULA: ";
cin>>ced ;
pr.buscar_cedula(&l, ced);
break;
case 4:
system("cls");
pr.mostrar(l);
getch();
break;
case 5:
system("cls");
cout<<"*************BORRAR CASOS***********"<<endl;
cout<<"\n INGRESE NUMERO DE CASO: ";
cin>>cas;
pr.Borrar_caso(&l, cas);
break;
case 6:
return 0;
break;
}
}while(opcion<=6);
}
12
Complacían y ejecución de programa
13
Ejecución
Aquí muestra el menú.
14
Aquí se muestra lo ingresado
15
Aquí nos busca por caso.
16
Código del programa (main.cpp).
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
class policia{
int caso;
int anio;
long int cedula;
char nombre[40];
int edad;
char direcion[60];
char provincia[20];
char canton[20];
public:
policia *siguiente;
policia(int cas, int an, long int ced, char nom[], int ed, char dir[], char pro[], char can[]);
~policia(){};
friend class lista;
};
policia::policia(int cas, int an, long int ced, char nom[], int ed, char dir[], char pro[],
char can[]){
caso=cas;
anio=an;
cedula=ced;
strcpy(nombre,nom);
edad=ed;
strcpy(direcion,dir);
strcpy(provincia,pro);
strcpy(canton,can);
siguiente=NULL;
}
typedef policia *plista;
class lista{
public:
// INSERTAR CASO
void insertar(plista *p,int cas, int an, long int ced, char nom[], int ed, char dir[], char
pro[], char can[])
{pnodo nuevo;
nuevo=new policia(cas, an, ced,nom,ed,dir, pro,can);
17
nuevo->caso=cas;
nuevo->anio=an;
nuevo->cedula=ced;
strcpy(nuevo->nombre,nom);
nuevo->edad=ed;
strcpy(nuevo->direcion,dir);
strcpy(nuevo->provincia,pro);
strcpy(nuevo->canton,can);
nuevo->siguiente=*p;
*p=nuevo;
}
aux= *p;
ant= NULL;
while(aux && aux->caso< cas) {
ant=aux;
aux= aux->siguiente;
}
if(!aux|| aux->caso != cas) return;
else {
if(!ant)
*p =aux->siguiente;
else
ant->siguiente =aux->siguiente;
delete(aux);
}
}
while(q!=NULL)
{
if(q->caso==cas)
{
cout<<endl<<"SE ENCONTRO EL CASO "<<endl;
cout<<"\n CASO: "<<q->caso ;
cout<<"\n AÑOS: "<<q->anio ;
cout<<"\n CEDULA: "<<q->cedula ;
18
cout<<"\n NOMBRE: "<<q->nombre ;
cout<<"\n EDAD: "<<q->edad ;
cout<<"\n DIRRECION: "<<q->direcion ;
cout<<"\n PROVINCIA: "<<q->provincia;
cout<<"\n CANTON: "<<q->canton ;
band = 1;
}
q = q->siguiente;
i++;
}
if(band==0)
cout<<"\n\n NUMERO DE CASO NO ENCONTRADO........!"<< endl;
}
while(q!=NULL)
{
if(q->cedula==ced)
{
cout<<endl<<"SE ENCONTRO EL CASO "<<endl;
if(band==0)
cout<<"\n\n CEDULA DEL CASO NO ENCONTRADO........!"<< endl;
}
// MOSTAR CASO
inline void mostrar(plista p)
{
pnodo aux=p;
if(p==NULL)
19
{
cout<<"\n LISTA VACIA..."<<endl;
}
else
{
while(aux!=NULL)
{
cout<<"***************REGISTRO DE CASOS**************"<<endl;
cout<<"\n CASO: "<<aux->caso ;
cout<<"\n AÑOS: "<<aux->anio ;
cout<<"\n CEDULA: "<<aux->cedula ;
cout<<"\n NOMBRE: "<<aux->nombre ;
cout<<"\n EDAD: "<<aux->edad ;
cout<<"\n DIRRECION: "<<aux->direcion ;
cout<<"\n PROVINCIA: "<< aux->provincia;
cout<<"\n CANTON: "<<aux->canton ;cout<<"\n";
aux=aux->siguiente;
}
}
}
}pr;
int main()
{
int cas;
int an;
long int ced;
char nom[40];
int ed;
char dir[60];
char pro[20];
char can[20];
plista l;
int opcion;
do{
system("cls");
cout<<"******************POLICIA NACIONAL*************"<<endl;
cout<<"----------MENU------------"<<endl;
cout<<"1_ INGRESAR CASO:"<<endl;
cout<<"2_ BUSCAR POR EL CASO:"<<endl;
cout<<"3_ BUSCAR EL CASO POR LA CEDULA:"<<endl;
cout<<"4_ MOSTRAR LOS CASOS:"<<endl;
cout<<"5_ BORRAR CASOS:"<<endl;
cout<<"6_ SALIR:"<<endl;
cout<<"OPCION: ";
20
cin>>opcion;
switch(opcion)
{
case 1:
system("cls");
cout<<"*************REGISTRO DE LOS CASOS***********"<<endl;
cout<<"\n INGRESE NUMERO DE CASO: ";
cin>>cas;
cout<<"\n AÑOS DE CARCEL: ";
cin>>an;
cout<<"\n INGRESE CEDULA: ";
cin>>ced ;
cout<<"\n INGRESE NOMBRE: ";
cin>>nom;
cout<<"\n INGRESE EDAD: ";
cin>>ed;
cout<<"\n INGRESE DIRRECION: ";
cin>>dir ;
cout<<"\n INGRESE PROVINCIA: ";
cin>>pro;
cout<<"\n INGRESE CANTON: ";
cin>>can ;
pr.insertar(&l, cas, an, ced, nom, ed, dir, pro, can);
break;
case 2:
system("cls");
cout<<"*************BUSCAR REGISTRO DEL CASOS***********"<<endl;
cout<<"\n INGRESE NUMERO DE CASO: ";
cin>>cas;
pr.buscar_caso(&l, cas);
break;
case 3:
system("cls");
cout<<"*************BUSCAR REGISTRO POR LA
CEDULA***********"<<endl;
cout<<"\n INGRESE CEDULA: ";
cin>>ced ;
pr.buscar_cedula(&l, ced);
break;
case 4:
system("cls");
pr.mostrar(l);
getch();
break;
21
case 5:
system("cls");
cout<<"*************BORRAR CASOS***********"<<endl;
cout<<"\n INGRESE NUMERO DE CASO: ";
cin>>cas;
pr.Borrar_caso(&l, cas);
break;
case 6:
return 0;
break;
}
}while(opcion<=6);
}
22
23
24
25
26