Você está na página 1de 99

1.

INTRODUCTION

Presently Delhi Metro is one of the best facility for Delhi Citizens, it will cover whole

Delhi but it is now under construction. Now train are running from Vishaw Vidhayalay to

Kasmiri Gate that is under ground and Shahadra to Rithala that is on the over flay and

rest are under construction.

Presently I am decided that I have to make project for Delhi Metro that control whole

information about Trains, about Station, about Staff etc. and I know that it will control

whole management system of Delhi Metro.

This Project has made for making the management system of the Delhi Metro Trains and

control whole information about the Delhi Metro. This project is totally real life system

of Delhi Metro Management System. This will reduce the Lots of paper work, and annual

work too with fast processing and other facilities. It has the capability of automate the

management system of Delhi Metro Trains data, Station data, Staff data, which consists

of some tables, which are minimally required by this project.

Since the advent of computers in the last two decades, every organization is going under

the process of computerization. The computerization has many benefits. Primarily, a

computer is helpful in four major aspects of any kind of organization:

• Time Efficiency

• Cost Effective

• Huge data storage capacity and

• Simple operation

1
When every little thing is handled by computer then why not the DMRC Control System?
In the today’s world moving through computer is become a very common incident.
Therefore day by day rush to the Railway reservation counters are increasing. For this
there must be a proper reservation system, which can deal with the different situation and
handle any ad-hoe problems. To make a project on DMRC Control System is a very
cumbersome task. I have prepared this project on the DMRC control system. The project
is developed keeping the fact in mind that this should be user friendly.
Current Organizations like university, college, school, hospitals, shopping malls,
baking sectors etc. also have these basic needs. They concentrate on faster operations,
responsibility and communication to increase throughput. In DMRC Control System is
the one of the area that required a huge amount of requirement, this system maintains the
whole information about the DMRC management system. People working in different
departments all should see same information.

When one department finishes with the data entry it is automatically routed to the next
department. These all are also the requirements of the organizations like Shopping mall,
Banking etc. if we talk about manual or semi automated system, manual system is very
time consuming and prone to errors and later is less time consuming as compare to
manual but it’s also prone to errors. In today’s fast-track era where “Time Is Money” one
has to fully automate the existing system to beat the competitive world.

This project provides all the facilities of requirement maintain like train management,
DMRC management, location management, etc.

2
2. OBJECTIVE

The main objectives of the project are to maintain the information about the DMRC

control system very easily. This project is based on a real life process and has been

implemented in the “Metro train Corporation”. Metro train Management system, is

totally based on the Management system of Metro train. A Metro train company manage

DMRC information, Train information, Booking information etc. This software project is

very much helpful for the Metro train Management system.

o Fast retrieval of information around the mall or any where.

o Easy access by seating at home to most of the work Places.

o Easy database access with the invaluable functions.

3
3. PROBLEM SELECTION

(Definition of Problem)

One of the most difficult tasks of system analysis is developing a clear, in-depth under-
standing of the problem being investigated, without which it becomes impossible to
specify the requirements for a new project with any accuracy. Several questions should
be posed for this.

Some of those may be:

 What is the problem?


 How complex is it?
 What are its likely causes?
 Why is it important that the problem be solved?
 What are possible solutions to the problem?
 What types of benefits can be expected once the problem is solved?

It takes considerable skill to determine the true cause of a systems problem. A systems
analyst might begin to define the problem by determining if the problem can be classified
ac- cording to one or more common types of systems problems. With knowledge of the
Common types of problems, the analyst can diagnose a problem by examining its
characteristics.

Organizations usually face problems or have opportunity due to the following:

 a new product or plant or branch


 a new market or new process
 failure of an existing system
 inefficiency of an existing system
 Structural error in the existing system, etc.

4
For identifying problems/opportunities, we scan the following:

 the performance of the system


 the information being supplied and its form
 the economy of processing
 the control of the information processing
 the efficiency of the existing system
 the requirement of the data and software
 the requirement of the equipment and personnel, etc

After identification of the problem, it is defined and a general direction or method for
solving this problem is also determined. Then project boundaries are defined. The
management establishes the term of reference as well as the resources to be provided for
the project. System development is an iterative process and the first identifiable stage of
it is Problem Definition, whose final output is Terms of Reference.

Careful analysis of this system suggests a number of different problems:

Problem of Reliability: Current system is not reliable. It seems to vary in quality and
results from one month to the, next. Some times it gives good output, but some times
the output is worst.
1. Problem of Accuracy: There are too many mistakes in reports and calculations.
2. Problem of timeliness: In the current system the reports and output produced is
mostly late and in most of the cases it is useless because it is not on time.
3. Problem of Validity: The output and reports mostly contains misleading information.
The transactions and calculations are sometimes not valid.
4. Problem of Economy: The current system is very costly. We have to spend lots of
money in manual filing, calculations and remembering the information, but still not
get the desired results.

5
OOPS – Object Oriented Programming System

Object Oriented Programming is a method of programming that seeks to mimic the

way we form models of the world. To cope with the complexities of life, we have

evolved a wonderful capacity to generalize, classify and generate abstractions. Almost

every noun in our vocabulary represents a class of objects sharing some set of attributes

or behavioral traits.

The entire basis of Object Oriented Programming, infect is defining the Object in Object

Oriented Programming. Object is a unit that combines both code and data together. And

an object is an instance of a class. Class is a type of data structure defined to hold both

data and the code functions.

Object Oriented Programming also allows you to design and implement your application

more quickly than traditional approaches. Object Oriented Programming also makes code

easier to maintain so that you can refine the implementation without causing major

problems.

6
RISK ANALYSIS

Project Risk: It identify potential budgetary, schedule, personnel, resource, customer,


and requirements problems and their impact on software. All the above factors are
analyzed, customer requirements are analyzed properly.

Technical Risk: It identifies potential design, implementation, interface, verification, and


maintenance problems. All the above factors have been analyzed.

Business Risk: (1) Software is developed keeping in mind that there is demand in
custom, so that to avoid the market risk. (2) Software is designed to fit into the
overall business strategy for the custom department, to avoid the strategic risk. (3)
The software is easily understandable by the sales persons team, so that they
could know much about the product working and sell in the market. (4) It has the
strong management support, and not likely to change in the management people
to avoid the management risk. (5) Software fits the budget and there is no budget
risk.

7
4. PROJECT MONITORING SYSTEM

DMRC Control System: This software is designed keeping the concept in mind the much
easier way of manages the requirement in the shopping mall area. My Application is very
useful for modern students because it covers all the features of Requirement System. This
application is containing all the relevant information which is required for Requirement
System and can be added which more information later on by the Administrator only.
Application is computer based and is user friendly so as to provide information to the
users easily and efficiently.

In Requirement DMRC Control System is one of the best system to maintains the any
Metro train system, this system provides the whole information about the requirement,
where the requirement in demands and how to make a good requirement over there. So
with the help of this system we can maintains our requirement very carefully with very
little throughput.

