Sie sind auf Seite 1von 32

N

ACKNOWLEDGEMENT

I WOULD LIKE TO CONVEY MY HEARTLY THANKS TO


MS HARPREET KAUR (C++ THEORY TEACHER), MR.
RAVI SIR (C++ PRACTICAL TEACHER) WHO ALWAYS
GAVE VALUABLE SUGGESTIONS AND GUIDANCE FOR
COMPLETE OF MY PROJECT.
THEY HELPED ME TO UNDERSTAND & REMEMBER
THE IMPORTANT DETAILS OF THE PROJECT THAT I
WOULD HAVE OTHERWISE LOST. MY PROJECT HAS
BEEN A SUCCEESS ONLY BECAUSE OF THEIR
GUIDANCE. I AM REALY THANKFUL TO MY DEAR
FRIENDS AND ALL PEOPLE WHO HELPED ME FOR
PROVIDING ME NECESSARY INTRUCTIONS ABOUT
THIS PROJECT. LAST BUT NOT THE LEAST, I THANK MY
PARENTS FOR SUPPORTING ME IN MAKING THIS
PROJECT.
TUSHAR MEHROTRA
XII-C
This is to certify that work laid immensely in this project has
been carried out by TUSHAR MEHROTRA student of class
XII (science) under the highly intense supervision and guidance
of Ms Harpreet Kaur And Mr. Ravi Srivastava
It is also being approved that all the requirement in this project
has been fulfilled solely by the applicant with whole hearted &
honest attitude of work for the c++ project work on the topic
HOTEL MANAGEMENT

Principals Signature Teachers Signature


Why include <iostream.h>?
THE HEADER FILE <IOSTREM.H> IS INCLUDED IN
EVERY C++ PROGRAM TO IMPLEMENT INPUT/OUTPUT
FACILITIES. INPUT/OUTPUT FACILITES ARE
IMPLEMENTED THROUGH A COMPONENT OF C++
STANDARD LIBRARY, IOSTREAM.H, WHICH IS I/O
LIBRARY. PREDIFINED STREAMS OF I/O LIBRARY:-

CIN:-AS ISTREAM CLASS OBJECT TIED TO STANDARD


INPUT, CIN STANDS FOR CONSOLE INPUT.

COUT:- AS OSTREAM CLASS OBJECT TIED TO


STANDARD OUTPUT, COUT STANDS FOR CONSOLE
OUTPUT.

CERR:- AS OSTREAM CLASS OBJECT TIED TO


STANDARD ERROR , CERR STANDS FOR CONSOLE
ERROR.
THE AREA OF COMPUTER APPLICATION ARE
LITERALLY NUMEROUS TO MENTION.

COMPUTERS ARE BECOMING INTEGRAL PART OF


OUR EVERY DAY LIFE. THEY DOMINATE EVERY
SPHERE OF ENTERTAINMENT, LIFE, BANK,
EDUCATION, INSURANCE, RESEARCH, DESIGNING
OR MANUFACTURE. THEY CONTINUE TO GROW
IMMENSE. POPULARITY OF COMPUTERS IS DUE TO
SPEED WITH WHICH THEY ACCOMPLISH THE
SPECIFIED TASK HOWEVER ANY COMPUTER
APPLICATION WHICH WE USE HAS TWO PARTS.

1. USER INTERFACE:- THIS IS THE SCREEN


DISPLAYED BY THE APPLICATION. WE INTERACT
WITH THE APPLICATION VIA INTERFACE. EVERY
APLLICATION HAS USER INTERFACE IN ONE FORM
OR OTHER. WE PROVIDE THE NECESSARY
INSTRUCTION USING THE USER INTERFACE.
2. PROGRAMS:-COMPUTERS NEED CLEARCUT
INSTRUCTIONS TO THEM, WHAT TO DO??, HOW TO
CARRY OUT SPECIFIED TASK IS CALLED
PROGRAM.
CONCEPTS OF DATA TYPES
C++DATA TYPES:-
1.FUNDAMENTAL DATA TYPES:-
DATA TYPES ARE MEANS TO IDENTIFY TYPE OF DATA
AND ASSOSIATED OPERATIONS OF HANDLING IT.
THESE ARE OF 5 TYPES:-
CHAR.
INT.
FLOAT.
DOUBLE.
VOID.
2.DERIVED DATA TYPES:-
THESE TYPE OF DATA TYPES ARE DERIVED FROM
FUNDAMENTAL DATA TYPES. THESE ARE OF
FOLLOWING TYPE:-
ARRAYS.
CLASSES.
POINTERS.
STRUCTURES.
CONSTRAINTS.
FUNCTIONS.
REFERENCES.
EVOLUTION OF SOFTWARE
A PROGRAM SERVES THE PURPOSE OF COMMANDING
THE COMPUTER.
GENERALLY TWO TYPES OF LANGUAGES ARE KNOWN
WHICH ARE:LOW LEVEL LANGUAGE AND HIGH LEVEL
LANGUAGE.
LOW LEVEL LANGUAGE:-THIS LANGUAGE
GENERALLY COMPRISES MACHINE LANGUAGE OR
ASSEMBLY LANGUAGE. THESE LANGUAGES ARE
GENERALLY REFERRED AS THE MACHINE
LANGUAGES AND REQUIRE EXTENSIVE KNOWLEDGE
OF COMPUTER CIRCUITRY.
HIGH LEVEL LANGUAGE:- THESE TYPES OF
LANGUAGES OFFER ENGLISH TYPE KEYWORDS,
SELECTION (DECISION), CONSTRUCTS FOR SEQUENCE,
ITERATION (LOOPING), & USE OF VARIABLE AND
CONSTANTS.
THE EFFICIENCY AND USEFULLNESS OF THE
PROGRAM DEPENDS NOT ONLY ON THE PROPER USE
OF COMMANDS BUT ALSO ON THE PROGRAMMING
LANGUAGE IT IS WRITTEN IN.
NECESSARY FEATURES

A PROGRAMMING LANGUAGE SHOULD SERVE TWO


RELATED PURPOSES.

1. IT SHOULD PROVIDE A VEHICLE FOR


PROGRAMMER TO SPECIFY ACTIONS TO BE
EXECUTED.
2. IT SHOULD PROVIDE A SET OF CONCEPTS FOR
THE PROGRAMMER TO USE WHEN THINKING
ABOUT ANY PROBLEM, THAT WHAT CAN BE
DONE.

C++ IS A LANGUAGE WHICH SATISFIES BOTH THE


ASPECTS GIVEN ABOVE. IT IS EQUALLY CLOSE TO
BOTH THE PROGRAMMER AND THE MACHINE.
BY PARADIGM ONE MEANS A WAY OF THINKING
OR DOING THINGS.
PARADIGM MEANS ORGANISING PRINCIPLE OF A
PROGRAM. IT IS AN APPROACH TO
PROGRAMMING.
LET US DISCUSS DIFFERENT PROGRAMMING
PARADIGMS AND KEY LANGUAGE MECHANISMS
NECESSARY FOR SUPPORTING THEM:-

PROCEDURAL PROGRAMMING:-A PROGRAMIN A


PROCEDURAL PROGRAMMING IS A LIST OF
INSTRUCTIONS WHERE EACH STATEMENT TELLS
A COMPUTER TO DO SOMETHING. THE
ALGORITHM NEEDED TO PERFORM PROCEDURAL
PROGRAMMING LEADS TO INCREASED TIME AND
COST OVERHEADS DURING DESIGN CHANGES.

MODULAR PROGRAMMING:-WITH THE


INCREASED IN PROGRAM SIZE, A SINGLE LIST OF
INSTRUCTIONS BECOME UNWEILDLY. THUS A
LARGE PROGRAM IS BROKEN INTO SMALLER
UNITS i.e. FUNCTIONS OR SUBPROGRAMS. THE
IDEA OF BREAKING A PROGRAM INTO FUNCTIONS
CAN FURTHER BE EXTENDED BY GROUPING A NO.
OF FUNCTIONS TOGETHER INTO A LARGE ENTITY
CALLED MODULE.
1. OBJECT ORIENTED PROGRAMMING (OOP), IN COMPUTER
SCIENCE. TYPE OF HIGH-LEVEL COMPUTER LANGUAGE
THAT USES SELF CONTAINED, MODULAR INSTRUCION
SETS FOR DEFINING AND MANIPULATING ASPECTS OF A
COMPUTER PROGRAM. THESE DISCRETE, PREDEFINED
INSTRUCTION SETS ARE CALLED ON OBJECTS AND THEY
MAY BE USED TO DEFINE VARIABLES, DATA STRUCTURES,
AND PROCEDURES.
2. IN OOP, OBJECTS HAVE BUILT-IN RULES FOR
COMMUNICATING WITH ONE ANOTHER. BY USING OBJECT
AS STABLE, PREEXISTING BUILDING BLOCKS,
PROGRAMMERS CAN PURSUE THEIR MANUPULATING OR
COMBINING OBJECTS TO MODIFY EXISTING PROGRAMS
AND TO CREATE ENTIRELY NEW ONES.
3. ONE ESPECIALLY POWERFUL FEAUTURE OF OOP
LANGUAGES IS A PROPERTY KNOWN AS INHERITANCE.
INHERITANCE ALLOWS AN OBJECT TO TAKE ON THE
CHARACTERSTICSAND FEATURES OF OTHER OBJECTS TO
WHICH IT IS FUNCTIONALLY CONNECTED.
PROGRAMMERS CONNECT OBJECTS BY GROUPING THEM
TOGETHER IN DIFFERENT CLASSES AND BY GROUPING
THE CLASSES INTO HIERARCHIES.
4. THESE CLASSES AND HIERARCHIES ALLOW
PROGRAMMERS TO DEFINE THE CHARACTERSTICS AND
FUNCTIONS OF OBJECTS WITHOUT NEEDING TO REPEAT
SOURCE CODE, THE CODED INSTRUCTIONS IN A
PROGRAM. THUS, USING
1. OBJECT CODE, IN COMPUTER SCIENCE, TRANSLATED
VERSION OF SOURCE CODE THE STATEMENTS OF A
PARTICULAR COMPUTER PROGRAM THAT CAN EITHER
BE READ BY COMPUTER DIRECTLY, OR READ BY THE
COMPUTER AFTER IT IS FURTHER TRANSLATED.
2. SOFTWARE ENGINEERS WRITE SOURCE CODE IN HIGH
LEVEL PROGRAMMING LANGUAGES THAT PEPOLE CAN
READ AND UNDERSTAND, A COMPUTERS CENTRAL
PROCESSING UNIT (CPU) CANNOT RECORGNIZE AND
EXECUTE THE INSTRUCTIONS IN SOURCE CODEUNTIL IT
IS TRANSLATED INTO MACHINE CODE, A LOW LEVEL
LANGUAGE WRITTEN IN BINARY DIGITS, 1s AND 0s,
CALLED BITS.
3. A COMPUTER UESE ONE OR TWO TRANSLATION
PROGRAMS, KNOWN AS LANGUAGE PROCESSORS, TO
CONVERT SOURCE CODE INTO OBJECT CODE: AN
ASSEMBLER OR A COMPILER. ASSEMBLERS PRODEUCE A
STRICT ONE-FOR-ONE TRANSLATIONS OF SOURCE CODE
INTO MACHINE CODE.
4. COMPILERS, ON THE OTHER HAND, CAN PRODUCE
EITHER MACHINE CODE DIRECTLY OR CREATE INTER
MEDIATE VERSION OF THE ORIGIONAL SOURCE CODE IN
ASSEMBLY LANGUAGE.
5. OBJECT CODE SHOULD NOT BE CONFUSED WITH
OBJECTS IN COMPUTER SCIENCE. OBJECTS ARE SELF
CONTAINED, MODULAR INSTRUCTION SETS THAT ARE
USED AS PROGRAMMING UNITS IN OBJECT-ORIENTED
PROGRAMMING.
6. OOPLANGUAGES CAN DIRECTLY REDUCE THE TIME IT
TAKES FOR THE PROGRAMMER TO WRITE AN
APPLICATION, AND ALSO TO REDUCE THE SIZE OF THE
PROGRAM.
7. OOPLAGUAGES ARE FELXIBLE AND ADAPTABLE, SO
PROGRAMS OR PART OF PROGRAMS CAN BE USED FOR
MORE THAN ONE TASK. PROGRAMS WRITTEN WITH OOP
LANGUAGES ARE GENERALLY SHORTER IN LENGTH.
8. OBJECT ORIENTED PROGRAMMING BEGAN WITH
SIMULA, A PROGRAMMING LANGUAGE DEVELOPED
FROM 1962 TO 1967 BY OLE JOHAN DAHL AND
KRIESTEN NYGAARD AT THE NORWEGIAN COMPUTING
CENTRE IN OSLO, NORWAY. SIMULA INTRODUCED
DEFINITIVE FEATURES OF OOP, INCLUDING OBJECTS
AND INHERITANCE. IN THE EARLY 1970s ALAN KAY
DEVEL OPED SMALL TALK ANOTHER EARLY OOP
LANGUAGE, AT THE POLO ALTO RESEARCH CENTRE OF
THE XEROX CORPORATION.
9. THE MOST POPULAR OOP LANGUAGE IS C++,
DEVELOPED BY BJARNE STROUSTRUP AT BELL
LABORATORIES IN THE EARLY 1980s. IN 1995 SUN
MICROSYSTEM, INC., RELEASEDJAVA, AN OOP
LANGUAGE THAT CAN RUN ON MOST TYPE OF
COMPUTERS REGARDLESS OF PLATFORM. IN SOME
WAYS JAVA REPRESENT A SIMPLIFIED WERSION OF C++
BUT ADDS OTHER FEATURES AND CAPABILITIES AS
WELL SUITED FOR WRITING INTERACTIVE
APPLICATIONS TO BE USED ON WORLD WIDE WEB.
1. MACHINE CODE, OR MACHINE LANGUAGE, IN
COMPUTER SCIENCE, LOW-LEVEL PROGRAMMING
LANGUAGE THAT CAN BE UNDERSTOOD DIRECTLY BY A
COMPUTERS CENTRAL PROCESSING UNIT (CPU).
MACHINE CODE CONSISTS OF SEQUENCE OF BINARY
NUMBERS, OR BITS, WHICH ARE USUALLY
REPRESENTED BY 1S AND 0S.
2. THE SPECIFIC SET OF INSTRUCTIONS THAT
CONSTITUTES A MACHINE CODE DEPENDS ON THE
MAKE AND MODEL OS COMPUTERS CPU. FOR
INSTANCE, THE MACHINE CODE FOR THE MOTOROLA
68000 MICROPROCESSOR DIFFERS FROM THAT USED IN
THE INTEL PENTIUM MICROPROCESSOR.
3. WRITING PROGRAMS IN MACHINE CODE IS TEDIOUS
AND TIME-CONSUMING SINCE THE PROGRAMMER MUST
KEEP TRACK OF EACH SPECEFIC BIT IN AN
INSTRUCTION. ANOTHER DIFFICULTY WITH
PROGRAMMING DIRECTLY IS THAT ERRORS ARE VERY
HARD TO DIRECT BECAUSE THE PROGRAM IS
REPRESENTED BY ROWS AND COLUMNS OF 1S AND 0S.
4. TO OVERCOMETHESE PROBLEMS, AMERICAN
MATHMATICIAN GRACE MURRY HOPPER DEVELOPED
ASSEMBLY LANGUAGE IN 1952. ASSEMBLY LANGUAGE
USES EASY TO REMEMBER TERMS-SUCH AS SUB FOR
SUBTRACTION OPERATION, AND MPY FOR A
MULTIPICATION OPERATION TO REPRESENT SPECEFIC
INSTRUCTIONS IN MACHINE CODE.
COMPILE. IN RELATION TO COMPUTERS, IS TO TRANSLATE
ALL THE SORCE CODE OF A PROGRAM FROM A HIGH-LEVEL
LANGUAGE INTO OBJECT CODE PRIOR TO EXECUTION OF
PROGRAM. OBJECT CODE IS EXECUTABLE MACHINE CODE
OR A VARIATION OF MACHINE CODE. MORE GENERALLY,
COMPILING IS SOMETIMES USED TO DESCRIBE
TRANSLATING ANY HIGH-LEVEL SYMBOLIC DESCRIPTION
INTO A LOWER-LEVEL SYMBOLIC OR MACHINE REDABLE
FORMAT.

1. COMPILER, IN COMPUTER SCIENCE, COMPUTER


PROGRAM THAT TRANSLATES SOURCE CODE,
INSTUCTIONS IN A PROGRAM WRITTEN BY A SOFTWARE
ENGINEER, INTO AN OBJECT CODE, THOSE SOME
INSTRUCTIONS WRITTEN IN A LANGUAGE THAT
COMPUTERS CENTRAL PROCESSING UNIT (CPU) CAN
READ AND INTERPRET. SOFTWARE ENGINEERS WRITE
SOURCE CODE USINGHIGH LEVEL PROGRAMMING
LANGUAGE THAT PEOPLE CAN UNDERSTAND.
COMPUTERS CANNOT TO TRANSLATE EXECUTE SOURCE
CODE, BUT NEEDS A COMPILER TO TRANSLATE THESE
INSTRUCTIONS INTO A LOW LEVEL LANGUAGE CALLED
MACHINE CODE.
2. COMPILERS COLLECT AND REORGANIZE (COMPILE)
ALL THE INSTRUCTIONS IN A GIVEN SET OF SOURCE
CODE TO PRODUCE OBJECT CODE. OBJECT CODE IS
OFTEN THE SAME AS OR SIMILAR TO A COMPUTERS
MACHINE CODE. IF THE OBJECT CODE IS THE SAME AS
THE MACHINE LANGUAGE, THE COMPUTER CAN RUN
THE PROGRAM IMMEDIALTELY AFTER THE COMPILER
PRODUCES ITS TRANSLATIONS.
3. MOST PROGRAMMING LANGUAGES SUCH AS C, C++
AND FORTRAN USE COMPILERS, BUT SOME SUCH AS
BASIC AND LISP USE INTERPRETERS. AN INTERPRETER
ANALYSES AND EXECUTES EACH LINE OF SOURCE
CODE ONE BY ONE. INTERPRETERS PRODUCE INITIAL
RESULTS FASTER THAN COMPILERS, BUT THE SOURCE
CODE MUST BE RE INTERPRETED WITH EVERY USE
AND INTERPRETED LANGUAGES ARE USUALLY NOT AS
SOPHICTICATED AS COMPILED LANGUAGES.
4. MOST COMPUTER LANGUAGES USE DIFFERENT
VERSIONS OF COMPILERS FOR DIFFERENT TYPES OF
COMPUTERS OR OPERATING SYSTEMS, SO ONE
LANGUAGE MAY HAVE DIFFERENT COMPILERS FOR
PERSONAL COMPUTERS (PC) AND AAPLE MACINTOSH
COMPUTERS. MANY DIFFERENT MANUFACTURERS
OFTEN PRODUCE VERSIONS OF THE SAME
PROGRAMMING LANGUAGEE, SO COMPILERS FOR
LANGUAGE MAY VARY BETWEEN MANUFACTURERES.
5. CONSUMER SOFTWARE PROGRAMS ARE COMPILED
AND TRANSLATED INTO MACHINE LANGUAGE BEFORE
THEY ARE SOLD. SOME MANUFACTURERS PROVIDE
SOURCE CODE, BUT USUALLY OLNY PROGRAMMERS
FING THE SOURCE CODE USEFUL. THUS PROGRAMS
BOUGHT OFF THE SHELF CAN BE EXECUTED, BUT
USUALLY THEIR SOURCE CODE CANNOT BE READ OR
MODIFIED.

THE GENERAL CONCEPTS OF OOP ARE GIVEN BELOW:


1. DATA ABSTRACTION.
2. DATA ENCAPSULATION.
3. MODULARITY.
4. INHERITANCE.
5. POLYMORPHISM.

THE OOP APPROACH IS BASED ON THESE CONCEPTS THAT


HELP IT ATTAIN ITS GOAL OF OVERCOMING THE DRAWBACK
OR SHORTCOMINGS OF CONVENTIONNAL PROGRAMMING
APPROACHES.

1. DATA ABSTRACTION :-
DATA ABSTRACTION REFFERS TO ACT OF
REPRESENTING ESSENTIAL FEATURES WITHOUT
INCLUDING THE BACKGROUND DETAILS ARE
EXPLATIONS.

2. DATA ENCAPSULATION :-
DATA ENCAPSULATION MEANS WRAPPING OF DATA AND
OPERATIONS / FANCTIONS (THAT OPERATE ON DATA)
INTO A SINGLE UNIT CALLED CLASS.

3. MODULARITY :-
MODULARITY IS THE PROPERTY OF SYSTEM THAT HAS
BEEN DECOMPOSED INTO A SET OF COHESIVE AND
LOOSELY COUPLED MODULES.

4. INHERITANCE:-
INHERITANCE IS THE PROPERTY OF ONE CLASS TO
INHERIT CAPABILITIES FROM THE OTHER CLASS.

5. POLYMORPHISM:-
POLYMOTPHISM THE ABILITY FOR A MESSAGE OR DATA
TO BE PROCESSED IN MORE THAN ONE FORM.

THE ADVANTAGES OFFERED BY OOP ARE:-

1. RESABILIT OF CODE:-
LINKING OF CODE TO OBJECTS AND EXPLICIT
SPECIFICATION OF RELATION BETWEEN OBJECTS
ALLOWS RELATED OBJECTS TO SHARE CODE.

2. EASE OF COMPREHENSION:-
CLASSES CAN BE SET UP TO CLOSELY REPRESENT THE
GENERIC APPLICATIONS, CONCEPTS AND
PROCESSESS.

OOP CODES ARE MORE NEAR TO REAL WORLD


MODELS THAN OTHER PROGRAMMING
METHODOLOGIES CODES.

3. EASE OF FABRICATION AN MAINTENANCE:-


THE CONCEPTS SUCH AS ENCAPSULATION, DATA
ABSTRACTION ALLOW FOR VERY CLEAN DESIGNS.

4. EASY REDESIGN AND EXTENSION:-


THE SAME CONCEPT FACILITATE EASY REDESIGN.

DISADVANTAGES OFFERED BY OOP ARE:-

1. WITH OOP CLASSES TEND TO BE OVERLY GENERALISED.

2. THE RELATIONS AMONG CLASSES BECOME ARTIFICIAL


AT TIMES.

3. THE OOP PROGRAM DESIGN IS TRICKY.


4. ALSO ONE NEES TO DO PROPER PLANNING AND PROPER
DESIGN FOR OOP PROGRAMMING.

5. TO PROGRAM WITH OOP, PROGRAMMERS NEED TO


HAVE PROPER SKILLS SUCH AS DESIGN SKILLS,
PROGRAMMING SKILLS, THINKING IN TERMS OF
OBJECTS.

MOST COMPUTER PROGRAMS WORK WITH FILES. THIS


IS BECAUSE, FILES HELP IN STORING DATA
PERMANENTLY. A FILE ITSELF IS A BUNCH OF BYTES
STORED ON SOME STORAGE DEVICE LIKE TAPE OR
MAGNETIC DISC. IN C++ FILE INPUT / OUTPUT
FACILITIES ARE IMPLEMENTED THROUGH A
COMPONENT HEADER FILE OF C++ STANDARD LIBRARY.
THE HEADER FILE IS <FSTREAM.H>.
DATA FILES :- THE DATA FILES ARE THOSE FILES WHICH
STORES DATA PERTAINING TO A SPECEFIC APPLICATION,
FOR LATER USE. DATA FILES CAN BE STORED IN TWO
WAYS:-

1. TEXT FILES:- A FILE WHICH STORES INFORMATION IN


ASC CHARACTERS.

2. BINARY FILES:- A BINARY FILE IS A FILE THAT


CONTAINS INFORMATION IN SAME FORMAT IN WHICH
THE INFORMATION IS HELD IN MEMORY.

C++ PROGRAMMING LANGUAGE WAS DEVELOPED AT AT & T


BELL LABORATORIES IN THE EARLY 1980 BY BJARNE
STROUSTUP.

CHARACTER SET IS A SET OF VALID CHARACTERS, THAT A


LANGUAGE CAN RECORGNISE. A CHARACTER REPRESENT
CAN ANY LETTER, DIGIT, ANY OTHER SIGN.
LETTERS: A-Z, a-z.
DIGITS: 0-9
SPECIAL SYMBOLS: SPACE, +, -, *, /, ^, |, ( , ), [ , ], { , }, !, =
WHITE SPACES:BLANK SPACE , HORIZONTAL TAB , CARRIAGE
RETURN , NEWLINE , FORM FEED.
OTHER CHARACTERS: C++ CAN PROCESS ANY OF THE 256
ASC CHARACTERS AS DATA OR AS LITERALS.

1. KEYWORDS:- KEY WORDS ARE THE WORDS CONVEY


SPECIAL MEANING TO THE LANGUAGE COMPILER. THESE
ARE RESERVED FOR SPECIAL PURPOSE AND MUST BE
USED AS NORMAL IDENTIFIER NAMES. EX: CASE , CLASS,
WHILE ETC.

2. IDENTIFIERS:- AN IDENTIFIER IS USER DEFINED NAME


GIVEN TO A PART OF PROGRAM OR AN INDENTIFIER IS AN
ARBITRARILY LONG SEQUENCE OF LETTERS AND DIGITS.
THE FIRST CHARACTER MUST BE A LETTER.

3. LITERALS:- LITERALS REFERS TO CONSTANTS. C++


ALLOW FOLLOWING KIND OF LITERALS:-

INTEGER CONSTANTS
FLOATING CONSTANT
CHARACTER CONSTANT
STRING LITERALS

4. PUNCTUATORS:-
PUNCTUATORS REFER TO SEPARATORS. THE FOLLOWING
SYMBOLS ARE USED AS PUNCTUATORS IN C++:-[],(),
{},;*=#.

5. OPERATORS:-
OPERATORS ARE TOKENS THST TRIGGER SOME
COMPUTATION WHEN APPLIED TO VARIABLES AND OTHER
OBJECTS IN EXPRESSION.

UNARY OPERATORS:-
THOSE OPERATORS WHICH REQUIRE ONE OPERAND TO
OPERATE UPON. FOLLOWING ARE SOME UNARY
OPERATORS:-

&:ADDRESS OPERATOR
*:INDIRECTION OPERATORS
+:UNARY PLUS
-:UNARY MINUS
++:INCREMENT OPERATORS
--:DECREMENT OPERATORS
!:LOGICAL NEGATION

BINARY OPERATORS:-
THOSE OPERATORS WHICH REQUIRE TWO OPERANDS TO
OPERATE UPON.

ARITHMETIC OPERATORS:-

=a : unary plus
a+b : addition
++a : prefix increment
a++ : postfix increment
a+=b : assignment by addition
-a : unary minus
a-b : subtraction
--a : prefix decrement
a-- : postprefix decrement
a-=b : assignment by substraction
a*b : multiplication
a*=b : assignment by multiplication
a/b : division
a/=b : assignment by division

COMMENTS IN C++ PROGRAM


COMMENTS ARE PIECES OF CODE THAT COMPILER
DISCARS OR IGNORES. THE PURPOSE OF COMMENTS IS
JUST TO ALLOW PROGRAMMER TO INSERT SOME NOTES
TO ENHANCE READIBILITY OF PROGRAM.

SINGLE LINE COMENTS:- THE COMMENTS BEGINNING


WITH // ARE SINGLE COMMENTS.

3. MULTILINE COMMENTS:-
THE COMMENTS STARTING WITH /* AND ENDING
WITH */ ARE MULTILINE COMMENTS.
TYPES OF ERRORS
1. SYNTAX ERRORS:- WHEN RULES OF PROGRAMMING
LANGUAGE ARE VOILATED. FOR EX:- INT a,b; Error is that line
is terminated with : instead of;

2.SEMANTICS ERRORS:- WHEN STATEMENTS ARE NOT


MEANINGFUL. FOR EX : X*Y=Z; WILL RESULT IN SEMANTIC
ERROR.

3.TYPE ERRORS:- DATA INC C++ HAS ASSOSIATED DATA


TYPE. THE VALUE 7, FOR INSTANCE IS AN INTEGER a IS A
CHARACTER CONSTANT. IF A FUNCTION IS GIVEN WRONG
TYPE OF DATA, TYPE ERROR IS SIGNALLED BY THE
COMPILER.

4.RUN TIME ERRORS:- RUN TIME ERROR ARE THOSE


ERRORS WHICH OCCUR DURING EXECUTION OF THE
PROGRAM. FOR EX:- IF A PROGRAM IS TRYING TO OPEN A
FILE DOES NOT EXIST , IT WILL RESULT IN RUN TIME
ERROR.
5. LOGICAL ERROR:- ERRORS WHICH CAUSE A PROGRAM
TO PRODUCE UNDESIRED OUTPUT.

FOR INSTANCE:
ctr=1;
while(i>10)
{
cout<<n*ctr;
Ctr=ctr+1;
}
NOTE: (Here the loop will not be executed even once, as the
condition ctr>10 is not fulfilled at all.)
FUNCTION PROTOTYPE
A FUNCTION PROTOTYPE IS A DECLARATION OF FUNCTION
THAT TELLS THE PROGRAM ABOUT THE TYPE OF THE
VALUE OF ACTUAL PARAMETERS INTO FORMAL
PARAMETERS, THAT IS, FUNCTION CREATES IT, OWN COPY
OF ARGUMENTS AND THEN USES IT.

INVOKING A FUNCTION:- A FUNCTION CAN BE INVOKED IN


TWO MANNERS:-

CALL BY VALUE:- THE CALL BY VALUE METHOD COPIES


THE VALUES OF ACTUAL PARAMETERS INTO FORMAL
PARAMETERS, THAT IS, FUNCTION CREATES its OWN COPY
OF ARGUMENTS AND THEN USES IT.

CALL BY REFENCE:- THE CALL BY VALUE REFERENCE


METHOD USES DIFFERENT MECHANISM, IN PLACE OF
PASSING A VALUE TO THE FUNCTION BEING CALLED; A
REFERENCE TO ORIGINAL VARIABLE IS PASSED.
STYLISTIC GUIDELINES:- DEVELOPING A GOOD PROGRAM
IS A SKILL AND WRITING GOOD PROGRAM IS A GOOD
HABIT. THIS GOOD HABIT CAN BE DEVELOPED BY
CONCIOUSLY FOLLOWING THE GUIDELINES GIVEN
BELOW:-

Give meaningful names to all identifiers.


Ensure clarity for expressions.
Use comments and indentation.
Always insert prologues.
Insert explanatory comments.
Always indent statements.

CHARACTERS OF A GOOD PROGRAM


EFFECTIVE AND EFFICIENT:- THE PROGRAM SHOULD
PRODUCE CORRECT RESULT AND FASTER.

USER FRIENDLY:- USER SHOULD GET FRIENDLY


ENVIRONMENT; USERS WORK SHOULD BELOW.

SELF DOCUMENTING CODE:- PROGRAM SHOULD HAVE


MEANINGFUL CODE.

RELIABLE:- PROGRAM MUST BE ABLE TO HANDLE


UNEXPECTED SITUATIONS, EX: WRONG DATA OR NO DATA.

PORTABLE:- PROGRAM SHOULD BE ABLE TO RUN AT


DIFFERENT PLATFORMS.
A POINTER IS AVAILABLE THAT HOLDS MEMORY ADDRESS,
USUALLY THE LOCATION OF ANOTHER VARIABLE IN
MEMORY.

THE POINTERS ARE ONE OF THE C++S MOST USEFUL &


STRONGEST FEATURES. THE CORRECT UNDERSTANDING
AND USE OF POINTERS IS CRITICAL TO SUCCESFUL
PROGRAMMING IN C++. THREE REASONS IS THAT SUPPORT
THIS ARE:-

1. POINTERS PROVIDE THE MEANS THROUGH MEMORY


LOCATION OF AVARIABLE CAN BE DIRECTLY ACCESSED.
2. POINTERS SUPPORT DYNAMIC MEMORY ALLOCATION
ROUTINES.
3. POINTERS CAN IMPROVE THE EFFICIENCY OFM CERTAIN
ROUTINES.

MEMORY ALLOCATION

Das könnte Ihnen auch gefallen