| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1384 人关注过本帖
标题:cin.get(),这里
只看楼主 加入收藏
猫妓
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-2-11
收藏
 问题点数:0 回复次数:5 
cin.get(),这里

在计算一个表达式的值的程序里: 读入一个完整的数字用到了 char c = cin.peek(); while(isdigit(c)) { result = 10 * result + c - '0';

cin.get();

c= cin.peek(); } 这里的 cin.get();c=cin.peek(); (这里两行) 可以直接用cin >> c; 或者:c=getchar(); 或者:cin.get(c); 一行就代替吗??

搜索更多相关主题的帖子: get cin peek result 数字 
2005-02-17 04:02
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
我觉得是可以的

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-02-17 14:21
猫妓
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-2-11
收藏
得分:0 

不能改~ #include <iostream> #include <cctype>

using namespace std;

int term_value(); int factor_value();

/** Evaluates the next expression found in cin @return the value of the expression. */ int expression_value() { int result = term_value(); bool more = true; while (more) { char op = cin.peek(); if (op == '+' || op == '-') { cin.get(); int value = term_value(); if (op == '+') result = result + value; else result = result - value; } else more = false; } return result; }

/** Evaluates the next term found in cin @return the value of the term. */ int term_value() { int result = factor_value(); bool more = true; while (more) { char op = cin.peek(); if (op == '*' || op == '/') { cin.get(); int value = factor_value(); if (op == '*') result = result * value; else result = result / value; } else more = false; } return result; }

/** Evaluates the next factor found in cin @return the value of the factor. */ int factor_value() { int result = 0; char c = cin.peek(); if (c == '(') { cin.get(); result = expression_value(); cin.get(); // read ")" } else // assemble number value from digits { while (isdigit(c)) { result = 10 * result + c - '0'; cin.get(); c = cin.peek(); //这是改了以后(1+2*3/6 答案2会变成11,但不知为什么) } } return result; }

int main() { cout << "Enter an expression: "; cout << expression_value() << "\n"; system("pause"); return 0; }


2005-02-18 03:42
猫妓
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-2-11
收藏
得分:0 
求人呀~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2005-02-19 03:32
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
cin.peek(); //查找下一个输入后缓冲里面的字符
2005-02-19 10:26
猫妓
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-2-11
收藏
得分:0 
不懂~

另外~ 为什么 会有上面的不同

2005-02-20 03:41
快速回复:cin.get(),这里
数据加载中...
 
   



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

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