me saltan esto tipos de errores.
[Warning] passing arg 2 of `consulta' from incompatible pointer type
[Warning] passing arg 3 of `consulta' from incompatible pointer type
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define MAX 4
struct pel
{
char codigo [7];
char titulo [15];
char autor [25];
char genero[15];
int existencia;
float precio;
};
//llamado a funciones
void carga_datos(struct pel *p, int *contp);
char *consulta(struct pel *p, int *contp, char *pel_bus, char *aut_bus);
void actializar(struct pel *p, int contp, char *cod_act);
main()
{
struct pel peliculas[MAX];
char opc,pel_bus[15],aut_bus[25], *cartel,cod_act[7];
int contp=0, cond=0;
do{
printf("\t Menu de opcines\n");
printf("1- Cargar datos\n2-Consultas\n3-Actualizar\n4-facturacion\n5-salir\n");
opc=getch();
switch(opc)
{
case'1': carga_datos(peliculas, &contp);
break;
case'2': printf("Ingrese pelicula a buscar\n");
scanf("%s", pel_bus);
printf("Ingrese Nombre de Autor\n");
scanf("%s", aut_bus);
cartel= consulta(peliculas, pel_bus,aut_bus, contp);
printf("%s\n", cartel);
getch();
break;
case'3': printf("INGRESE CODIGO A ACTUALIZAR\n");
scanf("%s", &cod_act);
actializar(peliculas, cod_act,contp);
getch();
break;
case'4': cond=1;
break;
case '5': cond=1;
break;
default: printf("tecla incorrecta\n");
break;
}
}while (cond!=1 && opc!=5);
system ("PAUSE");
return ;
}
void carga_datos(struct pel *p, int *contp)
{
int i=*contp;
char opc1='s';
while (i<MAX && opc1=='s')
{
printf("ingrese codigo\n");fflush(stdin);
gets(p.codigo);
printf("Titulo de pelicula:\n"); fflush(stdin);
gets(p.titulo);
printf("Autor:\n"); fflush(stdin);
gets(p.autor);
printf("genero:\n"); fflush(stdin);
gets(p.genero);
printf("Existencia:\n"); fflush(stdin);
scanf("%d", &p.existencia);
printf("Precio:\n"); fflush(stdin);
scanf("%d",&p.precio);
(*contp)++;
printf("Desea cargar otro dato (S O N)\n\n");
opc1=getch();
}
if(i==MAX)
{
printf("NO HAY MAS MEMORIA DISPONIBLE\n");
}
return;
}
che nadie sabe c que me pueda ayudar
Para empezar debes evitar el uso de las funciones de la biblioteca conio de Borland, la función gets y la función fflush en la forma "fflush(stdin)". Mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).
El error se indica claramente en el mensaje del compilador: los argumentos en la llamada a la función "consulta" no coinciden con su prototipo:
char *consulta(struct pel *p, int *contp, char *pel_bus, char *aut_bus);
/* ... */
struct pel peliculas[MAX];
char opc,pel_bus[15],aut_bus[25], *cartel,cod_act[7];
int contp=0, cond=0;
/* ... */
cartel = consulta(peliculas, pel_bus,aut_bus, contp);
* El segundo argumento "pel_bus" es de tipo "char [15]", este resulta en un "char *" el cual es pasado a la función pero esta espera un "int *".
* El cuarto argumento "contp" es de tipo "int" cuando ella espera un "char *"
Un saludo
gracias gracias gracias!!!!!!!!!!!!!!! tenias razzon ahi lo corregi....
que genio!!!!!
Citarche nadie sabe c que me pueda ayudar
evita estos comentarios porque puede haber gente q diga: "nadie sabe
LEER los errores y warnings que marca el compilador!!!!!!!"
Saludos