[C con Clase] Problema con la funcion strcmp con punteros

roberto ches rocho06 en gmail.com
Lun Sep 3 22:15:29 CEST 2012


Buenas a todos, y gracias antes de nada tanto por la pagina como por esta
magnifica lista.

Mi problema es que estoy intentando hacer uno de los ejercicios del
tutorial, pero al usar la función "strcmp" para comparar dos arrays me da
error. Y no consigo entender el por que de ese error.

Os dejo el código a ver si me podéis echar una mano.
-----------------------
#include <iostream>
#include <cstring>


using namespace std;

struct agenda{

    char nombre[30];
    string telefono;

}actual[10];

void printMenu();
void IntContacto(agenda * x, int dir);
void buscarTelefono(agenda *x);
void buscarNombre(agenda *x);

int main(){

    int opcion = 0, numero = 0;
    agenda * punt = &actual[0];

    do
    {

        printMenu();

        cin >> opcion;

        switch(opcion)
        {
            case 1:
            IntContacto(punt, numero);
            numero++;
            break;

            case 2:
            buscarTelefono(punt);
            numero++;
            break;

            case 3:
            buscarNombre(punt);
            numero++;
            break;
        }

        cout << endl;

    }while(opcion != 4);

    cout << actual[numero-1].nombre << endl;

}

void printMenu(){

    cout << "<=========================>" << endl;
    cout << "<= Bienvenido a su agenda=>" << endl;
    cout << "<=========================>" << endl;
    cout << endl;
    cout << "<=  Introduce la opcion  =>" << endl;
    cout << endl;
    cout << "= 1) Intro contacto" << endl;
    cout << "= 2) Buscar por telefono" << endl;
    cout << "= 3) Buscar por nombre" << endl;
    cout << "= 4) Salir" << endl;
}

void IntContacto(agenda * x, int dir){

    agenda *punt = &x[dir];

    cout << "Introduzca el nombre: " << endl;
    cin >> punt->nombre;

    cout << "Introduzca el telefono" << endl;
    cin >> punt->telefono;

}

void buscarNombre(agenda *x){

    agenda *punt = &x[0];
    char var;

    cout << "Escribe el nombre del contacto" << endl;
    cin >> var;

    for(int i=0; i<10; i++){

        if(strcmp(var, *punt[i].nombre)==0){
            cout << punt->telefono << endl;
        }
        //else{cout << "no se no se";}
    }
}

void buscarTelefono(agenda *x){


}

Un saludo a todos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120903/6ec083b2/attachment.html>


Más información sobre la lista de distribución Cconclase