Now days, IT is backbone of business sector. In today’s scenario all the sectors are
adopting the IT Techniques for simplifying their work and solving the day-to-day
problems. Technology is serious stuff. It empowers your organization and its
stakeholders to be effective. But it can’t be defined simply by bells and whistles.
Effective technology requires a trusting, caring, functional relationship behind it.

8
There is a revolution transforming the global economy. Computer technology
transformed all business activities into information-based. The computer has extended the
reach of all the business activities.

The project on DMRC Control System is developed using C++ Object Oriented
Programming language.

9
EXISTING SYSTEM

The existing system consists of manually storing the information of attendance of the
requirement guard and implementing the requirement over there, etc.

• The information of requirement duty is manually stored.

• To find the requirement area is very complicated, to find any requirement guard
on duty is also very complicated, and to maintains the information about the
requirement is also very tuff.

10
LIMITATIONS OF EXISTING SYSTEM

The earlier experiences have shown that manual and semi-automated systems are not
fulfilling the expectations of the requirement. In today’s fast track era where “Time is
more valuable than money”, one has to be fully automated the existing system to beat
the competitive world. Requirement processes are often failed to achieve the desired
targets, mainly because of the following reasons:-

1) Lack of data sharing at different levels.


2) Lack of effective monitoring system.
3) Information retrieved from data/document- This is one of the major bottlenecks
and for retrieval of information, one has to go through all the documents for
manual collection of data.
4) Information anytime and anywhere is not possible.
5) Lots of paper work has to be done.
6) The manual procedure of providing information is not reliable.
7) Even for small information, the faculty has to go through various documents.

11
PROPOSED SYSTEM

This project deals with on of major topic of Requirement information. In DMRC


Control System, a user can store & find out the information about Metro train area
management.
This project provides the main menu with the following option:
• ADD RECORDS
• DISPLAY RECORDS
• DELETE RECORDS
• MODIFY RECORDS
• SEARCH RECORDS
• QUIT

Through first choice we can add new records of requirement implements, second choice
display records, third choice delete the records, fourth choice modify records, fifth choice
modify records, sixth choice exit from the system.

12
5. SYSTEM STUDY

Program structure can be defined as flow-chart of steps used to reach the program. It is
very necessary to define the program structure clearly. After this any user can easily
accommodate the rules of program use it efficiently. The software is menu driven. Let us
understand the several of the project contained in the hierarchical menu.
Menu

Add Records:--
After selecting this option a message will come to input code no of the DMRC, train no,
station code, and route no, arrival and departure time of the train, etc are store in the file.

Display List:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records.

Delete Records:-
After selecting this option it will ask to input Code no then it will show the records, after
this it will delete the requirement information.

Modify Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records we can modify the records.

13
Search Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC.

Exit:-
After selecting this option you will come out of the program.

14
6. SYSTEM ANALYSIS

The decision to acquire computer hardware or software must be handled in the


same way as any other business decision. The variety of sizes and types of computing
resources available puts a burden on the analyst who must select suitable hardware,
software or services and advise the top management-accordingly.

Today, selecting a system is a serious and time-consuming business. The time


spent on the selection process is a function of the applications and whether the system is a
basic micro- computer or a mainframe. In either case, planning system selection and
acquiring experienced help where necessary pay off in the long run.

There are various important factors, which should be considered prior to system
selection. They are:

a. Define system capabilities that make sense for the business.

b. Specify the magnitude of the problem; that is, clarify whether selection entails a few
peripherals or a major decision concerning the mainframe.

c. Assess the competence of the in-house staff.

d. Hardware and software should be considered as a package.

e. Develop a time frame for the selection process.

f. Provide user indoctrination. This is crucial, especially for first-time users. Selling the
system to the user staff, provide adequate training and creating an environment
conductive to implementation are prerequisites for system acquisition.

15
The selection process should be viewed as a project and a project team should be
formed with the help of management. The selection process consists of several steps,
which are discussed below:

1. Requirements analysis: The first step in selection understands the user's requirements
within the framework of the organization’s objectives and the environment in which
the system is being installed.

2. System specifications: System specifications must be clearly defined. These


specifications must reflect the actual applications to be handled by the system and
include system objectives, flowcharts, input-output requirements, file structure and
cost.

3. Request for proposal: After the requirement analysis and system specifications have
been defined, a request for proposal is prepared and sent to selected vendors for
bidding.

4. Evaluation and validation: The evaluation phase ranks various vendor proposals and
determines the one best suited to the user's requirements. It looks into items such as
price, availability and technical support. System validation ensures that the vendor
can, in fact, match his/her claims, especially system performance.

5. Vendor selection: This step determines the vendor with the best combination of
reputation, reliability, service record, training, delivery time, lease/finance terms. The
selected vendors are invited to give a presentation of their system. The system chosen
goes through contract negotiations before implementation

16
Thus, System Analysis Means

 Knowing about the current system


 Finding the problem of the system
 Finding the requirement of the system
 System Analysis is a process of gathering and interpreting facts
 Reaching to a point to provide appropriate solution

At present the system is manual but very easy to understand, therefore the Personnel
Management organizes are able to handle new automated system.

Current system is technically and economically feasible to develop and use proposed
system.

To reduce the boring paperwork of implementing the Personnel Management every time
and it increases efficiency and effectiveness, which is the existing problem face by the
current scenario.

In analysis part I have gone through the Personnel Management workflow and I have got
that their current software system it is very inconvenient to draw the structure again and
again

17
7. FEASIBILITY STUDY

The Feasibility study of development depends upon the number of factors, which
correspond to area of good practice or competence.

Steps in feasibility analysis

Eight steps are involved in the feasibility analysis. They are:

1. Form a project team and appoint a project leader.


2. Prepare system flowcharts.
3. Enumerate potential proposed systems.
4. Define and identify characteristics of proposed system.
5. Determine and evaluate performance and cost effectiveness of each proposed
system.
6. Weight system performance and cost data.
7. Select the best-proposed system.
8. Prepare and report final project directive to management

Type of feasibilities

1. Economic Feasibility

Economic analysis is the most frequently used technique for evaluating the
effectiveness of a proposed system. More commonly known as cost / benefit analysis; in
this procedure we determine the benefits and savings that are expected from a proposed
system and compare them with costs. We found the benefits outweigh the costs; we take
a decision to design and implement the new proposed system. The economic feasibility
should demonstrate the benefit of the proposed application in light of the benefits and
costs to the client.

The DMRC Control System operating authorities are the main clients of this
software. Economic feasibility is send to different client’s i.e. DMRC Control for

18
approval and acknowledgement before moving to next stage of system development
process.

The following economic feasibility elements are expressed quantitatively in the analytical
worksheets and summarized in the DMRCiness case.

The element included

a. Increased agency revenue


b. Decreased agency revenue
c. Increased agency cost
d. Decreased agency cost
e. Other organizational benefits

There isn’t an order or magnitude rule of thumb that applies generally. The alternative
dismissal/selection process depends on other things, such as how well an alternative
meets the project purpose and need, and the totality of environmental impacts. What if an
alternative that cost 4 or 5 times more than other alternatives but in turn had 4 to 5 times
less environmental impacts?

Depending on the type of resources and impacts, you might not be able to rule that
alternative out on the basis of dollar cost alone. Conversely, an alternative that was much
cheaper than others but with unacceptable impacts might be considered unacceptable
depending on the resources, impacts and others values the alternatives brings with it. The
feasibility study is one of the most misunderstood aspects of developing a location-based
leisure facility. Yet, it is perhaps the most important step, as mistakes at this early stage
can permanently handicap the project’s performance, perhaps fatally. A good feasibility
study is more than just a set of financial projections. Done properly, it becomes the
market driven strategic plan that is the road map for all subsequent decisions. As much as
answering the question “is a project feasible?” a good study also addresses the question
of what is most feasible and what should all its attributes be to assure maximum success.

19
2. Technical Feasibility

This is concerned with specifying equipment and software that will successfully
satisfy the user requirement. The technical needs of the system may vary considerably,
but might include:

· The facility to produce outputs in a given time.

· Response time under certain conditions.

· Ability to process a certain volume of transaction at a particular speed.

· Facility to communicate data to distant location.

After examining technical feasibility, we give more importance to the


configuration of the system than the actual make of hardware. The configuration gives
the complete picture about the system's requirements: Ten to twelve workstations are
required; these units should be interconnected through LAN so that they could operate
and communicate smoothly. They should have enough speeds of input and output to
achieve a particular quality of printing.

3. Operational Feasibility

It is mainly related to human organizational and political aspects. The points to be


considered are:

· What changes will be brought with the system?

· What organizational structures are disturbed?

· What new skills will be required? Do the existing staff members have these skills?

· If not, can they be trained in due course of time?

20
Generally project will not be rejected simply because of operational infeasibility but such
considerations are likely to critically affect the nature and scope of the eventual
recommendations.

For operational feasibility study we appointed a small group of people who are familiar
with information system techniques, who understand the parts of the DMRCiness that are
relevant to the project and are skilled in system analysis and design process.

4. Social feasibility

Social feasibility is a determination of whether a proposed project will be


acceptable to the people or not. This determination typically examines the probability of
the project being accepted by the group directly affected by the proposed system change.

5. Management feasibility

It is a determination of whether a proposed project will be acceptable to


management. If management does not accept a project or gives a negligible support to it,
the analyst will tend to view the project as a non-feasible one.

6. Legal feasibility

Legal feasibility is a determination of whether a proposed project infringes on


known Acts, Statutes, as well as any pending legislation. Although in some instances the
project might appear sound, on closer investigation it may be found to infringe on several
legal areas.

21
7. Time feasibility

Time feasibility is a determination of whether a proposed project can be


implemented fully within a stipulated time frame. If a project takes too much time it is
likely to be rejected.

22
7.1 TECHNICAL FEASIBILITY

The computer on which you install your software should meet the following system
requirements.
Software Required: Turbo C++
Performance has not been tuned for minimum system configuration. Increasing your
RAM above the recommended system configuration will increase your performance,
specifically when viewing large database of movies as well as of customers.

Requirement SERVER CLIENT

Operating Windows 98, Windows 2000, same


System Windows XP, Windows
Server 2003,

Requirement SERVER
Processor PC with Pentium II-class processor 330 MGz or above

RAM Windows 2000 Professional – 96


MD: windows 2000 server – 192
MD
Windows XP Home – 96 MB
Windows XP professional &
Windows server 2003 –DESIGN
SYSTEM 192 MB

Recommended:
128 MB for 2000 professional,
156 MB for 2000 server,
160 MNB for XP professional &
Windows server 2003
Video 1024 x 768, 256 colors
Recommended: High color 32 –bit
Keyboard Any compatible keyboard

Projector Required

23
The DMRC Control System will help in selecting topic from a list, and one can select

the order of topics to be chosen for DMRC Control System session. It also helps in

managing the DMRC Control System properly.

24
7.2 OPERATIONALFEASIBILITY

 Understanding what is on offer


First of all will study that which type of software is made which is more user
friendly and can easily run anywhere, anytime.

 The initial concept or vision


The first concept was produced in mind is that a user can maintain the records of
various facts and figures.
He can also easily monitor it.

 People and Project


On the one hand projects are more like to be supported if they are owned by key
interests. The way to make the link is a three-stage process.
• Networking: making informal contact which a range of interests identified
in your audit, one contact often leading to another.
• Workshops: running informal sessions at which your contact can
brainstorm project ideas and reach a consensus on priorities
Feedback: presenting the results of the workshops and any subsequent research
back to participants.

25
7.3 ECONOMIC FEASIBILITY

All these stages are taken into consideration while working on the initial stages of the
project-

1. Ease of use.
2. Response time
3. Platforms

Software Design is the first of three technical activities – design, code generating, and
test – that are required to build and verify the software. Each activity transforms
information in a manner that ultimately results in validates component design.

The Design of an information system produces the details that clearly describe how a
system will meet the requirements identified during system analysis. The system design
process is not step-by- step adherence of clear procedures and guidelines. When I started
working on system design, I face different types of problems: many of these are due to
constraints imposed by the user or limitation of hardware and software available. Some
time it was quite difficult to enumerate the complexity of the problems and solutions
there of since the variety of likely problems is so great and no solutions are exactly
similar however the following consideration I kept in mind during Design phase.

26
8. SYSTEM DESIGN

The system design process is not a step-by-step adherence of clear procedures and
guidelines. Though, certain clear procedures and guidelines have emerged in recent days,
but still much of design work depends on knowledge and experience of the designer.
When designer starts working on system design, he will face different type of problems.
Many of these will be due to constraints imposed by the user or limitations of the
hardware and software available in the market. Sometimes, it is difficult to enumerate the
complexity of the problems and solutions thereof since the variety of likely problems is
so great and no solutions are exactly similar. However, following considerations should
be kept in mind during the system-designing phase:

The primary objective of the design: Of course, is to deliver the requirements as specified
in the feasibility report. In general, the following design objectives should be kept in
mind:

a. Practicality: The system must be stable and can be operated by people with average +

b. Efficiency: This involves accuracy, timeliness and comprehensiveness of the system


output.

c. Cost: it is desirable to aim for a system with a minimum cost subject to the condition
that it must satisfy all the requirements.

d. Flexibility: The system should be modifiable depending on the changing needs of the
user. Such modifications should not entail extensive reconstructing or recreation of
software. It should also be portable to different computer systems.

27
e. Requirement: This is very important aspect of the design and should cover areas of
hardware reliability, fall back procedures, physical requirement of data and provision
for detection of fraud..

System design involves first logical design and then physical construction of the system.
The logical design describes the structure and characteristics of features, like the outputs,
inputs, files, databases and procedures. The physical construction, which follows the
logical design, produces actual program software, files and a working system.

The designer normally will work under following constraints:

1. Hardware: The existing hardware will obviously affect the system design.
2. Software: The available software (operating system, utilities, language etc.) in the
market will constrain the design.
3. Budget: The budget allocated for the project will affect the scope and depth of
design.
4. Time-scale: The new system may be required by a particular time (e.g. the start of
a financial year). This may put a constraint on the designer to find the best design.
5. Interface with other systems: The new system may require some data from
another computerized system or may provide data to another system in which case the
files must be compatible in format and the system must operate with a certain
processing cycle.

28
8.1 TABLE STUCTURE

REQUIREMENT LINKLIST

CODE INT[10]

DMRC NO INT [10] DATA NEXT

STATION INT[10]

ROUTE FLOAT[10] INT START

A/D TIME CHAR[15] INT TRAVERSE()

FINDB (int, Int, linklist,linklist)

ACCEPT(int,int) INSFIRST(int, int)

ACCEPT() INSLAST(int, int)

FINDB_CANCELLED(int, linklist, linklist)

29
DFD’s of Delhi Metro Projects

New Staff
Login If valid then Entry
Enter the
username and Store in
Open Staff entry
password Mdi
Check Authentication Main
form
Staff entry

Open attendance Retrieve from


Open salary form form

Staff
Attendance
Station
Retrieve from Store in
Entry Staff
Salary
Store in

Store in Staff Attendance

Staff Salary
Station Entry
Retrieve from

Retrieve from

Train
entry
Store in
Train entry

Retrieve from

Train
allocation Store in

Train

Allocation

30
Address
HOd SM
Address Address

Name Metro station Main


Has Sub Station
Branch

Phoneno Phoneno Strengt


h

Id
Address

Contr
Has Staff ol

Phoneno Name
Salary

Has

Mana
Name
ge
Alloca
Trains te

Dom DoA Seats

31
8.3 DATA FLOW DIAGRAM

Graphical description of a system's data and how the processes transform the data
is known as Data Flow Diagram (or DFD).

Unlike detail flowcharts, DFDs do not supply detailed descriptions of modules but
graphically describe a system's data and how the data interact with the system.

To construct data flow diagrams, we use:

i. Arrows,

ii. Circles,

iii. Open-ended boxes, and

iv. Squares

An arrow identifies data flow - data in motion. It is a pipeline through which information
flows. Like the rectangle in flowcharts, circles stand for a process that converts data/into
in- formation. An open-ended box represents a data store-data at rest, or a temporary
repository of data. A square defines a source (originator) or destination of system data.

The following seven rules govern construction of data flow diagrams (DFD):

1. Arrows should not cross each other.

2. Squares, circles, and files must bear names.

3. Decomposed data flows must be balanced (all data flows on the decomposed diagram must
reflect flows in the original diagram).

4. No two data flows, squares, or circles can have the same name.

5. Draw all data flows around the outside of the diagram.

32
DATABASE AND FILE DESIGN

DATABASE DESIGN/DATA DICTIONARY

Data dictionary stores description of data items and structures as well as systems
processes. It is intended to be used to understand the system by analyst who retrieves the
details and descriptions stores. He takes the help of data dictionary during system design,
when information about such concerns as data length, alternate names (aliases) and data
use in particular processes must be available. The data dictionaries have also validation
information in storage to help the analysts in specifying controls for the system's
acceptance of data. The dictionary also contains definitions of data flows, data stores and
processes. They also perform cross-reference checking and error detection.

A data dictionary defines each term (called a data element) encountered during the
analysis and design of a new system. Data elements can describe files, data flows,
or processes.

33
LEVEL 0 - DFD

INPUTS OUTPUTS

LOGIN

If user-id &password correct s/w will open

Staff
Staff Details,salary etc
Information display
0.0
Staff-id,name etc Station
Delhi Metro Head display Details
Quarter Management
Station name etc System
Station
Information display Train
Details

Train Train-no & train-name etc display


disp
Information a
Allocated qtrs to
staffs

Qtr info
Quarter display
information Allocated trains
with station

34
LEVL 1- DFD’S

staff Details

display
Staff-id,name,att-days
Staff 1.0
Abs-days etc.
Information
Staff
Management display Attendance of staffs

display

Store-in retrieve store-in retrieve store-in Salary of staffs

Staff master Staff attendance Staff salary

Station-name strength etc. display station


information
Station
Information
Train-no,train-name etc 2.0

Station display
Train Management Train information
information

Retrieve retrieve display

Store-in store-in store-in


Allocated trains
with station

Station entry Train entry Train allocation


35
Allocated Qtrs To Staffs

display

3.0
Staff Information staff_grade
name,etc Quarter
management
qtr-no,type etc display Info About qtrs
Qtr information

retrieve retrieve

store-in store-in

Staff entry Qtr entry Qtr allocation

36
8.4 FLOW CHARTS

Start

Enter the choice


1-Add Records
2-Display the details
3-Delete
4-Modify 5- Search 0-Exit

If choice=1 no

Yes

Enter the Code no

If integer no

Enter the yes


TRAIN no

37
Station name

If choice=2 no

Yes

Enter the train no

yes

Enter the Destination


1-8 bit code

Display List

If choice=3 no

38
Yes

Enter the Char.

If Char==yes no

Yes

Delete record

If choice=0 no

Yes

exit

print “press a key”

39
Print “invalid output”

stop

40
9. SYSTEM TESTING AND IMPLEMENTATION

Testing is the only phase in the whole s/w development process that is regarded as a
destructive process rather than a constructive one. During the testing phase, the engineer
creates a series of test case that are intended to demolish the s/w that has been built. The
basic testing principles that a s/w engineer must understand before applying methods to
design effective test cases are:

1. All tests should be traceable to customer requirement.

2. Tests should be planned before testing begins.

3. Testing should begin “in the small” and progress towards testing “in the large”.

4. To be most effective, an independent third party should conduct testing.

The application can be uploaded in any school/institution. To access it, the user
will just require running the executable file of the software. System must have Turbo C+
+ Driver. As implementation of “DMRC CONTROL SYSTEM” software fully automate
the existing system. In the designed system, implementation was done to replace a
manual system with the computerized one. The objective was to put the tested system
into operation. Critical aspect of conversion is not disrupting the functioning of the
organization. This phase gives us the clear pictures of our new system and all the points
that have been carefully looked in when designing the computerized system.

41
Sincere efforts were taken for the implementation of the following goals:

1. Maximizing the output reliability.

2. Maximizing the source test readability.

3. Minimizing the development time.

During systems testing, the system is used experimentally to ensure that the software does not
fail. In other words, we can say that it will run according to its specifications and in the way
users expect. Special test data are input for processing, and the results examined. A limited
number of users may be allowed to use the system so that analyst can see whether they try to use
it in unforeseen

IMPLEMENTATION

-Training

- Conversion

-Post Implementation Review

42
10. PROJECT DESCRIPTION

The project category used to develop this application is OOPS and this means. When we
break our program into chunks of codes with well-defined interfaces between the chunks,
our program becomes more reliable. A fundamental premise of object-oriented
programming is that each does one thing very well and delegates to other objects
anything that is not its core mission. By using well-defined interfaces, we are forced to
think about how the chunk will be used. So we can’t cross boundaries and enhance
particular values inside a chunk even through we think its safe. We may need to include
an additional interface in the future. But at least we will know all of the code that could
modify the chunks data. So if the chunks data get corrupted. This approach does
debugging process considerably.

43
PROGRAM STRUCTURE

Program structure can be defined as flow-chart of steps used to reach the program. It is
very necessary to define the program structure clearly. After this any user can easily
accommodate the rules of program use it efficiently. The software is menu driven. Let us
understand the several of the project contained in the hierarchical menu.

Menu
Add Records:--
After selecting this option a message will come to input code no of the DMRC, location
of the destination, train, kilometer etc are store in the file.

Display List:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records.

Delete Records:-
After selecting this option it will ask to input Code no then it will show the records, after
this it will delete the requirement information.

Modify Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records we can modify the records.

44
Search Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC.

Exit:-
After selecting this option you will come out of the program.

45
COADING

//**********************************************************
// PROJECT DELHI METRO CO-ORDINATION SYSTEM
//**********************************************************

//**********************************************************
// INCLUDED HEADER FILES
//**********************************************************

#include <iostream.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
#include <fstream.h>
#include <process.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdio.h>

//**********************************************************
// CLASS NAME : DMRC MENU
// DETAILS : IT CONTROLLS OVER ALL THE FUNCTIONS
//**********************************************************

class menu
{
public :
void main_menu(void) ;

46
void startup(void) ;
void box(void) ;
void line_hor (int, int, int, char) ;
void line_ver (int, int, int, char) ;
};

//**********************************************************
// CLASS NAME : DIARY DMRC
// DETAILS : IT CONTROLLS OVER ALL THE FUNCTIONS
// RELATED TO DIARY
//**********************************************************

class diary
{
public :
diary(void) ;
~diary(void) ;
void add(void) ;
void search(void) ;
void modify(void) ;
void deletion(void) ;
void display_list(void) ;
private :
void sort(void) ;
void display_record(int) ;
int found_record(int) ;
void delete_record(int) ;
void modify_record(int) ;
int recordno(int) ;
int last_code(void) ;

47
int code ;
char name[20], phone1[10], phone2[10], address[45] ;

};

//**********************************************************
// CLASS NAME : MENU DMRC
// FUNCTION NAME : LINE_HOR
// DETAILS : IT ACCEPTS THE ROWS AND COLUMNS AND
// DRAW THE HORIZONTAL LINE
//**********************************************************

void menu :: line_hor(int column1, int column2, int row, char c)


{
for ( column1; column1<=column2; column1++ )
{
gotoxy(column1,row) ;
cout <<c ;
}
}

//**********************************************************
// CLASS NAME : MENU DMRC
// FUNCTION NAME : LINE_VER
// DETAILS : IT ACCEPTS THE ROWS AND COLUMNS AND
// DRAW THE VERTICAL LINE
//**********************************************************

void menu :: line_ver(int row1, int row2, int column, char c)

48
{
for ( row1; row1<=row2; row1++ )
{
gotoxy(column,row1) ;
cout <<c ;
}
}

//**********************************************************
// CLASS NAME : MENU FAIR
// FUNCTION NAME : STARTUP
// DETAILS : IT CREATS THE STARTING SCREEN
//**********************************************************

void menu :: startup(void)


{
clrscr() ;
int i, j, s ;
char a[]="D M R C" ;
char b[]=" M A N A G E M E N T" ;
char c[]=" ->DELHI " ;
char d[]=" METRO<-" ;
for (i=1; i<=79; i++)
line_ver(1,25,i,179) ;
gotoxy(1,11) ; clreol() ;
gotoxy(1,13) ; clreol() ;
j = 63 ;
s = 100 ;
for (i=1; i<=43; i++)
{

49
sound(s) ;
s = s + 20 ;
delay(50) ;
gotoxy(1,12) ;
clreol() ;
gotoxy(1,11) ;
clreol() ;
gotoxy(i,12) ;
cout <<b ;
gotoxy(i,11) ;
cout <<d ;
gotoxy(j,12) ;
cout <<a ;
gotoxy(j,11) ;
cout <<c ;
j-- ;
gotoxy(1,1) ;
}
nosound() ;
delay(100) ;
char ch=219 ;
s = 500 ;
for (i=1; i<=79; i++)
{
sound(s) ;
s = s + 10 ;
gotoxy(i,10) ;
cout <<ch ;
delay(5) ;
}
nosound() ;

50
delay(200) ;
ch=219 ;
s = 1290 ;
for (i=79; i>=1; i--)
{
sound(s) ;
s = s - 10 ;
gotoxy(i,14) ;
cout <<ch ;
delay(5) ;
}
nosound() ;
delay(1000) ;
}

//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : BOX
// DETAILS : IT CREATES BOX FOR THE MENU
//**********************************************************

void menu :: box(void)


{
line_hor(2,39,1,219) ;
line_hor(2,39,24,219) ;
line_ver(1,24,2,219) ;
line_ver(1,24,39,219) ;
}

51
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : MAIN_MENU
// DETAILS : IT CREATS MENU AND CONTROL OTHER
// FUNCTIONS
//**********************************************************

void menu :: main_menu(void)


{
char ch ;
while(1)
{
clrscr() ;
textmode(C40) ;
clrscr() ;
box() ;
gotoxy(12,5) ;
cout <<"DMRC CONTROL SYSTEM" ;
gotoxy(12,6) ;
cout <<"-------------------" ;
gotoxy(12,10) ;
cout <<"1: ADD RECORDS" ;
gotoxy(12,11) ;
cout <<"2: DISPLAY LIST" ;
gotoxy(12,12) ;
cout <<"3: DELETE RECORD" ;
gotoxy(12,13) ;
cout <<"4: MODIFY RECORD" ;
gotoxy(12,14) ;
cout <<"5: SEARCH RECORD" ;
gotoxy(12,15) ;

52
cout <<"0: QUIT" ;
gotoxy(11,18) ;
cout <<"Enter your choice:" ;
ch = getch() ;
textmode(C80) ;
clrscr() ;
if (ch == '1')
{
diary d ;
d.add() ;
}
else
if (ch == '2')
{
diary d ;
d.display_list() ;
}
else
if (ch == '3')
{
diary d ;
d.deletion() ;
}
else
if (ch == '4')
{
diary d ;
d.modify() ;
}
else
if (ch == '5')

53
{
diary d ;
d.search() ;
}
else
if (ch == '0')
exit(0) ;
}
}

//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : DIARY (CONSTRUCTOR)
// DETAILS : IT IS CONSTRUCTOR FUNCTION, GIVING
// DEFAULT VALUES
//**********************************************************

diary :: diary(void)
{
code = 0 ;
name[0] = '\0' ;
phone1[0] = '\0' ;
phone2[0] = '\0' ;
address[0] = '\0' ;
}

54
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : ~DIARY (DISTRUCTOR)
// DETAILS : IT IS DISTRUCTOR FUNCTION
//**********************************************************

diary :: ~diary(void)
{
}

//**********************************************************
// CLASS NAME : DIARY
// FUNCTION NAME : DISPLAY_LIST
// DETAILS : IT DISPLAYS LIST OF THE PERSON'S
// RECORDS
//**********************************************************

void diary :: display_list(void)


{
clrscr() ;
menu m ;
char t_name[20], t1_name[20] ;
gotoxy(3,5) ;
cout <<"Enter character(s) for selective list" ;
gotoxy(3,6) ;
cout <<"or press <ENTER> for whole list or `0' for exit : " ;
gets(t_name) ;
if (t_name[0] == '0')
return ;

55
int len = strlen(t_name) ;
clrscr() ;
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int row = 4 ;
int found = 0 ;
int pageno = 1 ;
int flag = 1 ;
char ch ;
gotoxy(1,2) ;
cout <<" CODE NO. " ;
m.line_hor(1,79,3,196) ;
m.line_hor(1,79,24,196) ;
while (file.read((char *) this, sizeof(diary)))
{
flag = 1 ;
for (int i=0; i<len; i++)
t1_name[i] = name[i] ;
t1_name[len] = '\0' ;
if (strcmpi(t_name,t1_name)==0)
{
delay(20) ;
found = 1 ;
gotoxy(1,row) ;
cout <<code ;
gotoxy(7,row) ;
puts(name) ;
gotoxy(27,row) ;
cout <<"STATION CODE: " <<phone1 <<", " <<phone2 ;
gotoxy(27,row+1) ;

56
cout <<"ROUTE NO. : " ;
puts(address) ;
if ( row == 22 )
{
flag = 0 ;
row = 4 ;
gotoxy(66,1) ;
cout <<"Page no. : " <<pageno ;
pageno++ ;
gotoxy(1,25) ;
cout <<"Press <ESC> to exit or any other key to
continue..." ;
ch = getch() ;
if (ch == 27)
return ;
clrscr() ;
gotoxy(1,2) ;
cout <<" CODE NO. " ;
m.line_hor(1,79,3,196) ;
m.line_hor(1,79,24,196) ;
}
else
row = row + 2 ;
}
}
if ( !found )
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,5) ;

57
cout <<"Records not found" ;
}
if (flag)
{
gotoxy(66,1) ;
cout <<"Page no. : " <<pageno ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
}
file.close() ;
}

//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : DISPLAY_RECORD
// DETAILS : IT DISPLAYS SINGLE RECORD FOR THE
// GIVEN RECORD
//**********************************************************

void diary :: display_record(int t_code)


{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
while (file.read((char *) this, sizeof(diary)))
{
if (t_code == code)
{
gotoxy(3,3) ;

58
cout <<"Code # " <<code ;
gotoxy(3,5) ;
cout <<"Train No: " ;
puts(name) ;
gotoxy(3,6) ;
cout <<"Station : " <<phone1 ;
gotoxy(3,7) ;
cout <<"Route No: " <<phone2 ;
gotoxy(3,10) ;
cout <<"A/D Time: " ;
puts(address) ;
break ;
}
}
file.close() ;
}

/**********************************************************
CLASS NAME : DMRC CONTROL
FUNCTION NAME : LAST_CODE
DETAILS : IT COUNTS THE RECORD IN THE FILE AND
RETURN THE LAST CODE NO.
**********************************************************/

int diary :: last_code()


{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int t=0 ;

59
while (file.read((char *) this, sizeof(diary)))
t++ ;
file.close() ;
return t ;
}

//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : FOUND_RECORD
// DETAILS : IT RETURNS THAT RECORD IS FOUND FOR
// THE GIVEN CODE NO. OR NOT
//**********************************************************

int diary :: found_record(int t_code)


{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int found=0 ;
while (file.read((char *) this, sizeof(diary)))
{
if (t_code == code)
{
found++ ;
break ;
}
}
file.close() ;
return found ;
}

60
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : ADD
// DETAILS : IT ADDS THE RECORDS IN THE DIARY'S
// FILE (TDIARY.DAT)
//**********************************************************

void diary :: add(void)


{
menu m ;
int valid, saved=0 ;
int t_code ;
t_code = last_code() ;
t_code++ ;
if (t_code == 1)
{
code = t_code ;
strcpy(name,"abc") ;
strcpy(phone1,"-") ;
strcpy(phone2,"-") ;
strcpy(address,"xyz") ;
fstream file ;
file.open("TDIARY.DAT", ios::out | ios::app ) ;
file.write((char *) this, sizeof(diary)) ;
file.close() ;
delete_record(t_code) ;
}
char ch ;

61
do
{
clrscr() ;
gotoxy(3,3) ;
cout <<"Code # " <<t_code ;
gotoxy(3,5) ;
cout <<"Train No: " ;
gotoxy(3,6) ;
cout <<"Station : " ;
gotoxy(3,7) ;
cout <<"Route No: " ;
gotoxy(3,8) ;
cout <<"A/D Time: " ;
m.line_hor(1,79,23,196) ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER TRAIN NO." ;
gotoxy(13,5) ;
gets(name) ;
strupr(name) ;
if (strlen(name) > 19 || strlen(name) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;

62
cout <<"LENGTH SHOULD NOT BLANK OR
GREATER THAN 19" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,5) ; clreol() ;
}
} while ( !valid ) ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE STATION CODE OF THE STATION,
<ENTER> FOR BLANK" ;
gotoxy(13,6) ;
gets(phone1) ;
if ((strlen(phone1) < 7 && strlen(phone1) > 0) || (strlen(phone1) >
9))
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9
OR LESS THAN 7" ;
gotoxy(1,25) ;

63
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,6) ; clreol() ;
}
} while ( !valid ) ;
if (strlen(phone1) == 0)
strcpy(phone1,"-") ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE ROUTE NO. OF THE DMRC, <ENTER>
FOR BLANK" ;
gotoxy(13,7) ;
gets(phone2) ;
if ((strlen(phone2) < 7 && strlen(phone2) > 0) || (strlen(phone2) >
9))
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9
OR LESS THAN 7" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;

64
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,7) ; clreol() ;
}
} while ( !valid ) ;
if (strlen(phone2) == 0)
strcpy(phone2,"-") ;

do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER ARIVAL TIME & DEP. TIME OF THE TRAIN
LIKE A-7:00 PM, D-5:00 PM" ;
gotoxy(13,8) ;
gets(address) ;
strupr(address) ;
if (strlen(address) > 43 || strlen(address) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"SHOULD NOT BLANK OR GREATER THAN
48" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;

65
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,10) ; clreol() ;
}
} while ( !valid ) ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,23) ; clreol() ;
gotoxy(1,13) ;
cout <<"Do you want to save the record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(41,13) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(41,13) ; clreol() ;
}
} while ( !valid ) ;
if (ch == 'Y')
{
saved = 1 ;
code = t_code ;
fstream file ;
file.open("TDIARY.DAT", ios::out | ios::app ) ;

66
file.write((char *) this, sizeof(diary)) ;
file.close() ;
t_code++ ;
}
gotoxy(1,14) ;
cout <<"Do you want to add more records (y/n) : " ;
do
{
valid = 1 ;
gotoxy(41,14) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(41,14) ; clreol() ;
}
} while ( !valid ) ;
} while (ch == 'Y') ;
if (saved)
sort() ;
}

67
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : DELETE_RECORD
// DETAILS : IT DELETES THE RECORD IN THE DIARY'S
// FILE (TDIARY.DAT) FOR THE GIVEN CODE
//**********************************************************

void diary :: delete_record(int t_code)


{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
fstream temp ;
temp.open("temp.dat", ios::out) ;
file.seekg(0,ios::beg) ;
while ( !file.eof() )
{
file.read((char *) this, sizeof(diary)) ;
if ( file.eof() )
break ;
if ( code != t_code )
temp.write((char *) this, sizeof(diary)) ;
}
file.close() ;
temp.close() ;
file.open("TDIARY.DAT", ios::out) ;
temp.open("temp.dat", ios::in) ;
temp.seekg(0,ios::beg) ;
t_code = 1 ;
while ( !temp.eof() )
{
temp.read((char *) this, sizeof(diary)) ;

68
code = t_code ;
if ( temp.eof() )
break ;
file.write((char *) this, sizeof(diary)) ;
t_code++ ;
}
file.close() ;
temp.close() ;
}

//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : DELETION
// DETAILS : IT GIVES THE CODE NO. TO DELETE THE
// RECORD IN DIARY'S FILE (TDIARY.DAT)
//**********************************************************

void diary :: deletion(void)


{
menu m ;
clrscr() ;
int valid ;
int t_code=0, t;
char t1_code[5], t2_code[5] ;
char ch ;
gotoxy(3,3) ;
cout <<"Enter Code no. of the record to be deleted " ;
gotoxy(3,4) ;
cout <<"or Press <ENTER> to see from the list or `0' to exit : " ;

69
gets(t1_code) ;
t = atoi(t1_code) ;
t_code = t ;
if (t1_code[0] == '0')
return ;
if (t1_code[0] != '\0')
{
clrscr() ;
if (!found_record(t_code))
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to delete this Record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')

70
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
}
} while (!valid ) ;
if (ch == 'N')
return ;
gotoxy(1,25) ;
cout <<"Wait..." ;
delete_record(t_code) ;
clrscr() ;
gotoxy(1,14) ;
cout <<"Record Deleted\n" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_list() ;
gotoxy(1,25) ;
clreol() ;
gotoxy(3,25) ;
cout <<"Enter Code no. of the record or <ENTER> to exit " ;
gets(t2_code) ;
t = atoi(t2_code) ;
t_code = t ;
if (t2_code[0] == '\0')

71
return ;
clrscr() ;
if (!found_record(t_code))
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to delete this Record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;

72
}
} while (!valid ) ;
if (ch == 'N')
return ;
gotoxy(1,25) ;
cout <<"Wait..." ;
delete_record(t_code) ;
clrscr() ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,14) ;
cout <<"Record Deleted" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue...." ;
getch() ;
}

//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : MODIFY_RECORD
// DETAILS : IT MODIFIES THE RECORD IN THE DIARY'S
// FILE (TDIARY.DAT) FOR THE GIVEN CODE
//**********************************************************

void diary :: modify_record(int t_code)


{
menu m ;
int valid, modified=0 ;

73
char ch ;
m.line_hor(1,79,12,196) ;
gotoxy(3,14) ;
cout <<"Code # " <<t_code ;
gotoxy(3,16) ;
cout <<"Train No. : " ;
gotoxy(3,17) ;
cout <<"Staion Cd : " ;
gotoxy(3,18) ;
cout <<"Route No. : " ;
gotoxy(3,19) ;
cout <<"A/D Time : " ;
gotoxy(1,25) ; clreol() ;
m.line_hor(1,79,23,196) ;
gotoxy(13,16) ;
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,16) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(28,16) ; clreol() ;
}
} while (!valid) ;

74
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,16) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER TRAIN NO. OF THE DMRC" ;
gotoxy(13,16) ;
gets(name) ;
strupr(name) ;
if (strlen(name) > 19 || strlen(name) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT BLANK OR GREATER
THAN 19" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,16) ; clreol() ;
}
}
gotoxy(1,25) ; clreol() ;
gotoxy(13,17) ;

75
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,17) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(28,17) ; clreol() ;
}
} while (!valid) ;
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,17) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE STATION NO. OF THE STATION, <ENTER>
FOR BLANK" ;
gotoxy(13,17) ;
gets(phone1) ;
if ((strlen(phone1) < 7 && strlen(phone1) > 0) || (strlen(phone1) > 9))
{
valid = 0 ;
sound(500) ;

76
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9 OR LESS
THAN 7" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,17) ; clreol() ;
}
if (strlen(phone1) == 0)
strcpy(phone1,"-") ;
}
gotoxy(1,25) ; clreol() ;
gotoxy(13,18) ;
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,18) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;

77
gotoxy(28,18) ; clreol() ;
}
} while (!valid) ;
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,18) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE ROUTE NO. OF THE ROUTE, <ENTER> FOR
BLANK" ;
gotoxy(13,18) ;
gets(phone2) ;
if ((strlen(phone2) < 7 && strlen(phone2) > 0) || (strlen(phone2) > 9))
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9 OR LESS
THAN 7" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,18) ; clreol() ;
}

78
if (strlen(phone2) == 0)
strcpy(phone2,"-") ;
}
gotoxy(1,25) ; clreol() ;
gotoxy(13,19) ;
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,19) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(28,19) ; clreol() ;
}
} while (!valid) ;
valid = 0 ;

while (!valid && ch == 'Y')


{
modified = 1 ;
valid = 1 ;
gotoxy(13,19) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER ARIVAL/DEP. TIME OF THE TRAIN" ;
gotoxy(13,19) ;

79
gets(address) ;
strupr(address) ;
if (strlen(address) > 43 || strlen(address) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"SHOULD NOT BLANK OR GREATER THAN 48" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,21) ; clreol() ;
}
}
if (!modified)
return ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,23) ; clreol() ;
gotoxy(1,23) ;
cout <<"Do you want to save the record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(41,23) ;
ch = getche() ;
ch = toupper(ch) ;

80
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(41,23) ; clreol() ;
}
} while ( !valid ) ;
if (ch == 'N')
return ;
fstream file ;
file.open("TDIARY.DAT", ios::out | ios::ate) ;
int recno ;
recno = t_code ;
int location ;
location = (recno-1) * sizeof(diary) ;
file.seekp(location) ;
file.write((char *) this, sizeof(diary)) ;
file.close() ;
sort() ;
clrscr() ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,14) ;
cout <<"Record Modified" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;

81
}

//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : MODIFY
// DETAILS : IT GIVES THE CODE NO. TO MODIFY THE
// RECORD IN DIARY'S FILE (TDIARY.DAT)
//**********************************************************

void diary :: modify(void)


{
menu m ;
clrscr() ;
int valid ;
int t_code=0, t;
char t1_code[5], t2_code[5] ;
char ch ;
gotoxy(3,3) ;
cout <<"Enter Code no. of the record to be modify " ;
gotoxy(3,4) ;
cout <<"or Press <ENTER> to see from the list or `0' to exit : " ;
gets(t1_code) ;
t = atoi(t1_code) ;
t_code = t ;
if (t1_code[0] == '0')
return ;
if (t1_code[0] != '\0')
{
clrscr() ;
if (!found_record(t_code))

82
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to modify this Record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
}
} while (!valid ) ;
if (ch == 'N')

83
return ;
modify_record(t_code) ;
return ;
}
display_list() ;
gotoxy(1,25) ;
clreol() ;
gotoxy(3,25) ;
cout <<"Enter Code no. of the record or <ENTER> to exit " ;
gets(t2_code) ;
t = atoi(t2_code) ;
t_code = t ;
if (t2_code[0] == '\0')
return ;
clrscr() ;
if (!found_record(t_code))
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to modify this Record (y/n) : " ;

84
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
}
} while (!valid ) ;
if (ch == 'N')
return ;
modify_record(t_code) ;
}

//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : SORT
// DETAILS : IT SORTS THE RECORD IN THE DIARY'S
// FILE (TDIARY.DAT)
//**********************************************************

void diary :: sort(void)


{

85
int i=0,j ;
diary arr[100] ;
diary temp ;
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
while (file.read((char *) &arr[i], sizeof(diary)))
i++ ;
int size ;
size = i ;
file.close() ;
for (i=1; i<size; i++)
for (j=0; j<size-i; j++)
{
if (strcmp(arr[j].name,arr[j+1].name) > 0)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
int t_code = 1 ;
for (i=0; i<size; i++)
{
arr[i].code = t_code ;
t_code++ ;
}
file.open("TDIARY.DAT", ios::out) ;
for (i=0; i<size; i++)
file.write((char *) &arr[i], sizeof(diary)) ;
file.close() ;

86
}

//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : SEARCH
// DETAILS : IT SEARCHES A RECORD IN THE DIARY'S
// FILE (TDIARY.DAT)
//**********************************************************

void diary :: search(void)


{ int i=0,j=0;
diary arr[100] ;
diary temp ;
fstream file ;
file.open("TDIARY.DAT", ios::in) ;

char n[30] ;
int eof;
file.seekg(0,ios::end);
eof=file.tellg();
file.seekg(0,ios::beg);
cout<<"Enter The Name to search" ;
gets(n) ;
strupr(n);
delay(1000);
do
{
file.read((char *) &arr[i], sizeof(diary));

87
i++ ;

if(strcmp(arr[i-1].name,n) == 0)
{
j=i;
}
}while(file.tellg()!=eof);
file.close();
display_record(j);

delay(2000);

}
//**********************************************************
// FUNCTION NAME : MAIN DMRC
// DETAILS : IT CALLS THE STARTUP FUNCTION AND
// MENU FUNCTION.
//**********************************************************

void main(void)
{
menu m ;
m.startup() ;
m.main_menu() ;
}

88
11. DOCUMENTATION

LAYOUTS OF INPUT AND OUTPUT

Screen layout: - Screen layout section describes the flow of all the Input and output
window along with its layout and its functionality.

These are the layouts if this entire project, which will help to know a bit more about this
project. Through these layouts the process of learning will become easy and anyone can
understand it in a better way.

A final step in system performance definition is describing the outputs required by the
user. An actual sketch of the format and contents of the reports (layout) as well as a
specification of the media used, their frequency, and the size and number of copies
required are prepared at this point. Specifying exactly what the output will look like leads
to an estimate of the computer storage requirements that form the basis for the file design
to be undertaken in the design phase of the life cycle. The analyst is now ready to
evaluate the feasibility of candidate systems to produce these outputs.

89
(a) STARTING WITH THE PROJECT:
After the successful installation of the “DMRC CONTROL SYSTEM”, the

Menu window will appear on the screen, where the user can choose the following

Operations.

90
(b). INTRODUCTION:

Through option 1 add new requirement records

91
3. DISPLAY LIST

92
4. DELETE RECORDS

93
5. MODIFY

94
6. SEARCH

95
12. CONCLUSION

Throughout the design process I considered and specify the requirement of each of these
operational areas.

• User raising Input


• Data preparation
• Data Validation
• Processing
• Output Handling
• Action on Output
Overall the project teaches us the essential skills like:

1. Using system analysis and design techniques like data flow diagram in designing
the system.

2. Understanding OOPS, programming logic and language in C++.

This is user-friendly software that can prove to be of immense help in the management of
the student’s details or records. Following advantages can be derived out of this software
at the press of a button. Different options like Introduction, Add records, Add marks, List
of students, Modification, Deletion and Quit are some of the features that this software
has which helps in maintaining records in an efficient way. A complete record of students
and their result etc are maintained in a better and in a proper way. The detailed
information and records of all the students is easily accessible, which saves a lot of time
and is also user interactive.

96
13. LIMITATIONS

 This Project saves data temporarily.


 The DMRC and route is limited
 It does not work for other information for mall.

97
14. FUTURE SCOPE

The application can be uploaded in the DMRC Control System show counters as well as
in the any mall. The access it, I the user will just require to run the excitable file of the
software. System must have Turbo C++ Driver. Basically the application is for carrying
out activities involved in a DMRC Control System. As implementation of ‘DMRC
Control System’ fully automate the existing system. In the designed system,
implementation was done to replace a manual system with the computerized one. The
objective was to put the tested system into operation. Critical aspect of conversion is not
disrupting the functioning of the organization. This phase gives us the clear pictures of
our new system and all the points that have been carefully looked in when designing the
computerized system.

Sincere effort was taken for the implementation of the following goals:

1. Maximizing the output reliability.


2. Maximizing the source test readability.
3. Minimizing the development time.

98
15. REFERENCES

1. C++ for class XII: - Sumita Arora

2. Let Us C: - Yashwant Kanetkar

3. Introduction Of To C++: - A.K.Shrma

Object-Oriented Programming in C++: Robert lafore

ASSUMPTIONS

The station code and route code will be 00000000 decimal no.

The data is temporarily saved.

99

Você também pode gostar