Sunday, August 11, 2019

Student Record System in C

A simple student record system that I wrote in C language using Turbo C compiler in DOS a long time ago.

I am currently accepting programming work, IT projects, school and application development, programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me in the following email address for further details.  If you want to advertise on my website kindly contact me also in my email address also. Thank you.

My email address is the following jakerpomperada@gmail.com, jakerpomperada@aol.com, and jakerpomperada@yahoo.com.

My mobile number here in the Philippines is 09173084360.

My telephone number at home here in Bacolod City, Negros Occidental Philippines is  +63 (034) 4335675.

Here in Bacolod I also accepting computer repair, networking and Arduino Project development at a very affordable price.

My personal website is http://www.jakerpomperada.com



Sample Program Output


Program Listing

student_db.c


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>

main( )
{
FILE  *fp, *ft ;
char  another, choice ;
struct student
{
char  stud_id[200];
char  name[200];
char  course[200];
char  sex;
int   age;
char  address[200];
char  email[200];
char  subject[200];
float prelim,midterm,endterm,final_grade;
} ;

struct student info ;
char student_id[200];
int flag=0;

long int  recsize ;

fp = fopen ( "BIODATA.DAT", "rb+" ) ;

if ( fp == NULL )
{
fp = fopen ( "BIODATA.DAT", "wb+" ) ;

if ( fp == NULL )
{
puts ( "Cannot open file" ) ;
exit(0) ;
}
}

recsize = sizeof ( info ) ;

while (1)
{
        system("CLS");
        printf("\n");
/* textcolor(LIGHTGREEN); */
        printf("\n======================================");
        printf("\n");
        printf("\nBIODATA  STUDENT INFORMATION SYSTEM ");
        printf("\n");
        printf("\n======================================");
   /* normvideo(); */
printf("\n\n");
printf ( "1. ADD STUDENT RECORDS") ;
printf("\n");
printf ( "2. DISPLAY STUDENT RECORDS" ) ;
printf("\n");
printf ( "3. UPDATE STUDENT RECORDS" ) ;
printf("\n");
printf ( "4. SEARCH STUDENT RECORDS" ) ;
printf("\n");
printf ( "5. DELETE STUDENT RECORDS" ) ;
printf("\n");
printf ( "6. QUIT PROGRAM" ) ;
printf("\n\n");
printf ("SELECT YOUR CHOICE : ") ;
fflush (stdin) ;
choice = getche() ;
switch (choice)
{
case '1' :
fseek (fp, 0 ,SEEK_END) ;
another = 'Y' ;

while ( another == 'Y' )
{
system("cls");
printf("\n\n");
                    printf("=== Add New Student Record in the Database ===");
                    printf("\n\n");
printf("Enter Student ID             : ");
scanf("%s",&info.stud_id);
printf("Enter Student Name           : ");
fflush(stdin);
gets(info.name);
printf("Enter Course                 : ");
fflush(stdin);
gets(info.course);
    printf("Enter Gender M/F             : ") ;
                    info.sex = toupper(getche());
                    printf("\n");
                    printf("Enter Age                    : ") ;
                    scanf("%d",&info.age);
                    printf("Enter Home Address           : ");
                    fflush(stdin);
gets(info.address);
printf("Enter Email Address          : ");
scanf("%s",&info.email);
printf("Enter Subject                  : ");
fflush(stdin);
gets(info.subject);
printf("Enter Prelim Grade           : ");
scanf("%f",&info.prelim);
printf("Enter Midtem Grade           : ");
scanf("%f",&info.midterm);
printf("Enter Endterm Grade           : ");
scanf("%f",&info.endterm);
info.final_grade = (info.prelim * 0.20) + (info.midterm * 0.30) + (info.endterm * 0.50);
printf("\n\n");
                    printf("\nFinal Grade         : %2.0f",info.final_grade);
fwrite ( &info, recsize, 1, fp ) ;
printf("\n\n");
printf ("\nAdd another Record (Y/N) : ") ;
fflush (stdin) ;
another = toupper(getche()) ;
}

break ;

case '2' :
    system("cls");
rewind (fp);
printf("\n\n");
                printf("=== View the Records in the Database ===");
                printf("\n\n");
while ( fread ( &info, recsize, 1, fp ) == 1 )
         {
    printf("\n");
            printf("\n Student ID          : %s",info.stud_id);
        printf("\n Name                : %s",info.name);
    printf("\n Course              : %s",info.course);
    printf("\n Gender              : %c",info.sex);
    printf("\n Age                 : %d",info.age);
    printf("\n Home Address        : %s",info.address);
    printf("\n Email Address       : %s",info.email);
    printf("\n Subject             : %s",info.subject);
    printf("\n Prelim Grade        : %2.0f",info.prelim);
    printf("\n Midterm Grade       : %2.0f",info.midterm);
    printf("\n Endterm Grade       : %2.0f",info.endterm);
    printf("\n");
    info.final_grade = (info.prelim * 0.20) + (info.midterm * 0.30) + (info.endterm * 0.50);
    printf("\n Final Grade         : %2.0f",info.final_grade);
printf("\n\n");
        }
            system("pause");
            break ;

case '3' :
               rewind (fp);

another = 'Y' ;
while (another == 'Y')
{
                    system("cls");
                    printf("=== Update Student Records in the Database ===");
                    printf("\n\n");
printf("\n");
                    printf("Enter Student ID Number      : ");
scanf("%s",&student_id);
rewind (fp) ;
while (fread( &info, recsize, 1, fp ) == 1 )
{
                    if ( strcmp ( info.stud_id, student_id ) == 0 )
                    {
                        printf("Enter Student ID       : ");
                        scanf("%s",info.stud_id);
                        printf("Enter Student Name     : ");
                        fflush(stdin);
                        gets(info.name);
                        printf("Enter Course           : ");
                        fflush(stdin);
                        gets(info.course);
                        printf("Enter Gender M/F       : ") ;
                        info.sex = toupper(getche());
                        printf("\n");
                        printf("Enter Age              : ") ;
                        scanf("%d",&info.age);
                        printf("Enter Home Address     : ");
                        fflush(stdin);
                        gets(info.address);
                        printf("Enter Email Address    : ");
                        scanf("%s",&info.email);
                        printf("Enter Subject          : ");
                        fflush(stdin);
                        gets(info.subject);
                        printf("Enter Prelim Grade     : ");
                        scanf("%f",&info.prelim);
                        printf("Enter Midtem Grade     : ");
                        scanf("%f",&info.midterm);
                        printf("Enter Endterm Grade    : ");
                        scanf("%f",&info.endterm);
                        printf("\n");
                        info.final_grade = (info.prelim * 0.20) + (info.midterm * 0.30) + (info.endterm * 0.50);
                        printf("\n Final Grade         : %2.0f",info.final_grade);
                        printf("\n\n");
                        printf("Records has been updated in the database.");
                        printf("\n\n");
                        system("pause");
fseek ( fp, - recsize, SEEK_CUR ) ;
fwrite ( &info, recsize, 1, fp ) ;
break ;
                    }
                }
             if (strcmp(info.stud_id,student_id) != 0 )
                    {
                        printf("\n\n");
                        printf("No Record in the Database.");
                        printf("\n");
                        system("pause");
                        break;
                    }
                    printf("\n\n");
printf ( "\nUpdate Another Record (Y/N) : " ) ;
fflush (stdin) ;
another = toupper(getche());
}

break ;

case '4' :
                rewind (fp);

another = 'Y' ;
while ( another == 'Y' )
{
                    system("cls");
                    printf("=== Search Student Records in the Database ===");
                    printf("\n\n");
    printf("Enter Student ID       : ");
scanf("%s",&student_id);
printf("\n");
rewind (fp) ;
while ( fread( &info, recsize, 1, fp ) == 1 )
{
if (strcmp(info.stud_id,student_id) == 0 )
{
                            printf("\n");
                            printf("\n ID Number           : %s",info.stud_id);
                            printf("\n Name                : %s",info.name);
                            printf("\n Course              : %s",info.course);
                            printf("\n Gender              : %c",info.sex);
                            printf("\n Age                 : %d",info.age);
                            printf("\n Home Address        : %s",info.address);
                            printf("\n Email Address       : %s",info.email);
                            printf("\n Subject             : %s",info.subject);
                            printf("\n Prelim Grade        : %2.0f",info.prelim);
                            printf("\n Midterm Grade       : %2.0f",info.midterm);
                            printf("\n Endterm Grade       : %2.0f",info.endterm);
                            printf("\n");
                            info.final_grade = (info.prelim * 0.20) + (info.midterm * 0.30) + (info.endterm * 0.50);
                            printf("\n Final Grade         : %2.0f",info.final_grade);
                            printf("\n\n");
                            system("pause");
                            break;
                }
}

            if (strcmp(info.stud_id,student_id) != 0 )
                    {
                        printf("\n\n");
                        printf("No Record in the Database.");
                        printf("\n\n");
                        system("pause");
                        break;
                    }
                    printf("\n\n");
printf ( "\n Search Another Student Record (Y/N) : " ) ;
fflush (stdin) ;
another = toupper(getche());
}
break ;

case '5' :
another = 'Y' ;
while ( another == 'Y' )
{
system("cls");
flag=0;
                    printf("=== Delete Student Records in the Database ===");
                    printf("\n\n");
printf("Enter Student ID       : ");
scanf("%s",&student_id);
printf("\n");

    ft = fopen ("TEMP.DAT", "wb") ;
rewind (fp) ;
while (fread (&info, recsize, 1, fp) == 1 )
{
if (strcmp(info.stud_id, student_id) != 0 )
fwrite(&info, recsize, 1, ft ) ;
else
                            flag=1;
}

fclose (fp) ;
fclose (ft) ;
remove ("BIODATA.DAT") ;
rename ("TEMP.DAT", "BIODATA.DAT") ;
fp = fopen ("BIODATA.DAT", "rb+") ;

                  if(flag==1) {
                        printf("\n\n");
                        printf("Record Successfully Deleted From the Database.");
                        printf("\n\n");
                        system("pause");
                    }

else if (flag!=1) {
                        printf("\n\n");
                        printf("Sorry Record Not Found in the Database.");
                        printf("\n\n");
                        system("pause");

                    }

                        printf("\n\n");
                        printf( "Delete Another Record (Y/N) " ) ;
                        fflush ( stdin ) ;
                        another = toupper(getche());
}
break ;

case '6' :
fclose (fp) ;
printf("\n\n");
/* textcolor(YELLOW+BLINK); */
printf("             Thank You For Using This Program !!!   ");
printf("\n\n");
system("PAUSE");
exit(0);
}
}
} /* End of Code */









No comments:

Post a Comment