Está en la página 1de 26

UNIVERSIDAD TECNICA DE MANABI

FACULTAD DE CIENCIAS INFORMÁTICAS

AVANCE DEL PROYECTO

INTEGRANTES:

WELINGTON PAUL LEONES ZAMBRANO.

JEAN PAUL CARVAJAL BONILLA.

PROFESOR GUÍA:

Ing. Patricio Loor.

SEGUNDO SEMESTRE

PARALELO "B"

PERÍODO ACADÉMICO:

MAYO 2015 – SEPTIMBRE 2015

PORTOVIEJO – MANABÍ – ECUADOR

1
UNIVERSIDAD TÉCNICA DE MANABÍ

MISIÓN

La Universidad Técnica de Manabí tiene como misión formar académicos, científicos y


profesionales responsables, humanistas, éticos y solidarios, comprometidos con los objetivos del
desarrollo nacional, que contribuyan a la solución de los problemas del país como universidad
de docencia e investigación, capaces de generar y aplicar nuevos conocimientos, fomentando la
promoción y difusión de los saberes y las culturas, previstos en la Constitución de la República
del Ecuador.

VISIÓN

La Universidad Técnica de Manabí tiene como visión el constituirse en una institución


universitaria líder, referente de la educación superior en el Ecuador, promoviendo la creación,
desarrollo, transmisión y difusión de la ciencia, la técnica y la cultura, con reconocimiento social,
proyección regional y mundial.

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

Formar profesionales eficientes e innovadores en el campo de las ciencias informáticas,


que con honestidad, equidad y solidaridad, den respuestas a las necesidades de la
sociedad elevando su nivel de vida.

3
Índice

1. Portada

2. Misión y visión de la universidad

3. Misión y visión de la facultad

4. Índice

5. Introducción

6. Definición y aplicación

7. Definición de la clase

13. Complacían y ejecución de programa

14. Ejecución

17. Código del programa

23. Anexos

4
INTRODUCCIÓN.

El presente proyecto se redacta con carácter de Trabajo del avance del proyecto de

programación, para la obtención de un programa hecho en c++ aplicando programación

orientada a objeto sobre lo que es un registro de casos policiales.

Este proyecto nos permitirá interactuar con las personas o usuarios que registra los casos

policiales este programa realiza o recauda información sobre lo que es un registro de un

caso policial, también lo muestra, lo busca por el número del caso registrado y por la

cedula puede borrar cualquier caso.

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

conceptos de estructura de datos y sus respectivas funciones.

En el presente documentos se recogen todos los datos y características que pueden ser

aplicadas para el desarrollo del programa.

5
DEFINICIÓN Y APLICACIÓN

El proyecto consta del programa de registro de casos policiales:

 clases

 funciones amigas

 funciones inline

 constructor

 destructor

 parte de estructura de datos

 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>

using namespace std;

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:

typedef policia *pnodo;

// 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;
}

// BORRAR POR CASO

void Borrar_caso(plista *p, int cas)


{
pnodo ant, aux;

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

void buscar_caso(plista *p, int cas)


{
pnodo q =*p;
int i = 1, band = 0;

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;
}

// BUSCAR POR CEDULA


void buscar_cedula(plista *p, long int ced)
{
pnodo q =*p;
int i = 1, band = 0;

while(q!=NULL)
{
if(q->cedula==ced)
{
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;
}

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

Muestro programa fue hecho y compilado (Code::Blocks) en c++.

13
Ejecución
Aquí muestra el menú.

Aquí le muestra como estamos ingresando

14
Aquí se muestra lo ingresado

Aquí busca por cedula.

15
Aquí nos busca por caso.

Borro por el caso.

16
Código del programa (main.cpp).

#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;

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:

typedef policia *pnodo;

// 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;
}

// BORRAR POR CASO

void Borrar_caso(plista *p, int cas)


{
pnodo ant, aux;

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);
}
}

// BUSCAR POR CASO

void buscar_caso(plista *p, int cas)


{
pnodo q =*p;
int i = 1, band = 0;

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;
}

// BUSCAR POR CEDULA


void buscar_cedula(plista *p, long int ced)
{
pnodo q =*p;
int i = 1, band = 0;

while(q!=NULL)
{
if(q->cedula==ced)
{
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 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

También podría gustarte