ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion funcional con recursividad


Enviado por   •  8 de Octubre de 2012  •  1.410 Palabras (6 Páginas)  •  310 Visitas

Página 1 de 6

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <iostream.h>

using namespace std;

// ESTRUCTURA

struct agenda

{

char nombre[10];

char cedula[30];

char direccion[];

struct agenda *sig;

struct agenda *ant;

};

struct agenda *ppio;

struct agenda *final;

struct agenda *buscar(char *);

// declaracion de las funciones

void portada(void);

void intro(void);

void buscar(void);

void listar(void);

void eliminar(struct agenda **, struct agenda **);

void dl_insert(struct agenda *i, struct agenda **ppio, struct agenda **final);

void leecad(char *, char *, int), mostrar(struct agenda *);

void face();

//funcion principal

int main()

{

face();

ppio = final = NULL;

cout<<"\n";

int op=0;

do

{

cout<<"\n";

cout<<" AGENDA"<<endl;

cout<<"\n";

cout<<"1. portada\n";

cout<<"2. agregar\n";

cout<<"3. eliminar\n";

cout<<"4. mostrar todos\n";

cout<<"5. buscar\n";

cout<<"6. salir\n";

cout<<"Digite la opcion: ";

cin >>op;

switch(op)

{

case 1: portada();//ir a la portada

break;

case 2: intro(); //agregar un registro

break;

case 3: eliminar(&ppio, &final); //eliminar un registro

break;

case 4: listar();//mostrar todos los registros

break;

case 5: buscar();//buscar un registro

break;

case 6: exit(0);

}

}while (op!=5);

system("pause");

}

//definicion de las funciones

void intro(void) //funcion para agresar registros

{

struct agenda *info;

info = (struct agenda *)malloc(sizeof(struct agenda));

if(!info)

{

cout<<endl <<"no hay memoria";

return; }

cout<<"ingrese nombre: "<<endl;

cin>>info->nombre;

cout<<"ingrese cedula: "<<endl;

cin>>info->cedula;

cout<<"ingrese direccion: "<<endl;

cout<<info->direccion;

dl_insert(info, &ppio, &final);

}

void leecad(char *indic, char *s, int cont)

{

char p[255];

do

{

printf(indic);

fgets(p, 254, stdin);

}while(strlen(p) > cont);

p[strlen(p)-1] = 0; //Eliminar el salto de linea

strcpy(s, p);

}

// crear una lista doblemente enlazada

void dl_insert(

struct agenda *i, //nuevo elemento

...

Descargar como (para miembros actualizados)  txt (5.2 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com