1.前导程序

//一个菜单程序
#include<stdio.h>
char get_choice(void);
char get_first(void);
int get_int(void);
void count(void);
int main(void)
{
    int choice;
    void count(void);

    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 an integer:\n");
    n=get_int();
    for(i=1;i<=n;i++)
        printf("%d\n",i);
    while(getchar()!='\n')
        continue;
}

char get_choice(void)
{
    int ch;
    printf("Enter the letter your choice:\n");
    printf("a.advice            b.bell\n");
    printf("c.count             q.quit\n");
    ch=get_first();
    while((ch<'a'||ch>'c')&&ch!='q')
    {
        printf("please respond with a,b,c,or 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);//剔除错误的输入
        printf("is not an integer.\n");
        printf("please enter an integer value,such as 25,-178,or 3:");
    }
    return input;
}
View Code

相关文章: