私は、会計プログラムのいくつかの借方記入項目をユーザーに要求するコードを書き込もうとしています。ユーザーが答えとして5を指定した場合、プログラムは次のコード行に進む前に、借方記入項目の名前と金額を5回尋ねる必要があります。そこで、この問題を解決するためにforループを使用しましたが、何か奇妙なことが起こっているようです。
これは、コンパイルおよび実行時にコードを実行する形式です
。
作成する借方記入項目の数:2
1.借方記入項目名:example1
1.借方金額:123
2.借方記入項目名:example22
。借方金額:456
次のコード行に進む
会計プログラムのこの部分のためにC++で記述したコードは次のとおりです。
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "How many debit entries do you wish to make?: ";
int entries;
cin >> entries;
string debitNames[50];
float debitAmounts[50];
int offset = 0;
int number = 1;
for (offset = 0; offset < entries; offset++)
{
cout << number << ". Debit Entry Name: ";
cin >> debitNames[offset];
cout << number << ". Debit Amount: ";
cin >> debitAmounts[offset];
for (number = 1; number <= entries; number++)
{
}
}
char response;
cin >> response;
return 0;
}
結果は非常に奇妙です。コンパイルして実行すると、次のようになります。
いくつの借方記入を行いますか?:5
1.借方記入項目名:example1
1.借方金額:123
6.借方記入項目名:example2
6.借方金額:123
6.借方記入項目名:example36.
借方金額:123
6.借方記入項目名:example4 6.借方金額
:123
6.借方記入項目名:example5
6.借方金額:123
次のコード行に進みます
。プログラムは、番号を1としてリストした後、突然6にジャンプし、5セットすべての質問が行われるまでそこに留まります。ご存知のように、私は「number」変数を使用して、ユーザー自身が指定した「number」エントリが要求されたことをユーザーに通知しています。コンパイラでこのコードを実行してみて、同じ結果が表示されるかどうかを確認してください。ちなみに、私はVisual C ++ 20120 Express Editionを使用していますが、これは問題と関係がありますか?
どうもありがとう。