Slot 13
Programming With Menu
A review for C-Functions
Pointers are parameters of functions
Using some C++ characteristics
Why is Menu?
• Generally, a program performs some
operations and at a time only one task is
carried out. ➔ A menu is usually used.
➔ How are menus implemented in C
program?
Programming with Menus 2
Idea
• Common Algorithm in the entry point:
int userChoice;
do
{ userChoice= getUserChoice();
switch (userChoice)
{ case 1: function1(); break;
case 2: function2(); break;
case 3: function3(); break;
}
}
while (userChoice >0 && userChoice<maxChoice);
Programming with Menus 3
Problem
• Write a C program using the following menu:
1- Operation 1
2- Operation 2
Others- Quit
• If user chooses 1, user will input 2 integers, the
program will print out sum of integers between them
including them.
• If user chooses 2, user will input 2 characters, the
program will print out the ASCII table between two
inputted characters in ascending order.
• If user chooses other options, the program will
terminate.
Programming with Menus 4
Implementation: menuDemo1.c
Programming with Menus 5
Implementation: menuDemo1.c
Programming with Menus 6
Implementation: menuDemo1.c
Programming with Menus 7
Implementation: menuDemo1.c
Programming with Menus 8
Functions with pointers as parameters
• C uses by-value parameters only → A
function can not modify values of arguments.
• To modify values of arguments, pointers as
parameters of a function are used.
Programming with Menus 9
Pointers as parameters: Demo
1000 x=9.08
main
992 y=-12.34
p1: 9.08
p2: -12.34 swapDouble2
t
Programming with Menus 10
Pointers as parameters: Demo
1000 x=9.08
main
992 y=-12.34
p1: 1000
p2: 992 swapDouble
t
swapDouble(&x, &y);
Programming with Menus 11
Introduction to C++
• C++ is an Object-Oriented Language
• It is developed from the C language and the language
C is contained in C++ language
• The programming tool Dev-C++ supports both C and
C++ source codes
• File extension of a C++ source code is .cpp
• We can use some C++ characteristics to develop
programs more easily, such as:
– References in C++ can be used as a replacement of
pointers in function parameters
– The new and delete operators to allocate/de-allocate
dynamic data instead of C functions malloc, calloc, free
– Utilities about variable declarations, comments
Programming with Menus 12
C++: References
• A way to give another name of a datum
// Comment to the line end
Both n1 and n2 are stored in only one memory block
→ n2 is the another name of n1
Programming with Menus 13
Function Parameters
You want Use
Code of function can Passing by value (characteristic of C)
not modify arguments
Pointers, addresses of arguments
cannot be modified but values in it
Code of function can can be modified by the operator ->
modify arguments References of C++, names of
arguments are passed to function
Programming with Menus 14
Passing Arguments
Programming with Menus 15
Passing
References
to Function
You can declare a local
variable in the statement for
Programming with Menus 16