广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 4667 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
BXGZ 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x7
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++] [C++]字串疑问...
请问大大C++这种执行结果为什么会这样?
是否有写错呢? 不是会可以输入帐号吗~~~??不解中...

使用编译器
Dev-C++

执行结果
请输入汇款金额:50
请输入对方的帐号:你已将 50 元汇至 的帐户中

请按任意键继续 . . .


#include <iostream>
..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



献花 x0 回到顶端 [楼 主] From:台湾数位联合 | Posted:2006-05-17 01:09 |
stanely
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x1
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

是不是因为你输入完金额后按Enter确定,结果cin只把数值收进来,\n(换行)仍留在input stream中,
等你要让使用者输入帐号后\n(换行)就直接被取出来了,所以你无法输入帐号就直接跳过了.
去检查一下cin.getline()的用法吧.


献花 x0 回到顶端 [1 楼] From:台湾中华电信 | Posted:2006-05-17 13:10 |
crazyjuice
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x3
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

#include <iostream>
using namespace std;

int main()
{
  int blance=600;
  int y;
  char x[10];

  cout<<"请输入汇款金额:";
  cin>>y;
  cin.ignore(); //忽略前一输入字元enter;
  cout<<"请输入对方的帐号:";
  cin.getline(x,10); //是读取键盘输入资料包含空白,真到输入enter键为止
 
  if(y<=blance) {
  blance-=y;
  cout<<"你已将 "<<y<<" 元汇至 "<<x<<" 的帐户中\n\n"; }
  else
  cout<<"余额不足,汇款失败!\n"<<endl;
system("pause");
return 0;
}

cin.getline(x,10); //是读取键盘输入资料包含空白,真到输入enter键为止,因为之前 cin>>y;已经有按一次Enter了,所以加入cin.ignore();让他忽略前一输入字元Enter。


献花 x0 回到顶端 [2 楼] From:台湾教育部 | Posted:2006-05-21 01:47 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.050763 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言