Sunteți pe pagina 1din 82

ACKNOWLEDGEMENT

IT IS WITH GREAT PLEASURE THAT I FIND MYSELF PENING DOWN THESE LINES TO EXPRESS MY SINCERE
THANKS TO VARIOUS PEOPLE WHO HELPED ME A LONG WAY IN COMPLETING THIS PROJECT.

THE HARMONIOUS CLIMATE IN OUR SCHOOL PROVIDED PROPER GUIDE FOR PREPARING THIS PROJECT.
IT WAS A PRIVILEGE TO HAVE BEEN GUIDED BY MRS.HARPREET KAUR.

THANKS TO ALL MY CLASSMATES WHO HELPED ME DURING THE DEVELOPMENT OF THIS PROJECT WITH
THERE CONSTRUCTIVE CRITICISM AND ADVISE.

PREPARED BY:

SIDDHANT SAXENA

XII C

MARIA ASSUMPTA SR.SEC.SCHOOL

KASHIPUR
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


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
/*HEADER FILES ARE INCLUDED */
# include <dos.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

/* FUCTION DECLARATION*/
Void add() ; //ASK USER FOR INPUR.
Void view () ; // display all the record.
Void search () ; // search for a record.
Void c_name () ; //change the name in therecord.
Void c_add () ; //changes the connection type in a
record.
Void c_add () ; // changes the address in a record.
Void c_ph () ; // changes the phone in record.
Void del () ; // deletes a record.
Int date ( void) ; // this function is for displaying
system date

/* VALIDATION FUNCTIONS*/
*******************************************************
*********
Void check_id(char *,int) //checks for the length and alidity of
sim id
Void check_name (char *,int); //checks for length and calidity of
NAME
Void check_add(char * , int ) ; // checks for the length and validity
of ADDRESS
Void check_phone (char *,int); //checks for the length and validity
of PHONE NUMBER
Void check_ct (int *); //checks for the CONNECTION TYPE
Int duplicate (char idno [ ] ; //checks for the duplication of the
SIM ID

/* MISC FUNCTION */
Void emply () ;
/* STRUCTURE DECLATATION */
Struct customer
{
Char id [NUM] /* ID of Length 5*/
Char name [NUB ] ; /*Name of Length 30*/
Char address [MAX] ; /* address of Length 61*/
Char phone [PH] ; /* phone Number of length 12* /
Int connection ; /* connection Type of length 2*/
Int day ; /* it is used to display the day of
lenth 2*/
Int month ; /* it is used to display the month of
length 2*/
**************************************************
Int year ; /* it is used to display the year*/
} rec;
/***********************MAIN FUNCTION STARTS **********/

Main ()
{
Int c;
Do {
Int I ;
Window (1,1,800,25);
Textbackground(LIGHTRED) ;
Textcolor (LIGHTGRAY) ;
Clrscr () ;
Gotoxy (24,2) ;
Printf (<<MOBILINK CUSTOMER DATABASE >>) ;
Gotoxy (24,3) ;
Cprintf (<<by-
>>);
For (i= 10 ; i<= 70; i++) // this FOR loop will print a combination
of asterisk * and dash horizontally till the 70th column is
reached.
{
Gotoxy (I,4) ;
Printf (U );
Gotoxy (71,4) ;
**********************************************
Printf (u) ;
Gotoxy (i,7) ;
Printf(-) ;
Gotoxy (I,9) ;
Printf (-) ;
Gotoxy (i, ,11);
Printf (-);
Gotoxy (i,13);
Printf (-);
Gotoxy (69,16);
Print f ();
Gotoxy (71,16) ;
Printf ();
Gotoxy (i,16);
Printf ();

}
For (i = 5; i<= 15;i++) // This FOR loop will rint asterisk
* vertically till the 15th row is reached.
{
Gotoxy (10,i ) ;
Printf (yp);
Gotoxy (70,i ) ;
Printf (yp ) ;
}
For (i= 6;i<= 12; i++) //this FOR loop will print I sign
vertically till the 12th roe is reached.
{
Gotoxy (40,i);
Printf(I) ;
}
******************************************
Gotoxy (15,6);
Printf ([1] ENTER A RECORD) ;
Gotoxy (15,8);
Printf ([2] VIEW RECORDS) ;
Gotoxy (15,10);
Printf ([3] SEARCH RECORD) ;
Gotoxy (15,12);
Printf ([4] DELETE RECORD) ;
Gotoxy (43,6);
Printf ([5] CHANGE NAME) ;
Gotoxy (43,8);
Printf ([6] CHANGE ADDRESS) ;
Gotoxy (43,10);
Printf ([7] CHANGE CONNECTION TYPE) ;
Gotoxy (43,12);
Printf ([8] CHANGE PHONE NUMBER) ;
Gotoxy (37,14);
Printf ([9] EXIT) ;
Gotoxy (10,20);
Textcolor (LIGHTGRAY) ;
Cprintf ( PLEASE SELECT A CHOICE: ) ;
C = (getche()) ;
Switch ( c ) //This SWITCH structure will ask the user
for input from [1] to [9] and will display error on invalid entry.
{
Case 1 : break; // it will call the add()
function to allow user to add and save record.
Case 2 : view () ; break ; // it will call the view ()
funtionto allow user to view the saved record.
************************************
Case 3 : search( ) ; break; //it will call the search ()
function to allow user to search records .
Case 4 : del () ; break ; // it will call the delete ()
function to allow to delete a saved record.
Case 5 : c_name () ; break; //it will call the c_name
() function to allow user to modify name of a saved record .
Case 6 : c_add () ; break ; // it will call the c_add ()
function to allow user top modify address of a saved record.
Case 7 : c_ct () break ; // it will call the c_ct ()
function to allow user to modify connection type & date of a
saved record .
Case 8 : c_cp () ; break ; // it will call the c_cp ()
function to allow to modify phone number of a saved record.
Case 9 : gotoxy (30,24) ; printf(<<<< --THANK YOU -
>>>>) ; getch() ; exit (0); //it will terminate
the program.
Default :
Sound (500) ; delay (200) ; nosound () ; //nosound
turns the pc speaker off.
Gotoxy (26,24) ;
Puts(<<-- ENTER FROM 1-9 PLEASE -- >> ) ; //this message will
only print on INVALID ENTRY and will ask again for input .
Getch();

}
************************************************
} while (c ! = 9 ); // this while loop will continue till
the Exit option [9] is entered.
Return 0;
}
/**************************END OF MAIN
FUNCTION****/
Void add()
{ FILE * fp ;
Char ch ;
Char ch ;
Char temp [ NUM ] ;
If (fp! = NULL )
{
Do { fp = fopen ( customer.rec,ab) ;
Clrser () ;
Gotoxy (25,2) ;
Printf (<<==-- ADDING RECORD--==>> ) ;
Do {
Gotoxy (1,4) ;
Printf (enter [UNIQUE ] SIM ID: ) ;
Check_id (temp, NUM 0) ;
}while (duplicate (temp)) ; //this condition will keep on
executing till a non duplicate ID is entered.

**********************************************
Strcpy (rec.id, temp );
// After verifying , ID in temp will copy to rec.id
Gotoxy (1,6) ;
Printf (Enter MAME ; ) ;
Check_name (rec.name,MIN) ;
Check_name (rec.name, MIN) ; //it will verify that
no numerical input is given & the name input should not exceed
the length limit
Gotoxy (1,8) ;
Printf (Enter ADDRESS : ) ;
Check_add (rec.address, MAX); // It will verify that
only alpha numeric input is entered & should not exceed
the length limit
Gotxy (1,10 ) ;
Printf ( Enter PHONE NUMVER, PH);
Check_phone (rec.phone, PH) ; //It will verify
phone number of a particular length
Gotoxy (1,12) ;
Printf(enter CONNECTION TYPE: ) ;
Check_ct (&rec.connection ) ; //it will allow user
to select between STAR & JAZZ only
{
Struct date d ;
Getdate (&d) ;
Printf (DATE OF PURCHASE : %d %d %d , d.da_day,
d.da_mon, d.da_ year) ;
Rec.day = d.da_day;
Rec.month = d.da_mon ;
********************************************
**
Rec.year = d.da_year;
}
Window (1,1,80,25);
Gotoxy (1,12) ;
Fwrite (&rec,sizeof (rec), 1 , fp);
//Record will be written to file.
Fclose (fp) ;
Textbackground (LIGHTRED);
Gotoxy (20,24) ;

Printf(DO YOU WISH TO CONTINUE..[Y] /[N] : );


Ch=toupper (getche()) ;
} while (ch==y) ; //repeat loop while user
inputs y
}
Else
{
Gotoxy (20,24) ;
Printf (Unable To Open File) ;
}
}
/*******************************************
************************************************
I function : view()
I
I
I
I Purpose : to display all the records in the fole in a I
***************************************
I formatted output .
I
I
I
I Local Variavles :
I
I
I > file * fp : Decalres file pointer.
****************************************************
********************************************/
Void view ()
{
FILE * fp;
Fp = fopen ( customer .rec,rb) ;
If (fp!= NULL )
{
Clrscr () ;
While (fread (&rec , sizeof (rec) , 1, fp ))
If (strcmp (rec.id, ) != 0)
{
Clrscr ( ) ;
Gotoxy (28,2) ;
Printf(<<==-- VIEWING RECORDS--==>> ) ;
Gogoxy (3,5) ;
Printf (SIM ID : %s,rec.id) ;
Gotoxy (3,7) ;
Printf ( NAME: %s, rec.name) ;
888888888888888888888888888888888888888888888888888
88
Gotoxy (3,9) ;
Printf ( ADDRESS: %s, rec.address) ;
Gotoxy (3,11) ;
Printf ( PHONE NUMBER: %s, rec.phone
number) ;
Gotoxy (3,13) ;
Printf ( CONNECTION TYPE: %s, rec.connection
type) ;
If (rec.connection ==1)
{
Gotoxy (21, 13);
Printf(STAR);
}
Else
If(rec.connection ==2)
{
Gotoxy (21,13) ;
Printf(JAZZP) ;
}
Gotoxy (3,15) ;
Printf (DATE OF PURCHASE: %d %d -%d,
rec.day,rec.month,rec.year) ;
Getch () ;
}
If (strcmp (rec.id, ) ==NULL)
{
Clrscr () ;
Gotoxy (20,13) ;
Sound (500) ; delay (200) ; nosound () ;
Printf( <<== -- THERE ARE NO RECORDS TO
VIEW --==>>) ;
Getch () ;
888888888888888888888888888888888888888

}
Fclose (fp);
}
Else
{
gotoxy (20,24) ;
printf (Unable To Open File . . . ) ;
}
/************************ END OF VIEW
FUNCTION ****************/
Void search ()
{
Int ch ;
FILE *FP;
Char sno [ NUM] ;
Clrscr () ;
Fp = fopen (customer.rec , rb) ;
Gotoxy (20,13) ;
Printf ( PLEASE ENTER SIM ID ==->>>> ) ;
Check_id (sno,NUM);
While ( fread (&rec, sizeof (rec) , 1, fp ) &&
strcmp (sno,rec.id) ) ;
Ch = strcmp (sno, rec.id );
If (ch! =0)
{
Clrscr () ;
888888888888888888888888888888888888888888888888888
88

Sound (500) ; delay (200) ; nosound () ;


Gotoxy (28,13) ;
Printf(<<-- RECORD NOT FOUND -->>)
;
Getch ();
}
Else
{
Clrscr () ;
Gotoxy (28,2) ;
Printf (<< ==SEARCH SUCCESSFUL
==>>);
Gotoxy (3,5) ;
Printf (SIM ID : %s, rec.id);

Gotoxy (3,7) ;
Printf (NAME : %s, rec.name);

Gotoxy (3,9) ;
Printf (ADDRESS : %s, rec.address);

Gotoxy (3,11) ;
Printf (PHONE NUMBER : %s,
rec.phone );

Gotoxy (3,13) ;
Printf (CONNECTION TYPE : %s,
rec.conncetiion);
If (rce.connection ==1)
{
Gotoxy (21,13) ;
Printf (STAR ) ;
888888888888888888888888888888888888888888888888888
8888888
}
Else
If(rec.connection ==2)
Gotoxy (21,13) ;
Printf( JAZZ ) ;
}
Gotoxy (3,15) ;
printf (DATE OF PURCHASE : %d %d-%d,
re.day,rec.month, rec.year) ;
getch () ;
}
Fclose (fp) ;
}
/***********************8END OF SEARCH
FUNDTION *****************/
Void c_name ()
{
Int ch;
FILE *fp;
Char sno [NUM];
Clrscr ();
Fp=fopen (customer.rec,rb+) ;
Gotoxy (20,13);
Printf (PLEASE ENTER SIM ID ==->>>> );
Check_id(sno,NUM) ;
888888888888888888888888888888888888888888888888888
8888888888

While (fread(&rec, sizeof(rec),1, fp) && strcmp


(sno,rec.id));
Ch=strcmp (sno,rec.id) ;
If (ch!=0)
{
Clrscr() ;
Sound (500); delay (200); nosond();
Gotoxy (28,13);
Printf (<<--RECORD NOT FOUND-->>);
Getch();
}
Else
Clrscr () ;
Gotosy (28,4);
Printf(<<<--==RECORD FOUND==-->>>);
Gotoxy(3,8);
Printf (OLD NAME: %s,rec.name); //this will
print the old name already stored.
Gotoxy(3,12);
Printf (ENTER NAME : ); //This will allow
the user to change the old name and input a new name.
Check_name(rec.rname,MIN); //The check will
validate each character entered turn by turn.
Fseek (fp,ftell (fp) sizeof(rec,0);
888888888888888888888888888888888888888888888888888
8888888
Fwrite (&rec,sizeof (rec),1,fp); //The name will be
added to the record.
Gotoxy (34,24);
Printf(RECORD SAVED !!!);
Ggetch();
}
Fclose (fp);
}
/****************************8END OF CHAGE NAME
FUNCTION ***************/
Void c_add()
{
Int ch;
FILE *fp;
Char sno [NUM];
Clrscr();
Fpf=fopen (Customer.rec,rb+);
Gotoxy (20,13);
Printf (PLEASE ENTER SIM ID ==->>>> );
Check_id (sno,NUM);
While (fread(&rec,sizeofd(rec), 1, fp) && strcmp
(sno,rec.id) );
Ch=strcmp (sno,rec.id); //here the result after
comparing the values of the two strings by using the strcmp
function is assigned to ch.
888888888888888888888888888888888888888888888888888
8888888

If (ch!=0) //this loop will execute if the SIM IDs


dont compare.
{
clrscr();
sound (500); delay (200); nosound();
gotoxy (28,13);
printf(<<-- RECORD NOT FOUND-->>);
Getch();
}
Else //if the IDs match,then this block will
be executed.
{
Clrscr ();
Gotoxy (28,4);
Printf(<<<--==RECORD FOUND==-->>);
Gotoxy (3,8);
Printf(OLD ADDREDD : %s,rec,.address);
Gotoxy (3,12);
Printf(ENTER NEW ADDRESS: );
Check_add(rec.address,MAX);
Fseek (fp,ftell(fp) sizeof(rec),0) ; //fseek sets
the file pointer associated with a steam to a new position.
Fwrite (&rec, sizeof (rec),1,fp); //fwrite
appends a specified number of equal sized data items to an
output file.
Gotoxy (34,24);
Printf (RECORD SAVED !!!);
888888888888888888888888888888888888888888888888888
888888888

Getch();
}
Fclose(fp);
}
/********************END OF CHAGE ADDRESS
FUNCTION*****************//
Void c_ct()
{
Int
FILE *fp;
Char sno [NUM] ;
Clrscr ();
Fp=fopen (customer.rec,rb+);
Gotoxy (20,13);
Printf(20,13);
Printf(PLEASE ENTER SIM ID ==->>>> );
Check_id(sno,NUM);
888888888888888888888888888888888888888888888888888
8888888
While (fread (&rec, sizeof (rec),1,fp) &&
888888888888888888888888888888888888888888888888888
8888888
Ch=strcmp (sno,rec.id) ;
If (ch!=0)
{
Clrscr() ;
Sound (500); delay (200); nosond();
Gotoxy (28,13);
Printf (<<--RECORD NOT FOUND-->>);
Getch();
}
Else
Clrscr () ;
Gotosy (28,2);
Printf(<<<--==RECORD FOUND==-->>>);
Gotoxy(3,6);
Print f ( OLE DATE OF PURCHASE; %d %d %d , rec.day
rec.month, rec.year); //old date of purchase is
displayed.
{
Struct date d;
Getdate (&d );
Gotoxy (3,8) ;
Printf ( NEW DATE OF PURCHASE : %d %d %d ,
d.da_day ,d.da_mon,d.da_year);
//new date of purchase id stored.
Rec.day = d.da_day;
Rec.month = d.da_mon;
Rec.year = d.da_year;
}
888888888888888888888888888888888888888888888888888
8888888888
Gotosy (3,10);
Printf (OLD CNNECTION TYPE :%s,rec.connection );
//old type is displayed
If (rec.connection == 1)
Gotoxy (24,10) ;
Printf(STAR); //IF option stored in record is 1
them STAR will be displayed on sereen.
}
Else
If (rec.connection ==2)
Gotoxy (24,10);
Printf(JAZZ) //If option stored in record is 2
then JAZZ will be displayed on screen.
}
Print (NEW CONNECTIONTYPE: ); //new
connection type is asked for input.
Check_ct (rec.connection ); this check provides
choice to the user to select b/w STAR or JAZZ.
Fseek(fp,ftell (fp) sizeof (rec),0);
Fwrite (&rec,sizeof(rec) , 1, fp);
Window (1,1,80,25);
Gotoxy (1,12);
Gotoxy (1,12);
Gotoxy (35,24);
Printf(RECORD SAVED !!!);
8888888888888888888888888888888888888888888
888888
Getch();
}
Fclose(fp);
}
/***************END OF CHANE CONNECTION
TYPE FUNCTION *********** /
Void c_ph ()
{
Int ch;
FILE *FP;
Char sno [NUM] ;
Clrscr();
Gotoxy (20,13);
Printf ( PLEASE ENTER SIM ID ==- >>>> ) ;
Check_id (sno,NUM);
While (fread (&rec, sizeof (rec),1,fp ) && strcmp
(sno,rec.id));
Ch = strcmp (sno,rec.id);
If (ch!=0)
Clrscr () ;
Sound (500); selay (200) ; nosound ();
Gotoxy (28,13);
Printf (<< -- RECORD NOT FOUND -->> ) ;
888888888888888888888888888888888888888888888888888
88888
Getch();
}
Else
{
Clrscr();
Gotoxy (28,4);
Printf(<<<--==RECORD FOUND==-->>>);
Gotoxy (3,8);
Printf(OLD PHONE NUMBER: %s, rec.phone ); //old
phone number is asked by the user.
Check_phone (rec.phone,PH);
Fseek (fp,ftell(fp) sizeof(rec),0);]
Fwrite (&rec,sizeof (rec),1,fp);
Gotoxy (34,24);
Printf (RECORD SAVED !!! );
Getch();
}
Flclose (fp);
}
/************** END OF CHANGE PHONE NUMBER
FUNCTIN ***********/
Void del()
888888888888888888888888888888888888888888
{
Int ch;
FILE *fp;
Char sno[NUM] ;
Clrscr();
Fp= fopen (customer.rec, rb+);
Gotoxy (20,13) ;
Printf ( PLEASE ENTER SIM ID ==->>>> );
Check_id (sno,rec.id) );
Ch=strcmp (sno,rec.id);
If (ch!=0)
{
Clrscr ();
Sound (500) ;delay (200); nosound();
Gotoxy (28,13);
Printf( <<-- RECORD NOT FOUND -->>);
Getch();
}
Else // here the saved record is displayed .
{
Clrscr () ;
Gotoxy (28,2);
Printf (<<== SEARCH SUCCESSFUL ==>>);
Gotoxy (3,5);
Printf(SIM ID : %s , rec.id);
88888888888888888888888888888888888888888888888
Gotoxy (3,57);
Printf(NAME : %s , rec.name);

Gotoxy (3,9);
Printf(ADDRESS : %s , rec.address);

Gotoxy (3,11);
Printf(PHONE NUMBER : %s , rec.phone number);

Gotoxy (3,13);
Printf(CONNECTION TYPE : %s , rec.connection );
If (rec.connection ==1)
{
Gotoxy (21,13);
Printf(STAR);
}
Else
If(rec.connection ==2)
{
Gotoxy (3,15);
Printf(DATE OF PURCHASE : %d -%d-%d, rec.day
,rec.month,rec.year);
Gotoxy (26,24);
Printf(PRESS ANY KEY TO DELETE RECORD);
Getch();
8888888888888888888888888888888888888888888888
Empty (); //this is a function which will erase the
record in memory & not physically.
Fseek (fp, ftell (fp) sizeof(rec),0);
Fwrite (&rec,sizeof(rec),1,fp);
Clrscr();
Sound(500);delay (200);nosound();
Gotoxy (33,13);
Printf(RECORD DELETED !!!);
Getch();
}
Fclose(fp);
}
/*****************END OF ELELTE FUNCTION ********/
Void check _id (char *p, int size )
{
Int i=0;
Char ch;
Do
{
Ch=getch();
If (ch>=0 && ch<=9 && (i<size-1))
{
888888888888888888888888888888888888888888888888888
88

*p=ch; //the value is assigned to the pointer.


P++; // pointer is incremented .
I++; //length counter is incremented .
Printf (%c,ch ); // validated character is printed.
}
Else //this block of commands controls
backspace.
If (ch==8 && i>0)
{
Printf(%c%c%c, 8,32,8);
i--; //length counter is decremented.
p--; //pointer is decremented.
}
}while (ch!=13 i<size-1); //this loop will
continue till the total given length is reached or ENTER is
pressed.
*p=\0;
}
Void check-phone (char *ph, int size )
{
Int P=0;
Char s[20],ch;
Do
88888888888888888888888888888888888888888888888
{
Ch= getch();
If ((( ch=0 && ch<=9) (ch==-)) && (p<size-1))
{
*ph= ch;
Ph++;
P++;
Printf(%c,ch)
}
Else
If (( ch==8) && (p<0))
{
printf (%c%c%c,8,32,8);
p--;
ph--;
}
}while (ch!=13 p<size-1);
S[p] = \0;
*ph=\0;
}
Void check_name (char *p, int size )
{
Int j=0;
Char x[40],cj;
Do
{
88888888888888888888888888888888888
Cj=toupper (getch());
If (((cj>=a && cj<=z) (cj>=A && cj<=Z ) (cj==
)) && (j<size-1))
*p++=cj;
J++;
Printf (%c,cj);
}
Else
If (cj++ && j>0)
{
printf(%c%c%c,8,32,8);
j--; p--;
}
X[ j ]=\0;
*p=\0;
}
Void check_add (char *p, int size )
{
Int 1=0;
Char a [50], ad;
Do
{
Ad = toupper (getch());
8888888888888888888888888888888888888888888
88888888

If ((( ad=a && ad<z ) ad>= A && ad<=Z) ad==


) (ad==,) ad==.) (ad>=0 && ad<9)) && (1<size-1))
{
*p++ = ad;
1++;
Printf (%c,ad);
}
Else
If ((ad==8) &7 (1>0))
{
printf ( %c %c %c , 8,32, 8);
1--; p--;
}
} while (ad!= 13);
A[1] \0; *p=\0 ;
}
Void check_ct(int *p)
{
Int ab =1;
Char ch;
Int aa;
Window (24,18,51,24);
Textbackground (BLACK);
Clrscr();
Window (25,19,50,23);
Textbackground(WHITE) ;
Textcolor (BLACK);
8888888888888888888888888888888888888888888
888888888

Clrscr ();
Gotoxy (11,2);
Printf (STAR);
Gotoxy (11,4);
Printf(JAZZ);
Do {
Ch= getch();
{
Ch= getch();
If (ch==72)
{
Ab=ab-1;
}
Else if ch==80)
{
Ab==ab+1;
}
}
If (ab<1)
{
Ab=1;
}
Else
If (ab==1)
{
Window( 1,1,80,25);
Window (3,22,40,22);
8888888888888888888888888888888888888888888
888
Textbackground(WHITE);
Textxolor (BLACK);
Clrscr();
Printf(JAZZ);
Window(1,1,80,25);
Window(35,20,41,20);
Textcolor (RED);
Clrscr();
Prontf(STAR);
Aa=1;
Window(1,1,80,25);
}
Else if (ab==2)
{
window (1,1,80,25);
window (35,20,41,20);
textbackground(WHITE);
textcolor(BLACK);
clrscr();
printf (STAR);
window (1,1,80,25);
window (35,22,40,22);
textcolor (RED);
Clrscr();
Aa=2;
Printf(JAZZ);
Womdpw (1,1,80,25);
}
If (ab>2)
{
Ab=2;
8888888888888888888888888888888888888888888
888888888
}
}while (ch ! =13);
If(aa==1)
{
Gotoxy (24,12);
Printf(STAR);
*p=1;
}
Else
If (aa=2)
{
Gotoxy (24,12);
Printf(JAZZ);
*p=2;
}
Getch();
Window (24,18,51,24);
Testbackground(LIGHTRED);
Testcolor(LIGHTGRAY);
Clrscr();
}
Void empty ()
{
Strcpy (rec.id, );
Strcpy (rec.name, );
Strcpy (rec.address, );
Strcpy(rec.phone, );
Rec.day=0;
888888888888888888888888888888888888888888
Rec.montyh=0;
Rec.year=0;
}
Int duplicate(char idno[])
{
FILE *fp;
Fp=fopen (customer.rec,rb);
While (fread (&rec,sizeof (rec),1,fp) && strcmp
(rec.id,idno));
Fclose (fp);
If (strcmp (rec.id,inno)==0)
Return 1;
Else
Return 0;
}
/
222222222222222222222222222222222222222222*****
***********************************************
*22********************************* END OF
PROJECT
****************************************22*****
***********************************************
*******2222222222222222222222222222222222222222
222222222222222*/

S-ar putea să vă placă și