¿Alguien me puede decir qué estoy haciendo mal?
#include <iomanip>
#include <cstdlib>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
struct Fecha {
int dia;
int mes;
int anyo;
};
struct Contacto {
int rut;
char digv;
char nombre[100];
char direccion[100];
Fecha f_nac;
Contacto *siguiente;
};
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" << endl;
cout << "\n\t Elija una opcion: " << endl;
cin >> opcion <<endl;
while (opcion <1 && opcion >4)
{
cout << "\n\t Elija una opcion: ";
cin >> opcion;
}
switch (opcion)
{
case 1: lista = Ingresar(lista);
break;
case 2: system("cls");
Mostrar(lista);
cout << endl;
getchar();
cout << " \n\n Ingrese 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.anyo << endl;
}
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, nombre) == 0)
return x;
else if (x->siguiente != NULL)
return Buscar_nombre(x->siguiente, nombre);
else
return NULL;
else
return NULL;
}
Contacto *Crear_nodo();
{
Contacto *x;
x = (struct Contacto *) malloc(sizeof(struct Contacto));
system("cls");
cout << "\n\n\t Ingrese Numero de contacto: ";
cin >> x->rut;
getchar();
cout << "\n\n\t Ingrese Nombre: ";
cin.getline(x->nombre, 100);
cout << "\n\n\t Ingrese Direccion: ";
cin.getline(x->direccion, 100);
cout << "\n\n\t Ingrese Dia Nacimiento: ";
cin >> x->f_nac.dia;
cout << "\n\n\t Ingrese Mes nacimiento (en numero): ";
cin >> x->f_nac.mes;
cout << "\n\n\t Ingrese Anyo Nacimiento: ";
cin >> x->f_nac.anyo;
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 Anyo Nacimiento: ";
cin >> x->f_nac.anyo;
x->siguiente = NULL;
return x;
}