Вы находитесь на странице: 1из 6

1915-1905 2

Student Record System in C

Program Source Code


/*
Student Record System - C implementation
Institute of Industrial Electronics Engineering,
NED University, Karachi
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: M. Ahsan Ali
Industrial Electronics 2st year (1915)
Subject Professor: Mr. Sajid Hussain
Programmer/Instructor
*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<dos.h>
#include<stdlib.h>
#include<ctype.h>
#include<graphics.h>
void first()
{
int gd,gm;
gd=DETECT;
initgraph(&gd, &gm, "c:\\TC\\bgi");
setcolor(3);
setfillstyle(5,RED);
bar(90,55,550,310);
setfillstyle(1, 0);
bar(100,70,540,295);
moveto(115,100);
settextstyle(4,0,5);

1915-1905 3
Student Record System in C

outtext("Student Record System");


moveto(225 ,150);
settextstyle(4,0,9);
outtext("in C");
setcolor(3);
moveto(400 ,400);
settextstyle(3,0,2);
outtext("Designed by");
outtextxy(400,420,"M.Ahsan Ali (1915)");
outtextxy(400,440,"Asif Rasool (1905)");
while(!kbhit())
{
setcolor(random(2));
circle(0,random(540),20);
circle(639,random(540),20);
}
getch();
closegraph();
restorecrtmode();
}
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++){

1915-1905 4
Student Record System in C

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("SRS.txt","w");
center(24,"
");
center(24,"File successfully created!");
}
getch();
fclose(fp);
}
void Add(void){
char opt,c;
fp=fopen("SRS.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,"");

1915-1905 5
Student Record System in C

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]-L.D.S.C, [B]-for E.C.S, [any
key]-CompProg");
gotoxy(19,7);
}
void List(void){
int count=0,i,x=0,page=1,CS=0,IT=0,Serv=0;
fp=fopen("SRS.txt","r");
clrscr();
center(2,"Institute of Industrial Electronics
Engineering");
center(3,"NED University, Karachi");
center(5,"Introduction to Computer Engineering");
printxy(10,7,"Record
Student #
Name
Course");
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,&re
cord.ccode)!=EOF){

1915-1905 6
Student Record System in C

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("L.D.S.C"); CS++;
break;
case 'B': printf("E.C.S");
IT++;
break;
default : printf("CompProg"); Serv++; break;
}
x++;
count++;
}
printxy(25,17,"TOTAL");
gotoxy(15,18); printf("L.D.S.C: %d",CS);
gotoxy(15,19); printf("E.C.S:
%d",IT);
gotoxy(15,20); printf("CompProg: %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,"M. Ahsan Ali (1915)");
center(12,"Asif Rasool (1905)");
delay(5000);
exit(1);
fclose(fp);
}
void Err_mess(void){
sound(1000);

1915-1905 7
Student Record System in C

center(22,"Invalid Input!");
delay(1000);
nosound();
}

void main()
{
char choice;
first();
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');
}

Вам также может понравиться