九维网交流论坛 - 精品网页游戏交流平台

标题: 请教个问题,C++的 [打印本页]

作者: Oo皮皮鲁oO    时间: 2010-8-22 12:26:29     标题: 请教个问题,C++的

#include using namespace std;int main(){    unsigned int val_=1,sum=0,val=0;    start:     cout    cin>>val;     if (val!=0)     {    while(val_    {    sum+=val_;    cout    val_++;     }    }    else     {cout      goto start;     }     system("pause");    return 0; } 如果输入数字可以正常输出,输入字母就会出错,请大大们帮忙修改
作者: purplemath    时间: 2010-8-22 12:37:27

goto...

很不好的编程习惯啊,这又不是老式BASIC输入字母肯定会出错,因为你的变量定义为整型的。所以建议你把变量定义为字符串,然后输入后解析字符串,如果不是整数,则重新输入,如果是整数,则把解析后的整数赋值给真正的整数变量
作者: kerihac    时间: 2010-8-22 13:10:53

原创由 purplemath 于 2010-08-22 12:37:27 发表
goto...

很不好的编程习惯啊,这又不是老式BASIC
输入字母肯定会出错,因为你的变量定义为整型的。所以建议你把变量定义为字符串,然后输入后解析字符串,如果不是整数,则重新输入,如果是整数,则把解析后的整数赋值给真正的整数变量。。。c++是强类型语言。。
作者: kerihac    时间: 2010-8-22 13:35:05

cin发现不符合定义类型时是不会执行的,好像与编译器也有关。
作者: kerihac    时间: 2010-8-22 13:35:48

C语言中,字符常量被当作整数,而C++语言中不是,字符常量就当作字符。
作者: purplemath    时间: 2010-8-22 14:06:26

原创由 kerihac 于 2010-08-22 13:10:53 发表
原创由 purplemath 于 2010-08-22 12:37:27 发表
goto...

很不好的编程习惯啊,这又不是老式BASIC
输入字母肯定会出错,因为你的变量定义为整型的。所以建议你把变量定义为字符串,然后输入后解析字符串,如果不是整数,则重新输入,如果是整数,则把解析后的整数赋值给真正的整数变量。。。c++是强类型语言。。和我说的有矛盾吗?
作者: 我才是老杨    时间: 2010-8-22 15:07:59



不懂的人飘过
作者: 傲决九霄    时间: 2010-8-23 23:17:15

路过此地




欢迎光临 九维网交流论坛 - 精品网页游戏交流平台 (http://bbs.9wee.com/) Powered by Discuz! X2