Report Card making BY Mitul Patel

45
A Project Report On REPORT CARD MAKING Computer Science Investigatory Project AISSE 2015-2016 Submitted By MITUL M PATEL Class : XII Under the Guidance of Mr. SANJAY PARMAR PGT (Computer Science)

Transcript of Report Card making BY Mitul Patel

Page 1: Report Card making BY Mitul Patel

A Project Report OnREPORT CARD MAKING

Computer Science Investigatory Project AISSE 2015-2016

Submitted ByMITUL M PATEL

Class : XII Under the Guidance of

Mr. SANJAY PARMAR PGT (Computer Science)

Department of Computer Science.

Page 2: Report Card making BY Mitul Patel

Department of Computer Science

C E R T I F I C A T E

This is to certify that MITUL M PATELOf Class XII has prepared the report on the

Project entitled “Report Card Making”. The report is the result of his efforts & endeavors. The report

is found worthy of acceptance as final project report for the subject Computer Science of Class

XII. He has prepared the report under my guidance.

(Mr. SANJAY PARMAR)PGT (Computer Science) Department of Computer Science.

Page 3: Report Card making BY Mitul Patel

Department of Computer Science

c e R T i F i c a T e

The project report entitled

“Report Card Making”,Submitted by MITUL PATEL of Class XII for the CBSE Senior Secondary Examination class XII of Computer Science has been examined.

SIGNATURE OF EXAMINER

Page 4: Report Card making BY Mitul Patel

D E C L A R A T I O N

I hereby declare that the project work entitled “Report Card Making”, submitted to Department of Computer Science, is prepared by me. All the coding are result of my personal efforts.

MITUL PATEL

Class XII

Page 5: Report Card making BY Mitul Patel

A C K N O W L E D G E M E N T

I would like to express a deep sense of thanks & gratitude to my

project guide Mr. Sanjay Parmar Sir for guiding me immensely through

the course of the project. He always evinced keen interest in my work.

His constructive advice & constant motivation have been responsible for

the successful completion of this project.

My sincere thanks goes to Shri !!!!!!!!!!, Our principal sir, for his

co-ordination in extending every possible support for the completion of

this project.

I also thanks to my parents for their motivation & support. I must

thanks to my classmates for their timely help & support for compilation

of this project.

Last but not the least, I would like to thank all those who had

helped directly or indirectly towards the completion of this project.

MITUL PATELClass: XII

Page 6: Report Card making BY Mitul Patel

CONTENTS

1. HEADER FILES USED. . . . . . . . . . . . . . . . .

2. FILES GENERATED. . . . . . . . . . . . . . . . . . .

3. WORKING DESCRIPTION. . . . . . . . . . . . .

4. CODING. . . . . . . . . .. . . . . . . . . . . . . . . . .

5. OUTPUT SCREENS. . . . . . . . . . . . . . . . . . .6. CONCLUSION. . . . . . . . . . . . . . . . . . . . . .

. . . .7. BIBLIOGRAPHY. . . . . . . . . . . . . . . . . . . . .

. . . .

Page 7: Report Card making BY Mitul Patel

HEADER FILES USED

1. FSTREAM.H – for file handling, cin and cout

2. PROCESS.H – for exit() function3. CONIO.H – for clrscr() and

getch() functions4. STDIO.H – for standard I/O operations5. STRING.H – for string handling6. MATH.H–for doing mathematical

operations

Page 8: Report Card making BY Mitul Patel

FILES GENERATED

DATA FILES

Report.DAT

PROGRAM FILEReport Card Making.CPP

OBJECT FILE

Report.OBJ

EXECUTION FILE

Report.EXE

Page 9: Report Card making BY Mitul Patel

WORKING DESCRIPTION

This program consistsof EIGHT options as follows

1. TO MAKE REPORT CARD2. TO APPEND NAMES3. SORT NAMES4. TO SEARCH A NAME5. TO UPDATE GRADE6. VIEW REPORT CARD7. LIST OF FAILURES8. MAIN MANU

Page 10: Report Card making BY Mitul Patel

HARDWARE AND SOFTWARE SPECIFICATION

Hardware Requirement Pentium (III-IV) Processor 64/128 MB of RAM 20/40 GB HDD 3¼ FDD CD Rom Drive Mouse, Keyboard & Printer VGA/SVGA

Software Requirement Windows XP/ 2007 Borland C++ / Turbo C++/ VC 4.5

Platform :- (Windows XP)Operating system Win-xp was chosen as the platform for developing the project. The choice was because of the following features provided by it:-

Multitasking Graphic User Interface User Friendly

Page 11: Report Card making BY Mitul Patel

ADVANTAGES OF USING C++Several advantages of using C++ are:-

Data Abstraction & Encapsulation. Data modularity. Reusability & transitive. Polymorphism. Inheritance.

OPERATING INSTRUCTION This program has been stored in file Program File:

officemg.cppData File : empdl.dat

To compile and run this program:- First go to the directory that contain it.(CD\project\

OFFICEMG.CPPs ) Open Turbo C++ Now open the file progress card and press Ctrl+f9

to compile and run it. Now the welcome screen appears.

process as per your choice

Page 12: Report Card making BY Mitul Patel

CODING

//Report Card Making#include<fstream.h>#include<stdlib.h>#include<stdio.h>#include<conio.h>#include<graphics.h>#include<dos.h>#include<string.h>#include<iomanip.h>

ofstream r;ifstream t;

void credits();void menu1();void menu2();void menu3();void terms();

class xii{ public: int roll; char na[20]; int m1,m2,m3,m4,m5; char g[10]; int t; int p; void input() { gotoxy(1,5); cout<<"\tENTER ROLL NUMBER OF THE STUDENT :"; cin>>roll; cout<<"\tENTER NAME OF THE STUDENT :"; gets(na); cout<<"\n\n\tENTER MARKS OF THE 5 SUBJECTS OUT OF 100"; cout<<"\n";

Page 13: Report Card making BY Mitul Patel

cout<<"\tENTER MARKS IN ENGLISH:"; cin>>m1;

cout<<"\n"; cout<<"\tENTER MARKS IN MATHS:"; cin>>m2; cout<<"\n"; cout<<"\tENTER MARKS IN PHYSICS:"; cin>>m3; cout<<"\n"; cout<<"\tENTER MARKS IN CHEMISTRY:"; cin>>m4; cout<<"\n"; cout<<"\tENTER MARKS IN COMPUTER:"; cin>>m5; cout<<"\n"; cleardevice(); t=m1+m2+m3+m4+m5; p=t/5; gotoxy(1,1); }

void output() { cout<<"\n"; cout<<" "<<roll<<"\t"<<" "<<na<<setw(10)<<"\t"; cout<<" "<<m1<<","<<m2<<","<<m3<<","<<m4<<","<<m5<<"\t"; cout<<" "<<p<<"%"<<"\t"<<"\t"<<" "<<g<<"\n"; cout<<"\t"; }

}s[30];

int i,n;void writes(){ clrscr(); cleardevice(); cout<<"\n"; cout<<"\tENTER THE NUMBER OF RECORDS TO BE CREATED :"; cin>>n; cleardevice(); for(i=0;i<n ;i++)

Page 14: Report Card making BY Mitul Patel

{ s[i].input(); if(s[i].p>=95)

strcpy(s[i].g,"A1"); if(s[i].p>=90 && s[i].p<=95)

strcpy(s[i].g,"A2"); if(s[i].p>=80 && s[i].p<=90)

strcpy(s[i].g,"B1"); if(s[i].p>=70 &&s[i].p<=80)

strcpy(s[i].g,"B2"); if(s[i].p>=60 &&s[i].p<=70)

strcpy(s[i].g,"C1"); if(s[i].p>=50 && s[i].p<=60)

strcpy(s[i].g,"C2"); if(s[i].p>=40&&s[i].p<=50)

strcpy(s[i].g,"D,1"); if(s[i].p<=40)

strcpy(s[i].g,"D2"); r.write((char*)&s[i],sizeof(s[i])); }}

