廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 4650 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.049714 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言