Usuario: anónimo

Usuarios en línea: 1
Invitados: 1

FAQ

Hilo

1m
Ejercicio 11-1
U(Alexander) 2017-02-21 16:00:22

Tengo un error en la ejecución del código. Al hacer la búsqueda ya sea por nombre o por teléfono, si busco el último elemento de la estructura, número 3 en mi caso para hacerlo más rápido lo he limitado a 3 posiciones, me sale mal. Si busco el primero o el segundo no hay ningún problema y la ejecución es correcta.

El código que he utilizado es el siguiente:

#include <iostream>

#include <stdio.h>

#include <string.h>

using namespace std;

struct persona{

    char Nombreyap[10];

    char Numerotel[9];

} Plantilla[2];

void busportel (char Numtlf[9]);

void buspornom (char Nompers[10]);

char Numtlf[9]; char Nompers[10]; int i=0;

int main(){

int copcion;

//METEMOS LOS DATOS:

for(i=0;i<3;i++){

cout<<"Introduce los nombres y telefonos de 3 personas"<<endl;

cout<<"Nombre"<<i+1<<": "<<endl;

cin>> Plantilla[i].Nombreyap;

cout<<"Telefono"<<i+1<<": "<<endl;

cin>> Plantilla[i].Numerotel;

}

for(i=0;i<3;i++){

cout<<"Nombre"<<": "<<Plantilla[i].Nombreyap<<endl;

cout<<"Telefono"<<": "<<Plantilla[i].Numerotel<<endl;

}

//MENÚ PRINCIPAL

cout << "*****************************************************" << endl;

cout << " MENU PRINCIPAL " << endl;

cout << "*****************************************************" << endl << endl << endl;

cout << "Marque la opcion que desea realizar" << endl << endl;

cout << "1- Buscar por: Un numero telefonico" << endl;

cout << "2- Buscar por: El nombre de una persona" << endl;

cout << "3- Salir" << endl << endl << endl << endl << endl << endl << endl;

cin>> copcion;

while(1){

    if (copcion==1){

        cout<<"Introduzca el numero de tlf: "<<endl;

        cin>> Numtlf;

        busportel(Numtlf);

    }

    if (copcion==2){

        cout<<"Introduzca el nombre de la persona: "<<endl;

        cin>> Nompers;

        buspornom(Nompers);

    }

    if (copcion==3){

        cout<<"Saliendo del programa..."<<endl;

        return 0;

    }

    if (copcion!=1&&copcion!=2&&copcion!=3){

        cout<<"Introduce un numero del 1 al 3 por favor."<<endl;

    }

}

return 0;

}

void busportel(char Numtlf[9]){

int aux=0;

bool vale=false;

for(i=0;i<3;i++){

    if(strcmp(Numtlf,Plantilla[i].Numerotel)==0){

    aux=i;

    cout<<Plantilla[aux].Nombreyap<<endl;

    cout<<Plantilla[aux].Numerotel<<endl;

    vale=true;

}}

if(!vale){cout<<"Introduce un numero válido"<<endl;}

}

void buspornom(char Nompers[10]){

int aux=0; bool vale=false;

for(i=0;i<3;i++){

    if(strcmp(Nompers,Plantilla[i].Nombreyap)==0){

    aux=i;

    cout<<Plantilla[aux].Nombreyap<<endl;

    cout<<Plantilla[aux].Numerotel<<endl;

    vale=true;

    }

}

if(!vale){cout<<"Introduce un nombre valido"<<endl;}

}

:-(

_______________________________________________

Lista de correo Cconclase Cconclase@listas.conclase.net

http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