| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖
标题:输入选择问题
只看楼主 加入收藏
威神
Rank: 2
等 级:论坛游民
帖 子:18
专家分:14
注 册:2010-12-11
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:7 
输入选择问题
printf("****************************************************************\n");
printf("Enter the number corresponding to the desired pay rete or action\n");
printf("1) $8.75/h                       2) $9.33/h                  \n");
printf("3) $10.0/h                       4) $11.20/h                 \n");
printf("5) Quit                                                         \n");
printf("****************************************************************\n");
请问用什么输入以及怎样判断是否输入合法(输入1--5),不合法则重复输入?
    输入了字母也是不合法。

我只会判断输入数字是否合法,当输入字母时出现死循环

这个程序要求重复输入、输出

[ 本帖最后由 威神 于 2010-12-27 12:19 编辑 ]
2010-12-26 20:52
zhaoya881010
Rank: 9Rank: 9Rank: 9
来 自:芒砀古郡
等 级:蜘蛛侠
威 望:1
帖 子:339
专家分:1177
注 册:2010-11-21
收藏
得分:2 
这不是输入啊 这是输出你输入怎么写的

Go Go Go
2010-12-26 21:11
cacker
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-26 21:35
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-26 21:36
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:2 
while(scanf("")&&n > 1&& n < 5)

这个怎么样?
2010-12-27 20:57
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
程序代码:
#include<stdio.h>
#include<conio.h>
int main()
{
    int s;
    while (true)
    {
        scanf(" %d",&s);
        if (s>0&&s<6)
            break;
        else
            printf("输入不合法,请重新输入!\n");
    }
    return 0;
}

                                         
===========深入<----------------->浅出============
2010-12-27 21:03
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
如果输入是字母  scanf  知道了输入字母会与类型不匹配
就会一直丢弃   就死循环了
程序代码:
#include<stdio.h>
#include<conio.h>
int main()
{
    char s=0;
    while (true)
    {
        s=getchar();
        if (s>48&&s<54)
            break;
        else
            printf("输入不合法,请重新输入!\n");
    }
    return 0;
}
这个  虽然会输出两个 不合法   因为你输入数据会输入回车  
但是这总比死循环强

                                         
===========深入<----------------->浅出============
2010-12-27 21:12
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:2 
char str[4096];
while (gets(str))
{
    if (strlen(str) > 1 || str[0] < '1' || str[0] > '5')
        puts("请输入xxxxx");
    else
        break;
}

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-12-28 16:07
快速回复:输入选择问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017082 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved