Δημοσιεύτηκε: 14 Μαρ 2012, 17:22
Βασικά το πιο ευανάγνωστο (και συνηθισμένο) πάει κάπως έτσι...
Εναλλακτικά μπορεί να γίνει με switch...
Την do_option() την όρισα bool (αντί π.χ. για void) σε περίπτωση που χρειάζεται να ξέρει η main() αν απέτυχε ή όχι.
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
...
#define VALID_OPTION(opt) ( (opt) > 0 && (opt) < 4 )
...
bool do_option( int ch )
{
if ( !VALID_OPTION(ch) ) {
puts( "Invalid option" );
return false;
}
if ( 1 == ch )
do_1( ... );
else if ( 2 == ch )
do_2( ... );
else /* 3 == ch */
do_3(...);
return true;
}
int main( void )
{
...
ch = get_option();
do_option(ch);
...
return 0;
}
Εναλλακτικά μπορεί να γίνει με switch...
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
bool do_option( int ch )
{
switch ( ch )
{
case 1:
do_1( ... );
break;
case 2:
do_1( ... );
break;
case 3:
do_3( ... );
break;
default:
puts( "Invalid option" );
return false;
}
return true;
}
Την do_option() την όρισα bool (αντί π.χ. για void) σε περίπτωση που χρειάζεται να ξέρει η main() αν απέτυχε ή όχι.