Hack x Crack - Comunidad de Seguridad informática

Programación => C / C++ => Mensaje iniciado por: CoZarmo en Septiembre 14, 2018, 11:03:29 pm

Título: ejercicio punteros y estructuras
Publicado por: CoZarmo en Septiembre 14, 2018, 11:03:29 pm
Buenas tardes, veran
tengo que hacer el siguiente programa:
"Escribir un programa que pregunte por el nombre (nombre y apellido paterno) de un estudiante y que busque en un archivo estudiantes.in e imprima en la pantalla toda su informacion. Nota: Cada informacion del estudiante esta separada unicamente por el caracter *".
Ya tengo este codigo:
#include <stdio.h>
#include <stdlib.h>
  #define NET 2
  #define MAX 16
  #define MAXNOM 50

typedef char Tstring[MAX];

  typedef struct
  {
  char camp1[MAX];
  }Tname;

  typedef struct
  {
     Tname name;
     Tstring camp2;
     Tstring camp3;
     Tstring camp4;
  }Tetiqueta;

  struct Tdata
  {
  int Netiqueta;
  Tetiqueta tabla [MAX];
  };

  void main()
  {
     FILE      *fe;
     struct Tdata data;
     char k;
     int i,n;

     fe = fopen("estudiantes.in", "r");
     if (fe == NULL)
     {
   printf("\nError abriendo fichero\n");
   return;
     }

     n=0;
     while( (n<NET) && (!feof(fe)) )
     {
   fscanf(fe, "%[^\n]\n", data.tabla[n].name.camp1);
   fscanf(fe, "%[^\n]\n", data.tabla[n].camp2);
        fscanf(fe, "%[^\n]\n", data.tabla[n].camp3);
   fscanf(fe, "%[^\n]\n", data.tabla[n].camp4);
        fscanf(fe,"*\n");
   n++;
     }

     printf("Dame el nombre del estudiante: ");
     scanf("%s",&k);

    for(i=0; i<NET; i++)
    {
      if(k==data.tabla.name.camp1)
       {
         printf("%s\n", data.tabla.name.camp1);
         printf("%s\n", data.tabla.camp2);
         printf("%s\n", data.tabla.camp3);
         printf("%s\n", data.tabla.camp4);
       }
    }

     fclose(fe);
     return;
  }
pero me aparece el un error en       if(k==data.tabla.name.camp1)
si me pueden ayudar, se los agradecere mucho