[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