<span style="font-size:18px;">#include <stdio.h>
#include <stdlib.h>
char get_choice(void);
char get_first(void);
int get_int(void);
void count(void);
int main(void)
{
int choice;
while((choice = get_choice())!='q')
{
switch(choice)
{
case 'a':
printf("Buy low,sell high.\n");
break;
case 'b':
putchar('\a');
break;
case 'c':
count();
break;
default:
printf("Program error!\n");
break;
}
}
printf("Bye!\n");
return 0;
}
void count (void)
{
int n,i;
printf("Count how far ? Enter integer:\n");
n = get_int();
for( i = 0; i < n ; i++)
{
printf("%d\n",i);
}
while(getchar()!='\n')
continue;
}
char get_choice(void)
{
int ch;
printf("Enter the letter of your choice:\n");
printf("a.advice b.bell\n");
printf("c.count d.quit\n");
ch = get_first();
while(((ch < 'a')||ch >'c') && ch != 'q')
{
printf("Please respond with a,b,c,d,and q.\n");
ch = get_first();
}
return ch;
}
char get_first(void)
{
int ch;
ch = getchar();
while(getchar() != '\n')
continue;
return ch;
}
int get_int(void)
{
int input;
char ch;
while(scanf("%d",&input) != 1)
{
while((ch = getchar())!='\n')
putchar(ch);<span style="white-space:pre"> </span>/* 剔除错误的输入 */
printf(" is not an integer.\n Please enter an integer value,such as 25,-178,or 3:");
}
return input;
}
</span>