Bueno pues hice un logg-in a mi manera y resulta que la profesora me dijo que asi no valia, que me buscase otra manera mejor, el problema esque no me explicó como hacerlo de otra manera, solo tengo un breve esquema de lo que entendi que me puso, pero el programa no me funciona, unicamente recoge el primer valor entero que encuentra, si ustedes pueden ayudarme a entenderlo se lo agradezco un montón:
Código C:
Ver original#include<stdio.h>
#include<stdlib.h>
void comprobar( int *id);
void main()
{
int id=9999; // Usar el id del loggin el id
comprobar(&id);
}
void comprobar(int *id)
{
int id1,dia1,mes1;
char nombre1[50];
FILE *rd;
rd
= fopen("pacientes.txt","a+"); if(rd==NULL)
{
printf("No se puede abrir el archivo\n"); }
fscanf(rd
,"%d", &id1
); // Te va leyendo todos los enteros
if(*id==id1) // Y si alguno cumple esta condicion, es que esta registrado
{
fscanf(rd
,"%d %d %d %s",&id1
,&dia1
,&mes1
,nombre1
[50]); // Ahora, va leyendo datos que esten en esta disposicion: entero(espacio)entero... y cuando encuentra el valor del primer entero, te guarda el de los dos enteros y cadena siguientes.
printf("El usuario %s esta registrado, nacido el %d del mes %d \n" ,nombre1
[50], dia1
, mes1
); }
if(*id!= id1)
{
printf("El usuario no esta registrado\n"); }
}