搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 写了一个打分的程序,定义 float a[10],从键盘上输入分值,要求分值在 0~10 分之间。但是如果输入的是数字之外的字符,系统就会崩掉,这个该怎么处理?
标题:
写了一个打分的程序,定义 float a[10],从键盘上输入分值,要求分值在 0~1 ...
只看楼主
babyd
等 级:
新手上路
帖 子:3
专家分:0
注 册:2014-5-17
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:8
写了一个打分的程序,定义 float a[10],从键盘上输入分值,要求分值在 0~10 分之间。但是如果输入的是数字之外的字符,系统就会崩掉,这个该怎么处理?
写了一个打分的程序,定义float a[10],从键盘上输入分值,要求分值在0~10分之间。但是如果输入的是数字之外的字符,系统就会崩掉,这个该怎么处理????求帮助~~~~
搜索更多相关主题的帖子:
键盘
2014-06-10 23:54
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
2
楼
得分:5
但是如果输入的是数字之外的字符,系统就会崩掉,这个该怎么处理?
------ 你是想实现“如果输入的是数字之外的字符,系统就会崩掉”这个功能?
还是想解决掉“如果输入的是数字之外的字符,系统就会崩掉”这个bug?
如果是后者,那说明你的代码有问题。既然是代码的问题,你不贴代码,神仙也猜不出来。
2014-06-11 08:19
律吕调阳
等 级:
论坛游民
威 望:
2
帖 子:16
专家分:93
注 册:2014-6-9
第
3
楼
得分:5
scanf("%*c%*[^\n]");
2014-06-11 09:33
babyd
等 级:
新手上路
帖 子:3
专家分:0
注 册:2014-5-17
第
4
楼
得分:0
回复 2 楼 rjsp
我是想解决这个Bug,这是循环打分的代码,有判断的部分,我想知道该怎么改才能解决这问题
float a[10];
for (int i = 0; i < 10; i++)
{
cout << "第" << i + 1 << "项:";
cin >> a[i];
for (; a[i] < 0 || a[i]>10;){
cout << "不符合打分要求,请重新打分:";
cin >> a[i];
}
}
2014-06-11 15:05
yangfrancis
等 级:
贵宾
威 望:
141
帖 子:1510
专家分:7661
注 册:2014-5-19
第
5
楼
得分:5
for(;a[i]<0||a[i]>10;)改成while(a[i]<0||a[i]>10)看能不能解决
2014-06-11 15:15
yangfrancis
等 级:
贵宾
威 望:
141
帖 子:1510
专家分:7661
注 册:2014-5-19
第
6
楼
得分:0
如果不能解决,试一下for(;a[i]<0||a[i]>10;)改成while((float)a[i]<0||(float)a[i]>10)看它招不招。
2014-06-11 15:37
i80286
等 级:
侠之大者
威 望:
5
帖 子:99
专家分:428
注 册:2013-9-30
第
7
楼
得分:5
for (; a[i] < 0 || a[i]>10 || !cin;)
{
cin.clear();
cin.sync();
cout << "不符合打分要求,请重新打分:";
cin >> a[i];
}
2014-06-11 15:50
babyd
等 级:
新手上路
帖 子:3
专家分:0
注 册:2014-5-17
第
8
楼
得分:0
回复 6 楼 yangfrancis
不行啊,解决不了,它会一直输出cout的那句话
2014-06-11 17:04
律吕调阳
等 级:
论坛游民
威 望:
2
帖 子:16
专家分:93
注 册:2014-6-9
第
9
楼
得分:0
#include <iostream>
using namespace std;
int main()
{
int i = 0;
float a[3];
while (1)
{
if (cin >> a[i])
{
if (a[i] >= 0.0&&a[i] <= 10.0)
i++;
if (i>=3)
break;
continue;
}
cin.clear();
cin.sync();
continue;
}
for (int i = 0; i<3; i++)
cout << a[i] << endl;
system("pause");
return 0;
}
试试看行不行
2014-06-11 19:09
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-432769-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.118505 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved