1
我對C++非常陌生,所以我並不真正知道自己做錯了什麼,在java中我確實有一些有限的知識,但就是這樣。如何在C++中包含前面的0作爲整數輸入
我目前正在研究一個程序,要求用戶輸入一年(即2007年),該程序採用2年的數字(在這種情況下20和o7),然後它將1加到前兩位數字(所以21),那麼它再次顯示它們爲一年,這將是它們輸入年份的100年。
我的問題是,當我輸入2007或1206或任何數字與0作爲第三位數字,結果是217(2007年的情況下)。我想知道是否有辦法確保輸出包含一年中的所有數字。
這是我的計劃至今:提前
#include <iostream>
#include <cstdlib>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
cout.precision(4);
cout << setfill('0') << setw(2) << x ;
//declaring variables
int year;
int firstDigits;
int secondDigits;
int newFirstDigits;
int newSecondDigits;
int newYear;
//gets the year from the user
cout <<"please enter a year in YYYY format"<<endl;
cin>>year;
//finds the dirst 2 digits
firstDigits=year/100;
//finds the second 2 digits
secondDigits=year%100;
//adds 100 years to the year that was inputted
newFirstDigits=firstDigits+1;
newSecondDigits=year-firstDigits*100;
//outputs to the user what 100 years
//from the year they entered would be
cout<<"the new year is "<<newFirstDigits<< newSecondDigits<<endl;
system ("PAUSE");
}
的感謝!
也許把你的輸入作爲一個字符串? –
爲什麼不在整年添加100?否則,你需要以字符串的形式讀取第二部分,以保留前面的0(或者使用零填充,但這比這需要更復雜)。 – Dan
感謝所有的答覆......最終我最終增加了100個年度,似乎成功了。謝謝! – TheUltimateAssasin11