微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用scanf()读取菜单和十进制值以及浮点数的选项

#include <stdio.h>

#define QUIT 4

int get_menu_choice( void )
{
    int selection = 0;

    do
    {
        puts( \n1 - Get a signed decimal integer );
        puts( 2 - Get a decimal floating-point number );
        puts( 3 - Get an unsigned decimal integer );
        puts( 4 - Quit );
        puts( \nEnter a selection: );

        scanf( %d, &selection );

     }while ( selection < 1 || selection > 4 );

     return selection;
}

int main( void )
{
    int   choice    = 0;
    int   int_var   = 0;
    float float_var = 0.0;
    unsigned unsigned_var = 0;

    while (choice != QUIT)
    {
        choice = get_menu_choice();

        if (choice == 1)
        {
            puts(\nEnter a signed decimal integer (i.e. -123));
            scanf(%d, &int_var);
        }
        if (choice == 2)
        {
            puts(\nEnter a decimal floating-point number\
                  (e.g. 1.23));
            scanf(%f, &float_var);
        }
        if (choice == 3)
        {
             puts(\nEnter an unsigned decimal integer \
                 (e.g. 123) );
             scanf( %u, &unsigned_var );
         }
    }
    printf(\nYour values are: int: %d  float: %f  unsigned: %u \n,
                               int_var, float_var, unsigned_var );

   return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