《c.primer.plus 5th 》 P208页 菜单浏览

转载 2012年03月21日 19:51:12
/* menuette.c -- menu techniques */
#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');  /* ANSI */
                        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 of 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);  // dispose of bad input
        printf(" is not an integer.\nPlease enter an ");
        printf("integer value, such as 25, -178, or 3: ");
    }
    
    return input;
}

C++ Primer, 5th Edition Exercise CH1

Exercise 1.3: Write a program to print Hello, World on the standard output. #include int main() ...
  • LuoJinsheng
  • LuoJinsheng
  • 2014年02月27日 00:11
  • 2965

Solution for Exercise 4.33 of C++ Primer 5th Edition.

Explain the following expression: someValue ? ++x, ++y : --x, --y; I was stuck by this expression ...
  • alexem58
  • alexem58
  • 2014年10月28日 21:01
  • 309

第一遍C++Primer5th读完感

开学后看了两周的小说后,不安心整天上那些无聊的课,网上买了C++Primer第五版及习题集,2016年9月18号开始了C++的学习。 之前基础仅大一C语言课、大二软件基础课以及单片机中的一些C语言编...
  • PIPIXIU
  • PIPIXIU
  • 2016年12月22日 12:42
  • 608

计算机经典书籍 - 关键就在"经典"二字

我收集的 "计算机基础理论, C/C++, Windows开发" 方面的经典中的经典书籍.../CLASSICBOOK│  ├─01.Fundamental│  ├─01.Programming.La...
  • smartgotodo
  • smartgotodo
  • 2010年02月28日 21:49
  • 1459

学习Programming Windows,Fifth Edition

     早在很多年前我读本科的时候,我就开始看这本书,一直看到现在,始终没有看完。     这次,我再一次下定决心要把这本书看完。做这个决定之前也曾犹豫,到底这么底层的,好像过时的东西,还有必要学吗...
  • ZengXianLiang
  • ZengXianLiang
  • 2010年12月14日 11:10
  • 150

iphone,ipad各个版本的跑分,iphone7,iphone 8 pluse,ipad Pro,iphone4,iphone4s,ipad, iphone 6,iphone 6s,

https://browser.primatelabs.com/ios-benchmarks Device Score   iPhone...
  • Rodulf
  • Rodulf
  • 2016年11月05日 19:24
  • 880

开始翻译新书《PHP5 Objects, Patterns, and Practice》

实际上这篇Blog迟到了呵呵,在完成《Programming PHP》 第二版的翻译后,我又开始了新书《PHP 5 Objects, Patterns, and Practice》的翻译。还是和电子工...
  • Haohappy2004
  • Haohappy2004
  • 2007年01月23日 08:54
  • 5790

C++ Primer, 5th Edition Exercise CH2

Exercise 2.1: What are the differences between int, long, long long,and short? Between an unsigned a...
  • LuoJinsheng
  • LuoJinsheng
  • 2014年03月01日 01:04
  • 4355

Java电子书大搜集2

Absolute Java.pdf: http://www.t00y.com/file/31170416 Addison.Wesley.Absolute.Java.5th.Edition.2012....
  • Cloud_Strife_1985
  • Cloud_Strife_1985
  • 2013年10月03日 20:35
  • 1494

phpcms-v9中首页、频道页、列表页如何显示文章的浏览量和评论数

1.列表页获取数据的方法: {pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page" mor...
  • vailook
  • vailook
  • 2017年01月11日 14:30
  • 1664
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《c.primer.plus 5th 》 P208页 菜单浏览
举报原因:
原因补充:

(最多只允许输入30个字)