Fee Management System
Fee Management System
PROJECT REPORT
ON
SESSION (2017-18)
AT
DEPARTMENT OF COMUTER APPLICATION
ARICENT COLLEGE
PATELPALI, RAIGARH (CHHATTISGARH)
AFFILIATED TO
BILASPUR UNIVERSITY
BILASPUR (C.G.)
PAGE-1
DECLARATION
I the undersigned solemnly declare that the report of the project work
also project team meeting where the project team comprised project
PAGE-2
CERTIFICATE BY THE EXAMINER
PAGE-3
ACKNOWLEDGEMENT
Indeed it was a matter of great felicity & privilege for me to work under their
interest & patience regarding our errors without which it would have been
ABSTRACT
PAGE-4
The purpose of the project entitled as “FEE MANAGEMENT
SYSTEM” is software will perform and fulfill all the tasks that any customer
would desire.Our motto is to develop a software program for managing the
entire bank process related to customer accounts, employee accounts and to
keep each every track about their property and their various transaction
processes efficiently.
PAGE-5
SYSTEM STUDY
PAGE-6
STUDY OF THE SYSTEM
To provide flexibility to the users, the interfaces have been developed that are
accessible through a browser. The GUI’S at the top level have been categorized
as
Input design is a part of overall system design. The main objective during the
input design is as given below:
INPUT STAGES:
Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction
PAGE-7
INPUT TYPES:
INPUT MEDIA :
At this stage choice has to be made about the input media. To conclude
about the input media consideration has to be given to;
Type of input
Flexibility of format
Speed
Accuracy
Verification methods
Rejection rates
Ease of correction
Storage and handling requirements
Security
Easy to use
PAGE-8
OUTPUT DESIGN:
In general are:
OUTPUT DEFINITION:
PAGE-9
It is not always desirable to print or display data as it is held on a computer. It
should be decided as which form of the output is the most suitable.
OUTPUT MEDIA:
appropriate for the output. The main considerations when deciding about the
output media are:
PAGE-10
PROCESS MODEL USED WITH JUSTIFICATION:
This Document plays a vital role in the development life cycle (SDLC) as it
describes the complete requirement of the system. It is meant for use by the
developers and will be the basic during testing phase. Any changes made to
the requirements in the future will have to go through formal change approval
process.
Changed
Requirements
Communicated
Requirements
Requirements
Specification
Requirements
Engineering
Design
Specification
Design
Executable
Software
Programming Maintenance
Modules
Integrated
Fig Software
Product
Integration
Delivered
Software
Delivery Product
Process
Product Product
Input Output
PAGE-11
SDLC is nothing but Software Development Life Cycle. It is a standard which is
used by software industry to develop good software.
Stages in SDLC:
Requirement Gathering
Analysis
Designing
Coding
Testing
Maintenance
The requirements gathering process takes as its input the goals identified
in the high-level requirements section of the project plan. Each goal will be
refined into a set of one or more requirements.
PAGE-12
These requirements are fully described in the primary deliverables for this
stage: the Requirements Document and the Requirements Traceability Matrix
(RTM). The requirements document contains complete descriptions of each
requirement, including diagrams and references to external documents as
necessary. Note that detailed listings of database tables and fields are not
included in the requirements document..
in this case only modules are individual tasks will be assigned to employees
who are working for that project.
Project Specifications are all about representing of various possible inputs
Analysis Stage:
The planning stage establishes a bird's eye view of the intended software
product, and uses this to establish the basic project structure, evaluate
feasibility and risks associated with the project, and describe appropriate
management and technical approaches.
PAGE-13
The most critical section of the project plan is a listing of high-level product
requirements, also referred to as goals. All of the software product
requirements to be developed during the requirements definition stage flow
from one or more of these goals
Designing Stage:
The design stage takes as its initial input the requirements identified in the
approved requirements document. For each requirement, a set of one or more
design elements will be produced as a result of interviews, workshops, and/or
prototype efforts. Design elements describe the desired software features in
detail, and generally include functional hierarchy diagrams, screen layout
diagrams, tables of business rules, business process diagrams, pseudo code,
and a complete entity-relationship diagram with a full data dictionary. These
PAGE-14
design elements are intended to describe the software in sufficient detail that
skilled programmers may develop the software with minimal additional input.
When the design document is finalized and accepted, the RTM is updated to
show that each design element is formally associated with a specific
requirement. The outputs of the design stage are the design document, an
updated RTM, and an updated project plan.
The development stage takes as its primary input the design elements
described in the approved design document. For each design element, a set of
one or more software artifacts will be produced. Software artifacts include but
are not limited to menus, dialogs, data management forms, data reporting
formats, and specialized procedures and functions.
PAGE-15
The RTM will be updated to show that each developed artifact is linked to
a specific design element, and that each developed artifact has one or more
corresponding test case items.
PAGE-16
The outputs of the integration and test stage include an integrated set of
software, an online help system, an implementation map, a production
initiation plan that describes reference data and production users, an
acceptance plan which contains the final suite of test cases, and an updated
project plan.
During the installation and acceptance stage, the software artifacts, online
help, and initial production data are loaded onto the production server. At this
PAGE-17
point, all test cases are run to verify the correctness and completeness of the
software. Successful execution of the test suite is a prerequisite to acceptance
of the software by the customer.
PAGE-18
Maintenance:
For this life cycle there is no end, it will be continued so on like an umbrella (no
ending point to umbrella sticks).
Feasibility Study:
Technical Feasibility
Operation Feasibility
Economical Feasibility
PAGE-19
PERFORMANCE REQUIREMENTS
SOFTWARE REQUIREMENTS:
HARDWARE REQUIREMENTS:
PAGE-20
INTRODUCTION TO C++
But how does a program actually start? Every program in C++ has one function,
always named main, that is always called when your program first executes.
From main, you can also call other functions whether they are written by us or,
as mentioned earlier, provided by the compiler.
PAGE-21
1#include <iostream>
5 int main()
6{
8 cin.get();
9}
The next important line is int main(). This line tells the compiler that there is a
function named main, and that the function returns an integer, hence int. The
"curly braces" ({ and }) signal the beginning and end of functions and other
code blocks. You can think of them as meaning BEGIN and END.
PAGE-22
The next line of the program may seem strange. If you have programmed in
another language, you might expect that print would be the function used to
display text. In C++, however, the cout object is used to display text
(pronounced "C out"). It uses the << symbols, known as "insertion operators",
to indicate what to output. cout<< results in a function call with the ensuing
text as an argument to the function. The quotes tell the compiler that you
want to output the literal string as-is. The '\n' sequence is actually treated as a
single character that stands for a newline (we'll talk about this later in more
detail). It moves the cursor on your screen to the next line. Again, notice the
semicolon: it is added onto the end of most lines, such as function calls, in C++.
The next command is cin. get(). This is another function call: it reads in input
and expects the user to hit the return key. Many compiler environments will
open a new console window, run the program, and then close the window.
This command keeps that window from closing because the program is not
done yet because it waits for you to hit enter. Including that line gives you time
to see the program run.
PAGE-23
CODING:-
PAGE-24
#include<iostream.h>
#include <fstream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>
#include <iomanip.h>
int i,j,li,lp,rec,valid;
void help();
//*********************************************************
//*********************************************************
//int i,j,li,lp;
char ch,choice;
//*********************************************************
//**********************************************************
class DRAW
public :
PAGE-25
void LINE_HOR(int, int, int, char) ;
void BOX(int,int,int,int,char) ;
};
//**********************************************************
//**********************************************************
class FEE
private :
int Class ;
void DISPLAY(int) ;
public :
void ADDITION(void) ;
void MODIFICATION(void) ;
void FEE_SLIP(void) ;
void LIST(void) ;
void HELP(void);
}fee ;
//**********************************************************
PAGE-26
// MAIN MENU FUNCTION
//**********************************************************
void mainmenu()
{ clrscr();
textcolor(WHITE);
for(li=30;li<=50;li++)
textcolor(WHITE);
gotoxy(li,14);
delay(30);
printf("*");
for(li=50;li>=30;li--)
textcolor(WHITE);
gotoxy(li,30);
delay(30);
printf("*");
for(lp=15;lp<30;lp++)
gotoxy(30,lp);
delay(100);
printf("|");
for(lp=29;lp>=15;lp--)
PAGE-27
{
gotoxy(50,lp);
delay(100);
printf("|");
gotoxy(15,10);
textcolor(WHITE);
gotoxy(35,16);
textcolor(WHITE);
gotoxy(35,19);
textcolor(WHITE);
cprintf("M: MODIFY");
gotoxy(35,22);
textcolor(WHITE);
cprintf("L: LIST");
gotoxy(35,25);
textcolor(WHITE);
cprintf("H: HELP");
gotoxy(35,28);
textcolor(WHITE);
cprintf("Q: QUIT");
choice=getch();
ch=toupper(choice);
switch(ch)
PAGE-28
case'F':fee.FEE_SLIP();
break;
case'M':fee.MODIFICATION();
break;
case'L':fee.LIST();
break;
case'H':fee.HELP();
break;
case'Q':exit(0);
break;
default:gotoxy(33,40);
getch();
mainmenu();
//**********************************************************
//**********************************************************
gotoxy(column1,row) ;
PAGE-29
cout <<c ;
//**********************************************************
//**********************************************************
gotoxy(column,row1) ;
cout <<c ;
//**********************************************************
//**********************************************************
void DRAW :: BOX(int column1, int row1, int column2, int row2, char c)
char ch=218 ;
PAGE-30
char l1=196, l2=179 ;
if (c == ch)
c1=218 ;
c2=191 ;
c3=192 ;
c4=217 ;
l1 = 196 ;
l2 = 179 ;
else
c1=c ;
c2=c ;
c3=c ;
c4=c ;
l1 = c ;
l2 = c ;
gotoxy(column1,row1) ;
cout <<c1 ;
gotoxy(column2,row1) ;
cout <<c2 ;
gotoxy(column1,row2) ;
cout <<c3 ;
gotoxy(column2,row2) ;
cout <<c4 ;
PAGE-31
column1++ ;
column2-- ;
LINE_HOR(column1,column2,row1,l1) ;
LINE_HOR(column1,column2,row2,l1) ;
column1-- ;
column2++ ;
row1++ ;
row2-- ;
LINE_VER(row1,row2,column1,l2) ;
LINE_VER(row1,row2,column2,l2) ;
//**********************************************************
//**********************************************************
fstream file ;
file.open("FEE.DAT", ios::in) ;
if (!file.fail())
return ;
file.close() ;
file.open("FEE.DAT", ios::app) ;
PAGE-32
Class = i ;
tuition = 0.0 ;
ac = 0.0 ;
science = 0.0 ;
computer= 0.0 ;
activity= 0.0 ;
file.close() ;
MODIFY_RECORD(12,450,50,60,60,50) ;
MODIFY_RECORD(11,450,50,60,60,50) ;
MODIFY_RECORD(10,350,50,30,60,50) ;
MODIFY_RECORD(9,350,50,20,60,50) ;
MODIFY_RECORD(8,300,50,20,40,50) ;
MODIFY_RECORD(7,300,50,20,40,50) ;
MODIFY_RECORD(6,300,50,20,40,50) ;
MODIFY_RECORD(5,250,50,0,40,40) ;
MODIFY_RECORD(4,250,50,0,40,40) ;
MODIFY_RECORD(3,250,50,0,40,40) ;
MODIFY_RECORD(2,250,50,0,40,40) ;
MODIFY_RECORD(1,250,50,0,40,40) ;
//**********************************************************
//**********************************************************
PAGE-33
void FEE :: LIST()
clrscr() ;
DRAW d ;
textcolor(WHITE);
d.BOX(1,2,80,24,218) ;
gotoxy(27,3) ;
d.LINE_HOR(2,79,4,196) ;
gotoxy(5,5) ;
d.LINE_HOR(2,79,6,196) ;
d.LINE_HOR(2,79,22,196) ;
float total ;
int row=8 ;
fstream file ;
file.open("FEE.DAT/n", ios::in) ;
gotoxy(6,row) ;
cout <<Class ;
gotoxy(23,row) ;
cout <<total ;
row++ ;
PAGE-34
file.close() ;
gotoxy(5,23) ;
getch() ;
mainmenu();
//**********************************************************
//**********************************************************
fstream file ;
file.open("FEE.DAT", ios::in) ;
if (Class == tclass)
gotoxy(5,5) ;
gotoxy(5,7) ;
cout <<"~~~~~~~~~~~~" ;
gotoxy(5,8) ;
gotoxy(5,9) ;
PAGE-35
cout <<"Annual charges Fee : " <<ac ;
gotoxy(5,10) ;
gotoxy(5,11) ;
gotoxy(5,12) ;
break ;
file.close() ;
//**********************************************************
//**********************************************************
fstream file ;
file.open("FEE.DAT", ios::in) ;
fstream temp ;
temp.open("temp.dat", ios::out) ;
file.seekg(0,ios::beg) ;
while (!file.eof())
PAGE-36
{
if (file.eof())
break ;
if (tclass == Class)
Class = tclass ;
tuition = ttution ;
ac = tac ;
science = tscience ;
computer= tcomputer ;
activity= tactivity ;
else
file.close() ;
temp.close() ;
file.open("FEE.DAT", ios::out) ;
temp.open("temp.dat", ios::in) ;
temp.seekg(0,ios::beg) ;
while (!temp.eof())
if (temp.eof())
break ;
PAGE-37
file.write((char *) this, sizeof(FEE)) ;
file.close() ;
temp.close() ;
//**********************************************************
//**********************************************************
clrscr() ;
textcolor(WHITE);
float t2=0 ;
do
valid = 1 ;
gotoxy(5,25) ; clreol() ;
gotoxy(5,5) ; clreol() ;
cout <<"Enter Class for the Modification of the Fee Structure : " ;
gets(t1) ;
t = atoi(t1) ;
PAGE-38
tclass = t ;
if (strlen(t1) == 0)
return ;
valid = 0 ;
gotoxy(5,25) ; clreol() ;
getch() ;
} while (!valid) ;
clrscr() ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
DISPLAY(tclass) ;
gotoxy(5,25) ; clreol() ;
do
gotoxy(5,15) ; clreol() ;
cout <<"Do you want to modify the fee structure (y/n) : " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
if (ch == 'N')
mainmenu();
PAGE-39
float ttution=0.0, tac=0.0, tscience=0.0, tcomputer=0.0, tactivity=0.0 ;
gotoxy(5,13) ; clreol() ;
gotoxy(5,17) ;
gotoxy(5,18) ;
gotoxy(5,19) ;
gotoxy(5,20) ;
gotoxy(5,21) ;
int modified = 5 ;
fstream file ;
file.open("FEE.DAT", ios::in) ;
if (Class == tclass)
break ;
file.close() ;
do
valid = 1 ;
gotoxy(5,27) ; clreol() ;
gotoxy(19,17) ; clreol() ;
gets(t1) ;
t2 = atof(t1) ;
PAGE-40
ttution = t2 ;
if (t1[0] == '0')
return;
if (strlen(t1) == 0)
break ;
valid = 0 ;
gotoxy(5,27) ; clreol() ;
getch() ;
} while (!valid) ;
if (strlen(t1) == 0)
modified-- ;
ttution = tuition ;
gotoxy(20,17) ;
cout <<ttution ;
do
valid = 1 ;
gotoxy(5,27) ; clreol() ;
gotoxy(26,18) ; clreol() ;
gets(t1) ;
PAGE-41
t2 = atof(t1) ;
tac = t2 ;
if (t1[0] == '0')
return ;
if (strlen(t1) == 0)
break ;
valid = 0 ;
gotoxy(5,27) ; clreol() ;
getch() ;
} while (!valid) ;
if (strlen(t1) == 0)
modified-- ;
tac = ac ;
gotoxy(26,18) ;
cout <<tac ;
do
valid = 1 ;
gotoxy(5,27) ; clreol() ;
gotoxy(19,19) ; clreol() ;
PAGE-42
gets(t1) ;
t2 = atof(t1) ;
tscience = t2 ;
if (t1[0] == '0')
return ;
if (strlen(t1) == 0)
break ;
valid = 0 ;
gotoxy(5,27) ; clreol() ;
getch() ;
} while (!valid) ;
if (strlen(t1) == 0)
modified-- ;
tscience = science ;
gotoxy(19,19) ;
cout <<tscience ;
do
valid = 1 ;
gotoxy(5,27) ; clreol() ;
PAGE-43
gotoxy(19,20) ; clreol() ;
gets(t1) ;
t2 = atof(t1) ;
tcomputer = t2 ;
if (t1[0] == '0')
return ;
if (strlen(t1) == 0)
break ;
valid = 0 ;
gotoxy(5,27) ; clreol() ;
getch() ;
} while (!valid) ;
if (strlen(t1) == 0)
modified-- ;
tcomputer = computer ;
gotoxy(19,20) ;
cout <<tcomputer ;
do
valid = 1 ;
gotoxy(5,27) ; clreol() ;
PAGE-44
cout <<"Enter ACTIVITY FEES or Press <ENTER> for no change" ;
gotoxy(19,21) ; clreol() ;
gets(t1) ;
t2 = atof(t1) ;
tactivity = t2 ;
if (t1[0] == '0')
return;
if (strlen(t1) == 0)
break;
valid = 0 ;
gotoxy(5,27) ; clreol() ;
getch() ;
} while (!valid) ;
if (strlen(t1) == 0)
modified-- ;
tactivity = activity ;
gotoxy(19,21) ;
cout <<tactivity ;
if (!modified)
mainmenu();
gotoxy(5,27) ; clreol() ;
PAGE-45
do
gotoxy(5,25) ; clreol() ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
if (ch == 'N')
return ;
MODIFY_RECORD(tclass,ttution,tac,tscience,tcomputer,tactivity);
gotoxy(5,27) ;
gotoxy(5,29) ;
getch() ;
mainmenu();
//**********************************************************
//**********************************************************
PAGE-46
clrscr() ;
textcolor(WHITE);
do
valid = 1 ;
gotoxy(5,25) ; clreol() ;
gotoxy(5,5) ; clreol() ;
gets(t1) ;
t = atoi(t1) ;
tclass = t ;
if (strlen(t1) == 0)
return ;
valid = 0 ;
gotoxy(5,25) ; clreol() ;
getch() ;
} while (!valid) ;
char name[26] ;
do
PAGE-47
gotoxy(5,25) ; clreol() ;
valid = 1 ;
gotoxy(5,7) ; clreol() ;
gets(name) ;
valid = 0 ;
gotoxy(5,25) ; clreol() ;
getch() ;
} while (!valid) ;
clrscr() ;
DRAW d ;
d.BOX(20,2,61,24,987) ;
gotoxy(24,3) ;
getdate(&dt);
d1 = dt.da_day ;
m1 = dt.da_mon ;
y1 = dt.da_year ;
gotoxy(45,4) ;
PAGE-48
d.LINE_HOR(21,60,5,196) ;
gotoxy(22,6) ;
gotoxy(22,7) ;
d.LINE_HOR(21,60,8,196) ;
gotoxy(21,9) ;
d.LINE_HOR(21,60,10,196) ;
d.LINE_HOR(21,60,22,196) ;
d.LINE_HOR(46,60,20,196) ;
gotoxy(25,21) ;
cout <<"TOTAL" ;
gotoxy(54,23) ;
cout <<"CASHIER" ;
fstream file ;
file.open("FEE.DAT", ios::in) ;
if (Class == tclass)
break ;
file.close() ;
float total=0.0 ;
gotoxy(23,12) ;
total = total+tuition ;
gotoxy(23,13) ;
PAGE-49
total = total+ac ;
gotoxy(23,14) ;
total = total+science ;
gotoxy(23,15) ;
total = total+computer ;
gotoxy(23,16) ;
total = total+activity ;
d.LINE_VER(9,21,46,179) ;
char tt[15] ;
sprintf(tt,"%f",total) ;
gotoxy(49,21) ;
cout <<tt ;
gotoxy(33,40);
getch() ;
mainmenu();
void FEE::HELP()
{ clrscr();
textcolor(WHITE);
PAGE-50
cout<<"2. Modify the fee structure of the school";
cout<<"3. View the fee structure of the school in the form of alist";
cout<<"1. FEE SLIP: This function displays the fee slip for a givenstudent";
cout<<"2. MODIFY: This function modifies the fee structure for agive class.";
cout<<" The user can change the fees for various fields";
cout<<"3. LIST: This function displays the list of total feesfor all the";
cout<<"If you encounter any problems, just press ctrl+break. You willget out /n";
getch();
getch();
mainmenu();
//**********************************************************
//**********************************************************
void main()
FEE fee;
fee.ADDITION();
clrscr();
PAGE-51
textcolor(WHITE);
for(i=10;i<71;i++)
textcolor(WHITE);
gotoxy(i,15);
delay(30);
printf("/");
for(i=70;i>=10;i--)
gotoxy(i,22);
delay(30);
for(j=16;j<=21;j++)
gotoxy(10,j);
delay(100);
printf("-");
for(j=21;j>=16;j--)
gotoxy(70,j);
delay(100);
printf("-");
gotoxy(16,17);
PAGE-52
textcolor(WHITE);
gotoxy(12,20);
gotoxy(36,28);
textcolor(WHITE);
cprintf("Coded By");
gotoxy(24,34);
textcolor(3);
cprintf("........");
gotoxy(44,48);
textcolor(WHITE);
getch();
mainmenu();
PAGE-53
OUTPUT
PAGE-54
Starting program :-
PAGE-55
Main menu:-
PAGE-56
Fee slip:-
PAGE-57
Modify:-
PAGE-58
List:-
PAGE-59
Help:-
PAGE-60
BIBLIOGRAPHY:-
1.Let us c yaswant kanetkar
3. c programming Robert
PAGE-61