void append(){ clrscr(); cleardevice(); cout<<"\n"; int k; cout<<"\t\t\t*-----------*"<<"\n"; cout<<"\t\t\t| APPENDING |"<<"\n"; cout<<"\t\t\t*-----------*"<<"\n"<<"\n"; cout<<"\tENTER THE NUMBER OF RECORDS TO BE APPENDED :"; cin>>k; for(i=0;i<k ;i++) { s[i].input(); if(s[i].p>=95)

strcpy(s[i].g,"A1"); if(s[i].p>=90&&s[i].p<=95)

strcpy(s[i].g,"A2"); if(s[i].p>=80&&s[i].p<=90)

strcpy(s[i].g,"B1");

Page 15: Report Card making BY Mitul Patel

if(s[i].p>=70&&s[i].p<=80)strcpy(s[i].g,"B2");

if(s[i].p>=60&&s[i].p<=70)strcpy(s[i].g,"C1");

if(s[i].p>=50&&s[i].p<=60)strcpy(s[i].g,"C2");

if(s[i].p>=40&&s[i].p<=50)strcpy(s[i].g,"D1");

if(s[i].p<=40)strcpy(s[i].g,"D2");

r.write((char*)&s[i],sizeof(s[i])); } getch(); n+=k;}

void search(){ clrscr(); cleardevice(); char name[20]; int flag=0; cout<<"\n"; cout<<"\t\t\t*-----------*"<<"\n"; cout<<"\t\t\t| SEARCHING |"<<"\n"; cout<<"\t\t\t*-----------*"<<"\n"<<"\n";

step: cout<<"\n\tENTER THE NAME TO BE SEARCHED :"; gets(name); cout<<"\n"; cout<<"ROLL NAME MARKS PERCENTAGE GRADE"<<"\n"; for(i=0;i<n;i++) { t.read((char *) &s[i],sizeof(s[i])); if(strcmp(name,s[i].na)==0) { flag=1; s[i].output(); break; }

Page 16: Report Card making BY Mitul Patel

} if(flag==0) { cleardevice(); cout<<"\tSORRY\n"; cout<<"\tTHE NAME DOES NOT EXIST.\n"; } getch();}

void update(){ clrscr(); cleardevice(); cout<<"\t\t\t*--------------*"<<"\n"; cout<<"\t\t\t| UPDATED LIST |"<<"\n"; cout<<"\t\t\t*--------------*"<<"\n"<<"\n"; cout<<"ROLL NAME MARKS PERCENTAGE GRADE"<<"\n"; cout<<"-----------------------------------------------------------"<<"\n"; for(i=0;i<n;i++) { if(s[i].p<=40.0)

s[i].t=s[i].t+(s[i].t/10);s[i].p=s[i].t/5.0;

if(s[i].p>=50.0&&s[i].p<=60.0)strcpy(s[i].g,"C2");

if(s[i].p>=40.0&&s[i].p<=50.0)strcpy(s[i].g,"D1");

if(s[i].p<=40.0)strcpy(s[i].g,"Failed");

r.write((char*)&s[i],sizeof(s[i])); s[i].output(); } getch();}

void sort() { clrscr(); cleardevice(); xii tp;

Page 17: Report Card making BY Mitul Patel

cout<<"\t\t\t*-------------*"<<"\n"; cout<<"\t\t\t| SORTED LIST |"<<"\n"; cout<<"\t\t\t*-------------*"<<"\n"<<"\n"; cout<<"ROLL NAME MARKS PERCENTAGE GRADE"<<"\n"; cout<<"---------------------------------------------------------"<<"\n"; for(i=0;i<n;i++) { t.read((char *) &s[i],sizeof(s[i])); for(i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(strcmp(s[i].na,s[j].na)>0) { tp=s[i];

s[i]=s[j]; s[j]=tp;

} } } for(i=0;i<n ;i++) s[i].output(); } getch();} void failed(){ cleardevice(); cout<<"\t**----------------------------------------------------------**"<<"\n"; cout<<"\t|| THE LIST OF STUDENTS WHO FAILED IN MORE THAN ONE SUBJECT ||"<<"\n"; cout<<"\t**----------------------------------------------------------**\n\n"; cout<<"ROLL NAME MARKS PERCENTAGE GRADE"<<"\n"; cout<<"-------------------------------------------------------"<<"\n"; for(i=0;i<n;i++) { int c=0; t.read((char *) &s[i],sizeof(s[i])); if (s[i].m1<=40)

c++;

Page 18: Report Card making BY Mitul Patel

if (s[i].m2<=40)c++;

if (s[i].m3<=40)c++;

if (s[i].m4<=40)c++;

if (s[i].m5<=40)c++;

if(c>=2) { s[i].output(); } }

getch();} void reads(){ clrscr(); cleardevice(); cout<<"\n"; cout<<"\t**------------------------------------------------**"<<"\n"; cout<<"\t|| THE REPORT CARD OF STUDENTS OF CLASS XII-B2 ||"<<"\n"; cout<<"\t**------------------------------------------------**"<<"\n"<<"\n"; cout<<"ROLL NAME MARKS PERCENTAGE GRADE"<<"\n"; cout<<"--------------------------------------------------------"<<"\n"; for(i=0;i<n;i++) { t.read((char *) &s[i],sizeof(s[i])); s[i].output(); } getch();} void terms(){ int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver,&gmode,"\\turboc3\\bgi"); errorcode = graphresult(); if (errorcode !=grOk) /* an error code occurred */ {

Page 19: Report Card making BY Mitul Patel

printf("Graphics error: %s\n", grapherrormsg(errorcode));printf("Press any key to halt:");getch;exit(1); /* terminate with an error code */ }char chc;rectangle(1,1,getmaxx(),getmaxy());settextstyle(GOTHIC_FONT,VERT_DIR,5);settextjustify(LEFT_TEXT,CENTER_TEXT); //Was actually- settextjustify(LEFT_TEXT,CENTER_TEXT,5);outtextxy(50,240,"REPORT CARD");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,5);outtextxy(240,50,"SELECT A TERM");outtextxy(240,90,"OF YOUR CHOICE.");outtextxy(240,105," ......................................");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,4);setbkcolor(BLACK);outtextxy(300,170,"1.Ist TERM");outtextxy(300,220,"2.IInd TERM");outtextxy(300,270,"3.IIIrd TERM");outtextxy(300,320,"4.EXIT");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3);outtextxy(400,400,"ENTER CHOICE");chc=getch(); switch(chc) { case '1':cleardevice();

menu1(); break;

case '2':cleardevice(); menu2(); break;

case '3':cleardevice(); menu3(); break;

case '4':cleardevice(); credits(); exit(0);

default :clrscr(); cleardevice();

Page 20: Report Card making BY Mitul Patel

settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);outtextxy(220,210,"WRONG CHOICE !");outtextxy(170,270,"PLEASE TRY AGAIN.");sleep(2);cleardevice();terms();}closegraph();}

void credits(){cleardevice();setbkcolor(4);gotoxy(33,6);cout<<"-:Created By:-";

for(int i=70;i>28;i--){gotoxy(i,8);cout<<"Mitul Patel"<<endl;delay(70);}for(i=70;i>28;i--){gotoxy(i,10);cout<<"[email protected]"<<endl;delay(70);}gotoxy(28,25);cout<<"Press any key to exit...";getch();exit(0);}

/***********************************menu1************************************/

Page 21: Report Card making BY Mitul Patel

void menu1(){cleardevice();char ch;back:settextstyle(GOTHIC_FONT,VERT_DIR,5);settextjustify(LEFT_TEXT,CENTER_TEXT);outtextxy(50,240,"REPORT CARD");settextstyle(SANS_SERIF_FONT,VERT_DIR,4);setbkcolor(BLACK);settextjustify(LEFT_TEXT,CENTER_TEXT);outtextxy(110,240,"Ist TERM");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,4);outtextxy(290,50,"1.MAKE REPORT CARD");outtextxy(290,90,"2.APPEND NAMES");outtextxy(290,130,"3.SORT NAMES");outtextxy(290,170,"4.SEARCH A NAME");outtextxy(290,210,"5.UPDATE GRADE");outtextxy(290,250,"6.VIEW REPORT CARD");outtextxy(290,290,"7.LIST OF FAILURES");outtextxy(290,330,"8.MAIN MENU");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3);

outtextxy(400,420,"ENTER CHOICE");ch=getch(); switch(ch) {case '1':r.open("report_1");writes();r.close();cleardevice();goto back; case '2':r.open("report_1",ios::app|ios::out);append();r.close();cleardevice();goto back;

Page 22: Report Card making BY Mitul Patel

case '3':t.open("report_1");sort();t.close();cleardevice();goto back; case '4':t.open("report_1");search();t.close();cleardevice();goto back; case '5':r.open("report_1",ios::end);update();r.close();cleardevice();goto back; case '6':t.open("report_1");reads();

t.close();cleardevice();goto back; case '7':t.open("report_1");failed();t.close();cleardevice();goto back; case '8':closegraph();terms();

Page 23: Report Card making BY Mitul Patel

default :clrscr();cleardevice();settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);outtextxy(220,240,"WRONG CHOICE !");outtextxy(190,280,"PLEASE TRY AGAIN.");sleep(2);cleardevice();goto back;}} /***************************************menu2********************************************/void menu2(){cleardevice();char ch;back:settextstyle(GOTHIC_FONT,VERT_DIR,5);settextjustify(LEFT_TEXT,CENTER_TEXT);outtextxy(50,240,"REPORT CARD");settextstyle(SANS_SERIF_FONT,VERT_DIR,4);setbkcolor(BLACK);settextjustify(LEFT_TEXT,CENTER_TEXT);outtextxy(110,240,"IInd TERM");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,4);outtextxy(290,50,"1.MAKE REPORT CARD");outtextxy(290,90,"2.APPEND NAMES");

outtextxy(290,130,"3.SORT NAMES");outtextxy(290,170,"4.SEARCH A NAME");outtextxy(290,210,"5.UPDATE GRADE");outtextxy(290,250,"6.VIEW REPORT CARD");outtextxy(290,290,"7.LIST OF FAILURES");outtextxy(290,330,"8.MAIN MENU");settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3);outtextxy(400,420,"ENTER CHOICE");ch=getch();

Page 24: Report Card making BY Mitul Patel

switch(ch) {case '1':r.open("report_2");writes();r.close();cleardevice();goto back; case '2':r.open("report_2",ios::app|ios::out);append();r.close();cleardevice();goto back; case '3':t.open("report_2");sort();t.close();cleardevice();goto back; case '4':t.open("report_2");search();t.close();cleardevice();goto back; case '5':r.open("report_2",ios::end);update();

r.close();cleardevice();goto back;

Page 25: Report Card making BY Mitul Patel

case '6':t.open("report_2");reads();t.close();cleardevice();goto back; case '7':t.open("report_2");failed();t.close();cleardevice();goto back; case '8':closegraph();terms(); default :clrscr();cleardevice();settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);outtextxy(220,240,"WRONG CHOICE !");outtextxy(190,280,"PLEASE TRY AGAIN.");sleep(2);cleardevice();goto back;}} /*********************************menu3**************************************/void menu3(){cleardevice();char ch;back:settextstyle(GOTHIC_FONT,VERT_DIR,5);settextjustify(LEFT_TEXT,CENTER_TEXT);

Page 26: Report Card making BY Mitul Patel

outtextxy(50,240,"REPORT CARD");settextstyle(SANS_SERIF_FONT,VERT_DIR,4);setbkcolor(BLACK);settextjustify(LEFT_TEXT,CENTER_TEXT);outtextxy(110,240,"IIIrd TERM");settextstyle(SANS_SERIF_FONT,0,4);outtextxy(290,50,"1.MAKE REPORT CARD");outtextxy(290,90,"2.APPEND NAMES");outtextxy(290,130,"3.SORT NAMES");outtextxy(290,170,"4.SEARCH A NAME");outtextxy(290,210,"5.UPDATE GRADE");outtextxy(290,250,"6.VIEW REPORT CARD");outtextxy(290,290,"7.LIST OF FAILURES");outtextxy(290,330,"8.MAIN MENU");settextstyle(SANS_SERIF_FONT,0,3);outtextxy(400,420,"ENTER CHOICE");ch=getch();

switch(ch) {case '1':r.open("report_3");writes();r.close();cleardevice();goto back;case '2':r.open("report_3",ios::app|ios::out);append();r.close();cleardevice();goto back;

case '3':t.open("report_3");sort();t.close();cleardevice();goto back;

Page 27: Report Card making BY Mitul Patel

case '4':t.open("report_3");search();

t.close();cleardevice();goto back;

case '5':r.open("report_3",ios::end);update();r.close();cleardevice();goto back;

case '6':t.open("report_3");reads();t.close();cleardevice();goto back;

case '7':t.open("report_3");failed();t.close();cleardevice();goto back;

case '8':closegraph();terms();

default :clrscr();cleardevice();settextstyle(TRIPLEX_FONT,HORIZ_DIR,5);outtextxy(220,240,"WRONG CHOICE !");outtextxy(190,280,"PLEASE TRY AGAIN.");sleep(2);cleardevice();

Page 28: Report Card making BY Mitul Patel

goto back;}}

/**********************************main**************************************/void main(){int gdriver = DETECT, gmode, errorcode;initgraph(&gdriver,&gmode,"\\turboc3\\bgi");errorcode = graphresult();if (errorcode != grOk) /*an error occurred*/ { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch; exit(1); /* terminate with an error code */ } settextstyle(SANS_SERIF_FONT,HORIZ_DIR,5);rectangle(1,1,getmaxx(),getmaxy());setbkcolor(9);outtextxy(300,100,"A");delay(2000);outtextxy(200,170,"PROJECT ON");delay(2000);outtextxy(95,240,"REPORT CARD MAKING");delay(2000);for(int i=0;i<=360;i++) { ellipse(320,240,0,i,300,200); delay(12); }closegraph();terms();}

Page 29: Report Card making BY Mitul Patel

OUTPUT

1.WELCOME SCREEN

2.CHOICE SCREEN

Page 30: Report Card making BY Mitul Patel

3.SELECT ED Ist TERM

4. TO MAKE REPORT CARD

Page 31: Report Card making BY Mitul Patel

5. TO APPEND NAMES

6. TO SORT NAMES

7. TO SEARCH A NAME

Page 32: Report Card making BY Mitul Patel

8. VIEW REPORT CARD

9. LIST OF FAILURES

Page 33: Report Card making BY Mitul Patel

10. EXIT SCREEN

Page 34: Report Card making BY Mitul Patel

BIBLIOGRAPHY

INTERNET

Computer Science Text Book (By Sumita Arora for class XII)

Together with Computer Science (Published by Rachna Sagar PVT LTD.)

Practicals & Projects In C++ (Published by Dhanpat Rai & CO.)