C PRIMER PLUS 第六版 第八章 程序清单8.8
我这个代码和书上运行的结果不一样 不知道哪里错了,谁能帮忙解答下
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
char get_first(void);
char get_second(void);
void count(void);
int get_three(void);
int main(void)
{
int ch;
while ((ch = get_first()) != 'q');
{
switch (ch)
{
case 'a': printf("buy low****high\n");
break;
case 'b': putchar('\a');
break;
case 'c': count();
break;
default: printf("programe error\n");
break;
}
}
return 0;
}
char get_first(void)
{
int ch;
printf("enter your choice\n");
printf("a.advice b.bell\n");
printf("c.count d.quit\n");
ch = get_second();
while ((ch<'a' || ch>'c') && ch != 'q')
{
printf("please responds with a b c\n");
ch = get_second();
}
return ch;
}
char get_second(void)
{
int ch;
ch = getchar();
while (getchar() != '\n')
continue;
return ch;
}
void count(void)
{
int i, n;
printf("count how far?\n");
n = get_three();
for (i = 1; 1 <= n; i++)
printf("%d\n", i);
while (getchar() != '\n')
continue;
}
int get_three(void)
{
int num;
char ch;
while (scanf("%d", &num) != 1)
{
while ((ch = getchar()) != '\n')
putchar(ch);
printf("这不是整数 重新输入\n");
}
return num;
}