[C con Clase] [Bulk] Error en una función

ZeLion Zelion_cracking en yahoo.es
Mie Abr 23 08:41:14 CEST 2008


Te dice que tienes una funcion sobrecargada que solo se diferencia en el
parametro de retorno.

Esto es por que el prototipo de función y la definición no corresponden:

 

Prototipo:

float hacerAlta(cliente *cli,cliente vector[RANGO]);

 

Definicion:

void hacerAlta(cliente *cli,cliente vector[RANGO]){…}

 

Los dos deben de ser iguales si es que se trata de la misma función.

 

Un saludo.

 

 

De: cconclase-bounces en listas.conclase.net
[mailto:cconclase-bounces en listas.conclase.net] En nombre de Raul Alfonso
Jimenez Morocho
Enviado el: martes, 22 de abril de 2008 9:13
Para: Lista de correo sobre C y C++
Asunto: [Bulk] [C con Clase] Error en una función

 

Buenas tardes,

 

Estoy haciendo un programa de dar de alta, bajas, consultas y modificar y
tengo un problema en la función dar alta y no veo el problema y es que yo
soy muy tonto para esto ijijijij  les adjunto el código haver si me pueden
ayudar. El Error esta al final que lo he puesto en negrita y también adjunto
lo errores que me aparecen.

Gracias de antemano.

 

#include <conio.h>

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#define RANGO 40// variable que define una cadena de 40 carácteres.

 

 

typedef struct// definimos la estrucutura.

{

      char Nombre[30];//cadena de caracteres. 

      char NIF[10];//cadena de caracteres. 

      char Direccion[100];//cadena de caracteres. 

      char Telefono[15];//cadena de caracteres. 

      int Ocupado;//cadena de números. 

 

}cliente;//es el nuevo tipo de dato de la estructura por eso no hace falta
poner etiqueta.

cliente vector [RANGO];//variable del cliente.

 

 

void ini(cliente*);//variable que hace que la estructura ponga todo los
campos vacios y todo a 0.

void menu();//variable donde declararemos el menu que se va a presentar por
pantalla.

void altas();

cliente* pedirDatos();

float hacerAlta(cliente *cli,cliente vector[RANGO]);

//void bajas();

//void consultas();

//void modificacion();

 

void main()

{

    ini(vector);//variable que hace que la estructura ponga todo los campos
vacios y todo a 0.

      menu();//variable donde declararemos el menu que se va a presentar por
pantalla.

      

}//final de main

 

 

void ini(cliente* cli)//variable que hace que la estructura ponga todo los
campos vacios y todo a 0.

{

      int i;//declaración de 'i' para hacer el bucle.

 

      //Bucle para que los campos se rellenen vacios y ceros.

      for (i=0;i<RANGO;i++)

      {

            strcpy (cli[i].Nombre,"");

            strcpy (cli[i].NIF,"");

            strcpy (cli[i].Direccion,"");

            strcpy (cli[i].Telefono,"");

            cli[i].Ocupado=0;

      }

}//final de ini.

 

void menu()//variable donde declararemos el menu que se va a presentar por
pantalla.

{

 

            char opc;

            do

            {

                        system("cls");

                        printf("*******Programa de recuperacion Raul
Jimenez*********\n\n\n");

                        printf("1.Altas\n");

                        printf("2.Bajas\n");

                        printf("3.Consultas\n");

                        printf("4.Modificacion\n");

                        printf("5.Salir\n");

                  opc=getch();

                  if(opc=='1')

                  {                       

                        altas();

                  }

                  if(opc=='2')

                  {                       

                        //bajas();

                  }

                  if(opc=='3')

                  {                       

                        //consultas();

                  }     

                  if(opc=='4')

                  {                       

                        //modificaciones();

                  }                       

            }while (opc=!'5');

            

}//final de menu

 

void altas()

{

      cliente *cli;

      int n;

 

      cli=pedirDatos();

      n=hacerAlta(cli,vector);

 

      if(n==1)

            {

                  printf("El cliente esta ocupado");

                  

            }

      else

            {

                  printf("El cliente ocupa el lugar:",n);

            }

 

      

}//final de alta

 

cliente* pedirDatos()//declaración de devolución de puntero a cliente

{

      cliente *cli;

      cli=new cliente;

      system("cls");

      printf("Introduce el Nombre de la empresa:\n");

      gets(cli->Nombre);

      printf(" Introduce el NIF de la empresa:\n");

      gets(cli->NIF);

      printf("Introduce la direccion de la empresa:\n");

      gets(cli->Direccion);

      printf("Introduce el numero de telefono de la empresa:\n");

      gets(cli->Telefono);

      cli->Ocupado=1;

      return cli;

}

 

void hacerAlta(cliente *cli,cliente vector[RANGO])

{

      

      int ocup;

      for (ocup=0;ocup<RANGO;ocup++)

      {

            if(cliente *cli==1)

            {

                  vector[RANGO]++;

            }

      }

 

      return ocup;

 

}

 

 

Errores:

 

1>c:\ejercicios raul jimenez c4\3º trimestre\practica final\source1.cpp(125)
: error C2556: 'void hacerAlta(cliente *,cliente [])' : la función
sobrecargada sólo se diferencia de 'float hacerAlta(cliente *,cliente [])'
por el tipo de valor devuelto

1>        c:\ejercicios raul jimenez c4\3º trimestre\practica
final\source1.cpp(24) : vea la declaración de 'hacerAlta'

1>c:\ejercicios raul jimenez c4\3º trimestre\practica final\source1.cpp(125)
: error C2371: 'hacerAlta' : nueva definición; tipos básicos distintos

1>        c:\ejercicios raul jimenez c4\3º trimestre\practica
final\source1.cpp(24) : vea la declaración de 'hacerAlta'

1>c:\ejercicios raul jimenez c4\3º trimestre\practica final\source1.cpp(130)
: error C2143: error de sintaxis : falta ',' delante de '=='

1>c:\ejercicios raul jimenez c4\3º trimestre\practica final\source1.cpp(131)
: error C2143: error de sintaxis : falta ';' delante de '{'

1>c:\ejercicios raul jimenez c4\3º trimestre\practica final\source1.cpp(132)
: error C2676: '++' binario : 'cliente' no define este operador o una
conversión a un tipo aceptable para el operador predefinido

1>El registro de generación se guardó en el "file://c:\ejercicios raul
jimenez C4\3º trimestre\practica final\Debug\BuildLog.htm"

1>practica final - 5 errores, 10 advertencias

========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos
==========

 

****************************************************************************
****************************************************************************
************************* 

 

Muchas gracias

 

 

Raúl A. Jiménez

jimenezrau en monlau.es

C.E. Monlau 

 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080423/03b2d6b9/attachment.html>


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