關於連續用cin時無法進行輸入的問題

2021-10-04 03:57:33 字數 594 閱讀 9584

出現的原因:

cin >> number;通常情況會進行輸入讀取乙個數值,前提是cin正常。如果cin被核定為false,則cin就不會被執行啦。

上述例子中,因為我們在輸入一串數字時,輸入了結束符進行退出,所以cin已經被核定為false了,所以下邊的cin>>number無法正常執行輸入操作。

解決方法:

我們要對cin進行恢復,使其恢復正常狀態。使用cin.clear()和cin.sync()可以恢復正確狀態

補充:

cin被核定為false的情況:(1)遇到結束符:(2)無效輸人

通過對上述cin進行恢復如下,一切執行正常:

// 恢復cin正常狀態,兩個一起使用

cin.

sync()

;//清除緩衝區

cin.

clear()

;//清除錯誤狀態

在今天的鍊錶輸入測試中就遇到了這種無法輸入的情況,

記得出現的原因是上一次輸入的回車將cin核定為false,

需要對其狀態進行重置。

關於連續列印套打憑證時,垂直方向錯位的解決辦法!

以票據的真實長是23.9cm 高是5cm為例 1.印表機各屬性按票據的真實長 高設定。2.測量每張票垂直方向上的偏移量 如第一張票位置正確,以後每打一張票都會向上遞增偏移0.4cm,此值每種印表機會稍有不同,根據實際情況調整 3.如實際列印的效果,每張票的資料向上移,則畫報表時,將報表票據的寬調整為...

關於連續定義的幾個變數的位址連續問題

如下 includeusing namespace std void main 以上 就是列印出三個變數的位址 是在棧中分配記憶體的,向下延生 在debug和release模式下,情況會有所不同 可以很明顯的看出,debug下每個位址之間相差12個位元組 而release模式下則相差4個位元組 按我...

關於連續子陣列的最大和和最大積

find the contiguous subarray within an array containing at least one number which has the largest sum.for example,given the array 2,1,3,4,1,2,1,5,4 th...