Code:
#include <stdio.h>
#include <ctype.h>
struct Student
{
int ID;
char LastName[32];
char FirstName[32];
int DateOfBirth; // This could be of the form YYYYMMDD. For example someone born on December 21st, 1990 would have a value of 19901221
char Address[32];
char TelephoneNumber[11]; // a 10-digit string
char ProgramPursued[32];
};
struct student students[10]={
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a243","Spencer", "Sochelle", "22-05-87", "29_Decent_Village", "898-0497", "business"},
{"a123","Dobson", "Dwayne", "89-05-83", "263_Far Park Blvd", "457-2014", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
{"a123","Hall", "Rayon", "16-06-87", "43_Olympic_Court", "898-0497", "Computer"},
};
char GetUserOption()
{
char option = 'I'; // 'I' for Invalid
while(option == 'I')
{
// Print the menu items
printf("\n");
printf("Choose one of the following options:\n[u]pdate [P]rint [S]earch [E]xit\n");
scanf("%c", &option);
switch(toupper(option))
{
case 'U':
case 'P':
case 'S':
case 'E':
break;
default:
option = 'I';
break;
}
}
return option;
}
void LetUserSearchForStudent()
{
// Getting the ID from the user to search for
int id = GetIDFromUser();
}
// Getting an "ID" from the user
int GetIDFromUser()
{
int id = 0;
printf("Enter the ID: ");
scanf("%d", &id);
return id;
}
// students must hold 10 students
void UpdateStudents(Student students[])
{
// TODO: update the file
}
// students must hold 10 students
void PrintStudents(Student students[])
{
// TODO: print students from file
}
// students must hold 10 students
void LoadStudents(Student students[])
{
// TODO: load students from file
}
// students must hold 10 students
void SaveStudents(Student students[])
{
int i;
// Open the file for writing
FILE *fp = fopen("records.txt", "wb");
if(fp == NULL) return;
// Loop through each student
for(i = 0; i < 10; ++i)
{
// Write the student to the file....here we will use comma-separated values
fprintf(fp, "%d,%s,%s,%d,%s,%s,%s\r\n",
students[i].ID,
students[i].LastName,
students[i].FirstName,
students[i].DateOfBirth,
students[i].Address,
students[i].TelephoneNumber,
students[i].ProgramPursued
);
}
// Close the file
fclose(fp);
}
int main()
{
Student students[10];
int looping = 1;
// Load the students from the file
LoadStudents(students);
// Loop until exit
while(looping)
{
char option = GetUserOption();
switch(option)
{
case 'U':
// TODO: Let the user update a record
break;
case 'P':
// TODO: Print the students to the screen
break;
case 'S':
LetUserSearchForStudent();
break;
case 'E':
looping = 0; // exit the loop
break;
}
}
// Save the students to the file
SaveStudents(students);
return 0;
}