1
私はC++にはまったく新しいので、私が間違っていることを本当に分かっていない、私はJavaに限られた知識しか持っていません。C++の整数入力に上記の0を含める方法
私は現在、ユーザに年(つまり2007)を入力するように求めており、その年の2つの数字(この場合は20とo7)をとり、最初の2桁に1を加えます(そう21)それから彼らは彼らが入力した年の100年前になる年として再びそれらを表示します。
私の問題は、2007年または1206、または3桁目の数字が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を保持する文字列として2番目の部分を読み込む必要があります(または0の塗りつぶしを使用しますが、これはこれよりもはるかに複雑です)。 – Dan
すべての返信をありがとう...最終的に私は年に100を追加し終わった、それはうまくいくように見えた。ありがとう! – TheUltimateAssasin11