You are on page 1of 9

/* Student Record System - C implementation

Polytechnic University of the Philippines Mabini Campus, Sta. Mesa, Manila College of Computer Management and Information Technology

A Partial Fulfillment of the Subject C Programming 1

This is a simple Student Record System in C which uses file handling concepts.

Programmed by: Frederick Badion BS CompSci 1st year (SY: 2K4-2K5) Subject Professor: Mr. Alfred Pagalilawan Programmer/Instructor -CCMIT

*/ #include<stdio.h> #include<conio.h> #include<string.h> #include<dos.h> #include<stdlib.h> #include<ctype.h>

FILE *fp;

struct student{ char snum[13]; char fname[20]; char sname[20]; char mi; char ccode; }record;

void Temp1(void); void twolinebox(int x1,int y1,int x2,int y2){ int x,y; gotoxy(x1,y1); printf(""); //alt-201 gotoxy(x2,y1); printf(""); //alt-187 for(y=y1+1;y<y2;y++){ gotoxy(x1,y); printf(""); //alt-186 gotoxy(x2,y); printf(""); //alt-186 } gotoxy(x1,y2); printf(""); //alt-200 gotoxy(x2,y2); printf(""); //alt-188 for(x=x1+1;x<x2;x++){ gotoxy(x,y1); printf(""); //alt-205 gotoxy(x,y2); printf(""); //alt-205

} gotoxy(x1+1,y1+1); }

void printxy(int x,int y,char string[]){ gotoxy(x,y); printf("%s",string); }

void center(int y,char string[]){ int x=(80-strlen(string)+1)/2; gotoxy(x,y);printf("%s",string); }

void Create(void){ char opt; center(21,"WARNING!!!"); center(22,"You are about to create a new file"); center(23,"This will erase all records in the file..."); center(24,"Are you sure you want to proceed?[Y/N] "); opt=getche(); opt=toupper(opt); if(opt=='Y'){ fp=fopen("Group4.txt","w"); center(24," ");

center(24,"File successfully created!"); }

getch(); fclose(fp); } void Add(void){ char opt; fp=fopen("Group4.txt","a");

clrscr(); Temp1(); gotoxy(19,8); scanf(" "); gets(record.snum); gotoxy(19,10); scanf(" "); gets(record.fname); gotoxy(19,12); scanf(" "); gets(record.sname); gotoxy(19,14); record.mi=getche(); record.mi=toupper(record.mi); gotoxy(19,16); record.ccode=getche(); record.ccode=toupper(record.ccode); gotoxy(5,22); clreol(); printxy(79,22,""); fprintf(fp,"%s %s %s %c %c",record.snum,record.fname,record.sname,record.mi,record.ccode); gotoxy(5,21); clreol(); center(21,"Record successfully added!"); printxy(79,21,""); gotoxy(53,22); delay(1000); center(22,"Press any key to go to main menu..."); getch(); fclose(fp); }

void Temp1(void){ twolinebox(2,6,79,20); twolinebox(2,20,79,24); twolinebox(2,2,79,24); center(4,"ADD RECORD"); printxy(6,8,"Student no: "); printxy(6,10,"First Name: "); printxy(6,12,"Last Name: "); printxy(6,14,"Middle init:"); printxy(6,16,"Course code: "); center(22,"Course code: [A]-CompSci, [B]-for InfoTech, [any key]-Sevices"); gotoxy(19,7); }

void List(void){ int count=0,i,x=0,page=1,CS=0,IT=0,Serv=0;

fp=fopen("Group4.txt","r");

clrscr(); center(2,"Polytechnic University of the Philippines"); center(3,"Sta. Mesa, Manila"); center(5,"College of Computer Management and Information Technology");

printxy(10,7,"Record Course");

Student #

Name

for(i=1;i<80;i++){ gotoxy(i,8); puts(""); /*Alt-205*/ }

while(fscanf(fp,"%s %s %s %c %c",&record.snum,&record.fname,&record.sname,&record.mi,&record.ccode)!=EO F){ if(count!=0&&count%5==0){ printxy(5,23,"Press any key to continue..."); getch(); x=0; for(i=10;i<=24;i++){gotoxy(1,i); clreol();} page++; } gotoxy(70,4); printf("Page %d",page); gotoxy(13,10+x); printf("%d",count+1); gotoxy(19,10+x); printf("%s",record.snum); gotoxy(37,10+x); printf("%s, %s %c.",record.sname,record.fname,record.mi); gotoxy(62,10+x); switch(record.ccode){ case 'A': printf("CompSci"); CS++; break; case 'B': printf("InfoTech"); IT++; break; default : printf("Services"); Serv++; break; } x++; count++;

} printxy(25,17,"TOTAL"); gotoxy(15,18); printf("Comp Sci: %d",CS); gotoxy(15,19); printf("InfoTech: %d",IT); gotoxy(15,20); printf("Services: %d",Serv); printxy(5,23,"Press any key to go to main menu..."); getch();

fclose(fp); }

void Quit(void){ clrscr(); twolinebox(2,2,79,24); center(8,"PROGRAMMED"); center(9,"BY"); center(11,"Group 4"); center(13,"Badion, Frederick A."); center(14,"Saosa, Emmanuel R."); center(15,"Zamora, Sweet Joan J."); delay(5000); exit(1); fclose(fp); }

void Err_mess(void){ sound(1000); center(22,"Invalid Input!"); delay(1000); nosound(); }

void main(){ char choice; do{ clrscr(); twolinebox(29,6,51,8); twolinebox(20,5,60,18); twolinebox(2,20,79,25); twolinebox(2,2,79,25);

center(7,"MAIN MENU"); printxy(30,9,"Press:"); printxy(30,11,"[A]-Create File"); printxy(30,12,"[B]-Add Record"); printxy(30,13,"[C]-List Record"); printxy(30,14,"[D]-Quit Program"); printxy(30,16,"Enter your choice..."); gotoxy(50,16); choice=getch(); choice=toupper(choice);

switch(choice){ case 'A': Create(); break; case 'B': Add(); break; case 'C': List(); break; case 'D': Quit(); break; default: Err_mess(); break; } }while(choice!='D'); }

You might also like