You are on page 1of 33

SUBMITTED TO SUBMITTED BY

ACKNOWLWDGMENT
It gives me immense pleasure to bring out project work on the “”.
It is new experience for me at B.Tech level.

This project is the result of my efforts, as well as the kind support


of many of those whom, I took this opportunity to express my deep sense
gratitude to everyone who helped me, in my way.

1
I am gratefully thanked to all of the persons who have guided and
help me during my project work.

Primarily, I want to thanks Miss. PRIYANKA SHARMA,


coordinator, B.C.A programme in ABS Globel Ins. of Man. & Tech. Ner
Chowk, who have provided me basic ideas and out line about my project.

My special thanks to Miss. NEELAM KUMARI of lecture of


B.C.A programme in ABS Globel Ins. of Man. & Tech. Ner Chowk, who
have guided and helped me a lot during my project work.

I shall be falling short of my duty if don’t express my earnest


thanks to for his full fledged support and motivation during this project.

Finally, I end by thanking all of them who have helped me


directly or indirectly in making this project.

PERFACE

In today’s fast changing world, program maintenance is more


critical. The computer program of today must be fluid and maintainable so
that programmers can quickly change the application to meet the need of a
changing environment in which the programs are used.

2
STUDENT PROFILE

I am the student of 4th sem (B.Tech) of Doaba institute of technology


and engineering working on project “Calendar” based on C++

3
Pallavi Tandon
Roll No: 3013
Course: B. Tech

LETTER OF
AUTHENTICATION

This is certified that I am submitting this project report entitled


“CALENDAR” for the partial fulfillment of requirement of course B.Tech
(project report) for the session 2008-2009.

4
It is also certified that I have prepared this project report and it had not been
submitted earlier in any University or any Institute for the Fulfillment of the
course study.

Pallavi Tandon
Roll No: 3013
Course: B. Tech
Signed by:

5
INDEX

S.No TOPIC Page No.


1 PREFACE 3
2 INTRODUCTION 7-8
Project Introduction
3 SYSTEM STUDY 9-10
Proposed system with objectives Feasibility Studies-
4 REQUIREMENT ANALYSIS 11
5 SYSTEM ANALYSIS System flowchart 12
6 SYSTEM DESIGN 13-18
Types of design, Modularity,
Strategy of design, File/database from design
7 CODING 19-48
Program, Output/Screen shots
8 ENVIRONMENT 49
Software & Hardware Requirement
9 IMPLEMENTATION 50
10 MAINTENANCE 51
11 CONCLUSION 52
12 BIBLIOGRAPHY 53

6
THE SOFTWARE DEVELOPMENT LIFE
CYCLE

Introduction

Project introduction

Today, with the changing world, technology is also changing day by day.

There is a great need to cope with the changing technology. Technology is


acting a, a tool is give more accuracy and decreasing response tine.

In the centaury like India, where the population is increasing day by day and
on the other hand competition, technology is playing a major role by
working as a strategic tool.

I make a project which is based on the calendar collectively under one name
“CALANDER”, as under suggest, signifies the calendar which is operated
electronically.

In the project C++ is used which is most widely used language.

C++

It is an object oriented programming language. It was developed by Bjarne


Stroustrol in USA, in the early 1980’s.

History

Stroustrup wanted to combine the best of the languages and create a more
powerful language that could support OOP feature and still retain the power
and elegance of C. the result was C++. Stroustrup initially called the new
language ‘C with classers’.

7
Header File in C++

In my program I am using “iostream.h” header file. Old version of C++


header file called “iostream.h”. The header file should be include at the
beginning of all programs that use input/output statement.

Input operator

The statement uses “cin>>”operator which is an input operator identifier cin


(pronounced C in”) is a predefined object in C++ that corresponds to the
standard input stream. The operator >> known as “extraction or get from
operator”. It extract (or takes) the value from the keyboard and assign it to
the variable on its right.

Output operator

The statement uses “cout” operator which is an output operator. The


identifier cout (pronounced ‘cout’) is a predefined object in C++ that
represents the standard output stream.

SYSTEM STUDY

Technical feasibility- By answering to the question if the project was


Technologically feasible? Is it within the state of the art? Can defects be
reduced to a level matching the application’s need?

8
Economics feasibility- Is it financially feasible and within the budget of
management? Will it give value for money? Is the time involved in making
the project fair compared to value of money involved?

Operational feasibility- does the organization have resources needed to


Make this project a success? And if not does the management has also
enough resources to train them?

Technical Feasibility

No major additional hardware is required to complete the project. Just some


Additional secondary storage and Ram to make an existing PC into server as
the amount data involved is very high, and RAM is required to match the
Speed limit with the server’s space. This upgraded PC with other machines
on a local network will server the purpose. During this phase the following
Hardware and software specification were listed:

Economic Feasibility

The project is considered economically feasible on the of funds available for


The making and maintenance of the project and also the available resources
Were enough to install the initial phases of the project with a little extra
Hardware, again, which is not costly.

The project is economically feasible because of one more that is the training
Cost to the employees and users was minimal as they had already taken a
Training with NUT recently taught themselves the basic hence for the
proposal Solution being a user friendly version was not so much costly and
definitely Economically feasible.

Operational Feasible

9
The project seemed to be operational feasible on the following facts:

The resources like hardware and software or place for the developers to

Develop the project is available with no extra cost added to the same.

End user have a working knowledge of the computer so it is not a very

Tought challenge to train them and could be done in the same cost and it is

Easy for them to understand it through the user manually as well as they

Were literate enough for the same.

There were also reusable software resources that could be acquired from the

Third party and party and were ready to use on the current project. As far as

The environment resources were concerned they were easily available from

The market on purchase (cost added in the above economic feasibility


study).

So to speak of the desired human resources, they are made along with the

Estimate of development efforts.

REQUIREMENT ANALYSIS

Requirements describe the “what” of a system, not the “how”. The

Requirements are analysis in order to identify inconsistencies, defect,

Omissions etc. The primary output of requirement specification.

The software requirement specification should be internally consistent;

Understandable to user, customer, Designers and taster and capable of


10
serving as a basis and test. This document May act as a contrast between the
developer and customer.

The analyst must decide the information gathering tool and how it must be
used

for requirement analysis.

An important rule is that must be acquired and perfect, under the right
condition and with minimum interruption to user personnel. Various tools
required for information gathering

in requirement analysis are as follow.

Questionnaire

Questions should be simple and short. Two or three question rolled into one

can lead to compound requirement statement that are difficult to interpret


and

test. It is important to prepare question, but reading form the questionnaire


or

only sticking to it is not desirable. We should be open for any type of


discussion

and any direction of the interview.

Enter question will help to start the communication that is essential for
understanding the requirement.

SYSTEM ANALYSIS

System flowchart:

The algorithm in a pictorial form is called a flowchart. The flowchart is


primarily
11
used as an aid in formulating and understanding algorithms. The sequence of

Instruction and repetition of groups of instruction bvb may be quickly seen


by inspection

a flowchart.

1. Rectangles with rounded ends are used to indicate START and STOP.

2. Parallelograms are used to represent INPUT and OUTPUT.

3. Diamond shaped boxes is used to indicate QUESTION ASKESD or

CONDITION. The EXITS from the diamond shaped box are labeled

With the answers to the questions.

4. Rectangles are used to indicate any PROCESSING OPERATION

Such as storage and arithmetic.

SYSTEM DESIGN

For projects, it is necessary to bridge the gap between specifications and the
coding with something more concrete. This Bridge is the software design.

12
Types of Design:

Conceptual Design:- It describes the system in language understandable to


the consumer and is independent of implementation.

Technical Design: - It describe the hardware conclusion, software need, the


input/ output of the system, the network architecture and the requirements to
the customers + problem.

Modularity
Modularity is the most important aspect in the software design. Software
embodies modularity that is software is divided into separately name and
addressable component known as module that are integrated to satisfy
problem requirements functional independent is direct growth of modularity
which is achieved by developing modules with single functions and
exclusive interaction with effective modularity. It is an independent module,
easier to develop, maintain and test because secondary effect caused by
design is limited. Errors propagations reduced and reusable modules are
possible. Desirable properties of modular system include
1. Each module is a well-defined subsystem that is potentially useful in other
applications.
2. Each module has single, well-define purposes.
3. Modules can be separately complied and stored in a library.
4. Module can use other modules.
5. Modules should be easier to use than to build.
6. Modules should be simpler from outside than from the inside.
Independence is measured by using two qualitative methods and they are:
Module coupling: - Coupling is the measure of degree of interdependence
between modules. Two modules with high coupling are strongly
interconnected and thus, dependent on each other. Two modules with low
coupling are not dependent on other. “Loosely coupled” systems are made
up of modules, which are relatively independent. “Uncoupled” modules have
no interconnection at all; they are completely independent.
Module Cohesion:- Cohesion is the measure of degree to which the
modules are related. A strongly cohesive module implements functionality
that is related to one feature of the solution and requires little interaction
with other modules thus we want to maximize the interaction within a
module. Thus an important design objective is to maximize the module
cohesion and minimize the module coupling.

13
Strategy of Design:- A good system design Strategy is to organize the
problem modules in such a way that are easy to develop and later to, change.
Structured design techniques help us to with the size and complexity of
problem. The design is important for two reasons.
1. Even preexisting code, if any, can be organized and clubbed together.
2. It is common for us to have some code and produce original program that
support the application logic of the system.
The strategies of design are
Bottom Up Design: - The approach which leads to style of design where
we decide how to combine the module to provide larger ones; to combine
those to provide even larger ones; and so on, till we arrive at one big module
which is the whole of desired program. The set of these modules from
hierarchy. The design progress from bottom layer to upwards and this
methods is called bottom-up more design. If we start coding a module can be
tested and design can be validated sooner than module whose sub modules
have not yet been designed.
Top Down Design: - The essential idea of top down design is that the
specification is judge by describing a black box the program. We should
decide how the innards of the black box are constructed from smaller black
boxes and those inner black box, be specified. Thus a top down design
approach starts by identifying the major modules of the system,
decomposing them into their lower level modules and iterating until the
from abstract design, in each step the design is refined to a concrete level,
until we reach a level where no more refinement is needed and design can
implemented directly. Mostly design methodologies are based on this
approach and are suitable, if the specifications are clear and development is
from scratch. If coding of a part starts soon after it’s design, nothing can be
tested until all its subordinate modules are coded.
Hybrid Approach:- Pure top down approach or pure bottom – up approach
is often not practical. For a bottom – up approach to be successful, we must
have a good notion of the top which the design should be heading . Without
a good idea about the operation needed at higher layers, it is difficult to
determine what operation the current support.
Hybrid approach has really become popular after the acceptance of
reusability of modules.
File / Database Design
File / Organization:- A file is organized to ensure that record are available
for processing. As mentioned earlier, records should be designed in line with
the activity and volatility of the information and the nature of the storage
media and devices.
14
There are four methods of organizing files.
Sequential:- It simply means storing and storing in physical, contiguous
blocks within files on tape or disk. Records are also in sequence within each
block. To access a record, previous records records within the blocks are
scanned.
Thus sequential records design is best suited for “get next “activities,

Reading one record after another without a search delay.

In this record can be added only at the end of the file. It is not possible to

Insert a record in the middle of the file without rewriting the file.

Indexed – sequential: - Like sequential organization, keyed sequential


sequential stores data in physically contiguous blocks. The difference is in
the use of indexes to locate records. To understand these methods, we need
to distinguish among three areas in disk storage: prime area, overflow area,
and index contains records added to the file that cannot be placed in logical
sequence in the prime area. The index area is more like a data dictionary. It
contains keys of records and their location on the disk. A pointer association
with each key is an address that tells the system where to find a record.

INDEXED – sequential organization reduces the magnitude of the


sequential search and provides quick access for sequential and direct
processing. The primary drawback is the extra storage space required for
index. It also takes longer to search the index for data access or retrieval.

Chaining: - File organization require that relationship be established data


item. It must show how character from fields, fields from files, and files
related to one another. Establishing relationship is done through chaining or
the use of pointer. The file is an indexed – sequential access file sequenced
by key 1 that report part numbers. Part number retrieves record. It has a
multiple index for a given key and indexes are updated for the record keys
and location.

Inverted List:- The inverted list organization maintain an index . The two
Methods differ, however, in the index level and record storage. This method
has a single index for each key type. Record is not necessarily stored in a
particular sequence. They are placed in the data storage area.

15
Direct Access: - In the, record are placed randomly though out the life.
Record need not be in sequence because they are updated directly and
rewritten back in the same location. New record are added at the and of the
file or inserted in specific locations based on software commands. An
address is required for location a record, for linking records, or for
establishing relationships.

Addresses are of two types


Absolute: - It represents the physical location of the recode. It is usually
state din the format of sector/track/records number.
Database Design: - A decode ago , database was unique to large corporation
with mainframe. Today it is recognized as a standard of MIS and is available
for virtually every size of computer. Before the database concept become
operational, user had program that handled there owe data independent of
other users. It was a conventional file environment with on data integration
or sharing of common data across applications several users. Instead of each
program managing its own data, authorized user share data across
application with the data base managing the data as an entity. A program
requested data through the database management system (DBMS), witch
determines data sharing.

CODING:

/* PROGRAM TO MAKE A CALANDER */

#include<process.h>
16
#include<iostream.h>
#include<conio.h>
#include<dos.h>
main()
{
clrscr();
long int days,a,day,leap,year,month,date=1;
cout<<"Enter the year:";
cin>>year;
if(year<=0)
{
cout<<"You entered a wrong year";
exit(0);
}
for(month=1;month<=12;month++)
{
leap=(year-1)/4;
day=(((year-1)*365)+leap);
a=year%4;
if(a==0)
{
switch(month)
{
case 1: days=day+date; break;
case 2: days=day+31+date; break;
case 3: days=day+60+date; break;
case 4: days=day+91+date; break;
case 5: days=day+121+date; break;
case 6: days=day+152+date; break;
case 7: days=day+182+date; break;
case 8: days=day+213+date; break;
case 9: days=day+244+date; break;
case 10: days=day+274+date; break;
case 11: days=day+305+date; break;
case 12: days=day+335+date; break;
}
}
if(a!=0)
{
switch(month)
17
{
case 1: days=day+date; break;
case 2: days=day+31+date; break;
case 3: days=day+59+date; break;
case 4: days=day+90+date; break;
case 5: days=day+120+date; break;
case 6: days=day+151+date; break;
case 7: days=day+181+date; break;
case 8: days=day+212+date; break;
case 9: days=day+243+date; break;
case 10: days=day+273+date; break;
case 11: days=day+304+date; break;
case 12: days=day+334+date; break;
}
}
switch(month)
{
case 1: cout<<"\n\t\t JANUARY"<<","<<year; break;
case 2: cout<<"\n\t\t FEBUARY"<<","<<year; break;
case 3: cout<<"\n\t\t MARCH"<<","<<year; break;
case 4: cout<<"\n\t\t APRIL"<<","<<year; break;
case 5: cout<<"\n\t\t MAY"<<","<<year; break;
case 6: cout<<"\n\t\t JUNE"<<","<<year; break;
case 7: cout<<"\n\t\t JULY"<<","<<year; break;
case 8: cout<<"\n\t\t AUGUST"<<","<<year; break;
case 9: cout<<"\n\t\t SEPTEMBER"<<","<<year;
break;
case 10: cout<<"\n\t\t OCTOBER"<<","<<year; break;
case 11: cout<<"\n\t\t NOVEMBER"<<","<<year;
break;
case 12: cout<<"\n\t\t DECEMBER"<<","<<year;
break;
}

cout<<"\n\nSUN"<<"\tMON"<<"\tTUE"<<"\tWED"<<"\
tTHU"<<"\tFRI"<<"\tSAT\n";
switch(month)
{

case 1:
18
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(days%7==1)
{
for(int i=1;i<=31;i++)
{
if(i%7==0)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==2)
{
cout<<"\t";
for(int i=1;i<=31;i++)
{
if(i%7==6)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==3)
{
cout<<"\t\t";
for(int i=1;i<=31;i++)
{
19
if(i%7==5)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==4)
{
cout<<"\t\t\t";
for(int i=1;i<=31;i++)
{
if(i%7==4)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==5)
{
cout<<"\t\t\t\t";
for(int i=1;i<=31;i++)
{
if(i%7==3)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
20
else if(days%7==6)
{
cout<<"\t\t\t\t\t";
for(int i=1;i<=31;i++)
{
if(i%7==2)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==0)
{
cout<<"\t\t\t\t\t\t";
for(int i=1;i<=31;i++)
{
if(i%7==1)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
break;
case 2:
if((year%4)==0)
{
if(days%7==1)
{
for(int i=1;i<=29;i++)
{
if(i%7==0)
{
21
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==2)
{
cout<<"\t";
for(int i=1;i<=29;i++)
{
if(i%7==6)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==3)
{
cout<<"\t\t";
for(int i=1;i<=29;i++)
{
if(i%7==5)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}

}
else if(days%7==4)
22
{
cout<<"\t\t\t";
for(int i=1;i<=29;i++)
{
if(i%7==4)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==5)
{
cout<<"\t\t\t\t";
for(int i=1;i<=29;i++)
{
if(i%7==3)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==6)
{
cout<<"\t\t\t\t\t";
for(int i=1;i<=29;i++)
{
if(i%7==2)
{
cout<<i<<"\n";
}
else
{
23
cout<<i<<"\t";
}
}
}
else if(days%7==0)
{
cout<<"\t\t\t\t\t\t";
for(int i=1;i<=29;i++)
{
if(i%7==1)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
}
else if((year%4)!=0)
{
if(days%7==1)
{
for(int i=1;i<=28;i++)
{
if(i%7==0)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==2)
{
cout<<"\t";
for(int i=1;i<=28;i++)
24
{
if(i%7==6)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==3)
{
cout<<"\t\t";
for(int i=1;i<=28;i++)
{
if(i%7==5)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==4)
{
cout<<"\t\t\t";
for(int i=1;i<=28;i++)
{
if(i%7==4)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
25
}
else if(days%7==5)
{
cout<<"\t\t\t\t";
for(int i=1;i<=28;i++)
{
if(i%7==3)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==6)
{
cout<<"\t\t\t\t\t";
for(int i=1;i<=28;i++)
{
if(i%7==2)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"t";
}
}
}
else if(days%7==0)
{
cout<<"t\t\t\t\t\t";
for(int i=1;i<=28;i++)
{
if(i%7==1)
{
cout<<i<<"\n";
}
26
else
{
cout<<i<<"\t";
}
}
}
}
break;
case 4:
case 6:
case 9:
case 11:
if(days%7==1)
{
for(int i=1;i<=30;i++)
{
if(i%7==0)
{
cout<<i<<"\n";
}
else

{
cout<<i<<"\t";
}

}
}
else if(days%7==2)
{
cout<<"t";
for(int i=1;i<=30;i++)
{
if(i%7==6)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
27
}
}
}
else if(days%7==3)
{
cout<<"\t\t";
for(int i=1;i<=30;i++)
{
if(i%7==5)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"t";
}
}
}
else if(days%7==4)
{
cout<<"\t\t\t";
for(int i=1;i<=30;i++)
{
if(i%7==4)
{
cout<<i<<"\t";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==5)
{
cout<<"\t\t\t\t";
for(int i=1;i<=30;i++)
{
if(i%7==3)
{
28
cout<<i<<"\n";
}
else
{
cout<<i<<"t";
}
}
}
else if(days%7==6)
{
cout<<"\t\t\t\t\t";
for(int i=1;i<=30;i++)
{
if(i%7==2)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
else if(days%7==0)
{
cout<<"\t\t\t\t\t\t";
for(int i=1;i<=30;i++)
{
if(i%7==1)
{
cout<<i<<"\n";
}
else
{
cout<<i<<"\t";
}
}
}
break;
}
29
sound(455);
delay(100);
nosound();
getch();
clrscr();
}return 0;
}

OUTPUTOF PROGRAM
ENTER THE YEAR: 2009
JANUARY, 2009
SUN MON TUE WED THU FRI SAT
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

FEBRUARY, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

MARCH, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

30
APRIL, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

MAY, 2009
SUN MON TUE WED THU FRI SAT
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

JUNE, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

JULY, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

31
AUGUST, 2009
SUN MON TUE WED THU FRI SAT
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

SEPTEMBER, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

OCTOBER, 2009
SUN MON TUE WED THU FRI SAT
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

NOVEMBER, 2009
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
DECEMBER, 2009
32
SUN MON TUE WED THU FRI SAT
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

33

You might also like