Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.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, i, //Name Length
Deleted; //True if requested item deleted
char FName [Nlen +1]; // first name
char LName [Nlen +1]; // lase name
char Grade, Sex, Ans1;
FILE *fin;
PERSON *TOP = NULL; //Initialize top list point to Null
fin = fopen( "e:data.txt", "rw");
do
{
fscanf(fin, "%25s %25s %c %c\n", STU->LName, STU->FName, &STU->Sex, &STU->Grade);
printf ("chose option you want to do\n");
printf ("Option 1 : Enter New Recode\n");
printf ("Option 2 : Display List\n");
printf ("Option 3 : Quit\n");
fflush(stdout);
scanf ("%d", Ans);
if ( scanf("%d", &Ans) == 1 ) /* get answer */
{
STU = (PERSON*) malloc (sizeof (PERSON));
if (STU == NULL)
{
perror("PERSON");
exit(EXIT_FAILURE);
}
switch(Ans){
case '1' :
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);
while (scanf("%s %s %c %c", STU->FName, STU->LName, &STU->Sex,
&STU->Grade) == 4)
{
fprintf(fin, "%s %s %c %c\n", STU->FName, STU->LName, STU->Sex,STU->Grade);
fflush(fin);
}
fclose(fin);
break;
case '2' :
i = 1;
fin = fopen( "e:data.txt", "r");
if (fin == NULL)
{
perror(fin);
exit(EXIT_FAILURE);
}
while (fscanf(fin, "%s %s %c %c", STU->FName, STU->LName, &STU->Sex,
&STU->Grade) == 4)
{
printf("Record %d: %s %s %c %c\n", i, STU->FName, STU->LName,
STU->Sex, STU->Grade);
i++;
}
fclose(fin);
break;
case '3' :
printf ("you chose to exit. Hit enter to close");
break;
}//end of switch
} while ( Ans != 3 );
printf("1. Enter new record\n"
"2. Display List\n"
"3. Quit\n\n");
printf("Prompt: ");
fflush(stdout);
free(STU);
getchar ();
getchar ();
return 0;
}