Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Proyecto Final de Programacion

Presentacion de una agenda en c++
by

Eduardo Ramirez Sepulveda

on 15 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Proyecto Final de Programacion

Eduardo Ramirez Sepulveda
Ian Nathiel Trinidad Rico
Roberto Moreno Fonseca Proyecto Final OBJETIVO Codificacion Crear una agenda con la ayuda de la programacion para que el usuario pueda facilitar su administracion de contactos y personas conocidas con el uso de una agenda #include <iostream>
#include <iomanip>
#include <cstdlib>
#include <conio.h>
#include <stdio.h>
#include <strings.h>
using namespace std;
struct Fecha {
int dia;
int mes;
int agno;
};
struct Contacto {
int rut;
char digv;
char nombre[100];
char direccion[100];
Fecha f_nac;
Contacto *siguiente;
}; case 4: salir = true;
}
}while( salir == false );
return 0;
}
¿PORQUE? Porque con el estudio que hicimos en una oficina nos dimos cuenta que la gente usa mucho los famosos post-it y que mejor que lo tengan guardado en una computadora CODIFICACION ESTRUCTURA DE DATOS ESTRUCTURA DE DATOS Las estructuras de datos dinámicas son aquellas que crecen y se reducen durante la ejecución de nuestro programa. , las estructuras con tipos de datos agregados; es decir, que pueden construirse mediante el uso de elementos de varios tipos incluyendo otros tipos STRUCT. TIPO DE DATO Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa. Tipo de Datos Funciones FUNCION Una función es un pedazo de código fuera del main, con un nombre y que puede ser ‘llamado’ desde otra parte de nuestro programa. Codificacion Contacto *Crear_nodo();
Contacto *Ingresar( Contacto * );
Contacto *Buscar_nombre( Contacto *, char[100] );
void Mostrar( Contacto * );
int main()
{
bool salir = false;
int opcion;
char nom[100];
Contacto *lista = NULL, *resultado;;
do {
system("cls");
cout << "\n\n\t1.- Ingresar Contacto\n\t2.- Mostrar Contactos\n\t3.- Buscar por nombre\n\t4.- Salir\n";
cout << "\n\tIngrese Opcion: ";
cin >> opcion;
while( opcion <1 && opcion >4 )
{
cout << "\n\tIngrese Opcion: ";
cin >> opcion;
}
Funcion Principal Es aquella que indica al programa cual es la tarea principal que se va a realizar en nuestro programa Funcion Principal Ciclo Do-while Ciclo Do-while Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos while, no dependen directamente de valores numéricos, sino de valores booleanos, es decir su ejecución depende del valor de verdad de una condición dada, verdadera o falso, nada más. Codificacion switch ( opcion )
{
case 1: lista = Ingresar( lista );
break;
case 2: system("cls");
Mostrar( lista );
cout << endl;
getchar();
cout << " \n\nIngrese nombre para desplegar: ";
cin.getline(nom, 100);
resultado = Buscar_nombre( lista, nom );
if ( resultado == NULL )
cout << "ERROR: NOMBRE NO ENCONTRADO\n";
else
{
cout << "Numero de contacto = " << resultado->rut <<endl;
cout << "Nombre = " << resultado->nombre << endl;
cout << "Direccion = " << resultado->direccion << endl;
cout << "Fecha de Nacimiento = " << setfill('0') << setw(2) << resultado->f_nac.dia <<"/" << resultado->f_nac.mes << "/" << resultado->f_nac.agno << endl;
}
¿Que es eso? Cin.Get Line Es una funcion que necesita 3 parametros

Nombre. El nombre de la variable que va a contener el string
Longitud. La cantidad de caracteres que queremos que se puedan introducir (nunca mayor que la longitud del string).
Carácter de fin. El carácter que el usuario va usar como final de la cadena. Por lo general es el ‘enter‘ que se representa como ‘\n’ (diagonal n).
void Mostrar( Contacto *x )
{
if ( x != NULL )
{
cout << "\n\n"<< x->nombre;
if ( x-> siguiente != NULL )
Mostrar( x->siguiente);
}
}
Contacto *Buscar_nombre(Contacto * x, char nomb[100])
{
if(x!=NULL)
if(strcmp(x->nombre,nomb)==0)
return x;
else if(x->siguiente != NULL)
return Buscar_nombre(x->siguiente,nomb);
else
return NULL;
else
return NULL;
}
Codificacion Contacto *Crear_nodo()
{
Contacto *x;
x = (struct Contacto *) malloc(sizeof( struct Contacto));
system("cls");
cout << "\n\n\tIngrese Numero de contacto: ";
cin >> x->rut;
getchar();
cout << "\n\n\tIngrese Nombre: ";
cin.getline(x->nombre,100);
cout << "\n\n\tIngrese Direccion: ";
cin.getline(x->direccion,100);

cout << "\n\n\tIngrese Dia Nacimiento: ";
cin >> x->f_nac.dia;
cout << "\n\n\tIngrese Mes nacimiento (en numero): ";
cin >> x->f_nac.mes;
cout << "\n\n\tIngrese Agno Nacimiento: ";
cin >> x->f_nac.agno;
x->siguiente = NULL;
return x;
case 3: system("cls");
getchar();
cout << "Ingrese nombre a buscar: ";
cin.getline(nom, 100);
resultado = Buscar_nombre( lista, nom );
if ( resultado == NULL )
cout << "ERROR: NOMBRE NO ENCONTRADO\n";
else
{
cout << "Numero de contacto = " << resultado->rut <<endl;
cout << "Nombre = " << resultado->nombre << endl;
cout << "Direccion = " << resultado->direccion << endl;
cout << "Fecha de Nacimiento = " << setfill('0') << setw(2) << resultado->f_nac.dia <<"/" << resultado->f_nac.mes << "/" << resultado->f_nac.agno << endl;
}
cout << endl;
system("pause");
break;
Contacto *Crear_nodo()
{
Contacto *x;
x = (struct Contacto *) malloc(sizeof( struct Contacto));
system("cls");
cout << "\n\n\tIngrese Numero de contacto: ";
cin >> x->rut;
getchar();
cout << "\n\n\tIngrese Nombre: ";
cin.getline(x->nombre,100);
cout << "\n\n\tIngrese Direccion: ";
cin.getline(x->direccion,100);

cout << "\n\n\tIngrese Dia Nacimiento: ";
cin >> x->f_nac.dia;
cout << "\n\n\tIngrese Mes nacimiento (en numero): ";
cin >> x->f_nac.mes;
cout << "\n\n\tIngrese Agno Nacimiento: ";
cin >> x->f_nac.agno;
x->siguiente = NULL;
return x;
¿? Malloc es una subrutina para el ejercicio de asignación de memoria dinámica en los lenguajes de programación C y C++. Es una abreviatura del inglés Memory Allocation. Forma parte de la biblioteca estándar stdlib.h para ambos lenguajes. Muchas implementaciones de malloc están disponibles, cada una de las cuales se realiza de manera diferente en función del hardware de computación y de cómo se escribe el programa. El rendimiento varía según el tiempo de ejecución y la memoria requerida. Los programas deben gestionar adecuadamente la memoria dinámica asignada mediante el uso de malloc, y de este modo, evitar pérdida y corrupción de memoria. Malloc
Full transcript