I need to store it as text.
Code:
while (fscan(fin, '%-*s %-*s %c %c\n", Nlen, STU->LName, STU->FName,
STU->Sex,STU->Grade) != EOF)
dose this look right for know
Code:
#include <stdio.h>
#include <string.h>
#define FLASE 0
#define TRUE 1
#define Nlen 25
typedef struct person{
char FName [Nlen +1];
char LName [Nlen +1];
char Sex;
char Grade;
struct person *Next;
} PERSON;
void PrintList (PERSON*);
int DeletePerson;
PERSON* InsertNode (PERSON*, PERSON*);
main ()
{
PERSON *STU; //TEmp pointer used to creat list
int Ans; //User responce
int Len, //Name Length
Deleted; //True if requested item deleted
char FName [Nlen +1]; // first name
char LName [Nlen +1]; // lase name
char Grade, Sex;
FILE *fin;
fin = fopen( "data.dat", "rw");
PERSON *TOP = NULL; //Initialize top list point to Null
while (fscanf(fin, "%-*s %-*s %c %c\n", Nlen, STU->LName, STU->FName, STU->Sex,STU->Grade) != EOF){
printf ("chose option you want to do\n");
printf ("Option 1 : Enter New Recode");
printf ("Option 2 : Display List");
scanf ("%d", Ans);
switch (Ans){
case '1' :
do {
STU = (PERSON*) malloc (sizeof(PERSON));
if (STU == NULL)
printf ("Error -- could not allocate memory\n\n");
else {
printf ("\nEnter students first name ( uo to %d letters):", Nlen);
fgets (STU->FName, Nlen+1, stdin);
Len = strlen (STU->FName);
if (STU->FName[Len-1]== '\n')
STU->FName [Len-1] == '\0';
printf ("\nEnter students first name ( uo to %d letters):", Nlen);
fgets (STU->LName, Nlen+1, stdin);
Len = strlen (STU->LName);
if (STU->LName[Len-1]== '\n')
STU->LName [Len-1] = '\0';
printf ("Please enter Sex");
scanf ("%c", &STU->Sex);
printf ("Please enter Grade");
scanf ("%c", &STU->Grade);
STU->Next= NULL;
getchar ();
getchar ();
return 0;
}