簡単な質問ですが、少なくとも私はそうなることを望んでいます。
forループを使用して関数をループするにはどうすればよいですか。
たとえば、ケルビンを華氏に変換しようとしています。ユーザーが350を入力すると、プログラムは0から350までループし、それぞれを華氏に変換します。私のコードは以下の通りです。本当にシンプルなものだと思います。
#include <iostream>
#include <iomanip>
using namespace std;
int user_interface();
void convert(double , double &);
void print_table(double,double &);
int main(int argc, char *argv[])
{
user_interface();
/*convert(Farenheit);*/
return 0;
}
int user_interface()
{
double user_input;
double Farenheit;
do
{
cout<<"Please Enter Maximum Kelvin Value: ";
cin>>user_input;
if(user_input<0)
{
cout<<"Positive Integer Values Only! Please Try Again.\n";
}
else
{
;
}
}
while(user_input<=0);
convert(user_input, Farenheit);
cout<<"Farenheit is: "<<Farenheit<<"\n";
cout<<"User_input is: "<<user_input<<"\n";
print_table(user_input, Farenheit);
return 0;
}
void convert(double user_input, double &Farenheit)
{
double temp;
int count;
/*temp=(((9)*(user_input-273.15))/5)+32;
Farenheit=temp;*/
for(count=0; count<=user_input; count+=50)
{
temp=(((9)*(count-273.15))/5)+32;
Farenheit=temp;
cout<<"Convert Farenheit"<<Farenheit<<"\n";
}
return;
}
void print_table(double user_input, double &Farenheit)
{
double x;
cout<<"Temp_user_input"<<Farenheit<<"\n";
cout.width(10);
cout<<"K";
cout.width(14);
cout<<"F"<<"\n";
for( x=0; x<=user_input; x+=50)
{
cout.width(10.2);
cout<<x;
cout.width(14.2);
cout<<Farenheit<<"\n";
}
}
print_table関数のその部分だけですべてが機能しています。
ちなみに、他のすべての追加機能は気にしないでください。最後の部分が機能するようになったら、クリーンアップします。
助けてくれてありがとう。
最小限の例を作成するためにコードを更新しました。これは、それがどのように行われるかを示すためだけのものです。値を出力する関数を呼び出しました。あなたがrefによって引数を渡しているので。異なる入力で関数を呼び出すだけで、華氏変数の値がループ内で変更されます。入力に関連付けられた新しい値を出力できます。
#include <iostream>
#include <iomanip> using namespace std;
int user_interface();
void convert(double & , double & );
void print_table(double, double & );
int main(int argc, char * argv[]) {
user_interface();
/*convert(Farenheit);*/
return 0;
}
int user_interface() {
double user_input;
double Farenheit;
do {
cout << "Please Enter Maximum Kelvin Value: ";
cin >> user_input;
if (user_input < 0) {
cout << "Positive Integer Values Only! Please Try Again.\n";
}
} while (user_input <= 0);
print_table(user_input, Farenheit);
return 0;
}
void convert(double & temp, double & Farenheit) {
Farenheit = ((9 * (temp - 273.15)) / 5) + 32;
}
void print_table(double user_input, double & Farenheit) {
double x;
cout << "Temp_user_input" << Farenheit << "\n";
cout.width(10);
cout << "K";
cout.width(14);
cout << "F" << "\n";
for (x = 0; x <= user_input; x += 50) {
cout.width(10.2);
cout << x;
cout.width(14.2);
convert(x, Farenheit);
cout << Farenheit << "\n";
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加