elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  que tengo mal con los punteros en c? necesito ayuda!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: que tengo mal con los punteros en c? necesito ayuda!  (Leído 2,750 veces)
mariaorlando0922

Desconectado Desconectado

Mensajes: 8


Ver Perfil
que tengo mal con los punteros en c? necesito ayuda!
« en: 11 Febrero 2013, 14:17 pm »

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;
}


En línea

mariaorlando0922

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: que tengo mal con los punteros en c? necesito ayuda!
« Respuesta #1 en: 11 Febrero 2013, 14:35 pm »

che nadie sabe c que me pueda ayudar


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: que tengo mal con los punteros en c? necesito ayuda!
« Respuesta #2 en: 11 Febrero 2013, 16:17 pm »

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|.

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:
Código
  1. char *consulta(struct pel *p, int *contp, char *pel_bus, char *aut_bus);
  2.  
  3. /* ... */
  4.  
  5. struct pel peliculas[MAX];
  6. char opc,pel_bus[15],aut_bus[25], *cartel,cod_act[7];
  7. int contp=0, cond=0;
  8.  
  9. /* ... */
  10.  
  11. 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
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
mariaorlando0922

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: que tengo mal con los punteros en c? necesito ayuda!
« Respuesta #3 en: 11 Febrero 2013, 16:49 pm »

gracias gracias gracias!!!!!!!!!!!!!!! tenias razzon ahi lo corregi....
que genio!!!!!
En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: que tengo mal con los punteros en c? necesito ayuda!
« Respuesta #4 en: 11 Febrero 2013, 18:51 pm »

Citar
che 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
En línea

Ahorrate una pregunta, lee el man
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines