home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C Programming Starter Kit 2.0
/
SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso
/
tyc
/
list14_7.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-16
|
2KB
|
94 lines
/* Demonstrates a function key driven menu. */
#include <stdio.h>
#include <conio.h>
#include <time.h>
int fnc_key(void);
int menu(void);
main()
{
/* Set up infinite loop. */
while (1)
{
/* Switch based on return value of menu(). */
switch (menu())
{
case _KB_F1:
puts("Task 1");
break;
case _KB_F2:
puts("Task 2");
break;
case _KB_F3:
puts("Task 3");
break;
case _KB_F4:
puts("Task 4");
break;
case _KB_F5:
puts("Task 5");
break;
case _KB_F6:
puts("Task 6");
break;
case _KB_F7:
puts("Task 7");
break;
case _KB_F8:
puts("Task 8");
break;
case _KB_F9:
puts("Task 9");
break;
case _KB_F10:
puts("Exiting program...");
exit(0);
}
}
}
int menu(void)
{
/* Display menu choices. */
puts("\nF1 -> task 1");
puts("F2 -> task 2");
puts("F3 -> task 3");
puts("F4 -> task 4");
puts("F5 -> task 5");
puts("F6 -> task 6");
puts("F7 -> task 7");
puts("F8 -> task 8");
puts("F9 -> task 9");
puts("F10 -> exit\n");
/* Get a function key press. */
return (fnc_key());
}
int fnc_key(void)
{
int ch;
while (1)
{
/* Wait until a zero byte comes in. */
while ((ch = getch()) != 0)
;
/* Get the next character. */
ch = getch();
/* Is it a function key? */
if ( ch >= _KB_F1 && ch <= _KB_F10 )
return ch;
}
}