C ++ですべての変数をリセットするにはどうすればよいですか?

マヌミット

私のコードは問題なく機能しているようです
が、教授は
、最初の実行後に正常に再実行するために、このタスクでは変数のリセットが必要になる可能性があると警告しました

問題は、変数をリセットする方法がわからない
ことです。より複雑なコードではそれが不可欠になる思います。助けて?

この気象タスクは、基本的に「ユーザーに月を尋ね、その月の
各日の最低気温、最高気温、降雨量を尋ね、
月平均と総降雨量を印刷することです。

// Note to Stackoverflowers: Dager = days & Nedbor = rainfall.
// Other then that everything below is translated to english just for this
// question
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
  char rerun = 'j';  // rerun program variable
  while (rerun == 'j' || rerun == 'J')  // rerun program
  {
    int antDager, antD;  // number of days
    int minTemp;
    float minTempAdd = 0;  // min.temp.
    int maxTemp;
    float maxTempAdd = minTempAdd;  // max.temp
    int mmNedbor;
    float mmNedborAdd = 0;  // rain/downfall

    do {
      cout << "\n\tHow many days in this month? (28 til 31)\n";  //#days?
      cin >> antDager;
      if (31 < antDager || 28 > antDager)  // must be 28-31
      {
        cout << "\n\tInvalid value\n";
      }
    } while (31 < antDager || 28 > antDager);  // loop if invalid value

    for (antD = 1; antD < antDager;
         antD++,  // for loop the month
         minTempAdd += minTemp, maxTempAdd += maxTemp,
        mmNedborAdd +=
         mmNedbor) {  // the above increments temperatures and rain with itself
      do {
        cout << "\n\tminTemp? (-70 til 70), max.temp? (min til 70),   
            rain in mm
            ? (0 til 200)\n ";      //sentence break for this website
                  cin >>
                  minTemp >> maxTemp >>
                  mmNedbor;  // temperatures and rain input
        if ((-70) > minTemp || 70 < minTemp) {
          cout << "\n\tInvalid min-value\n";
        }
        if (minTemp > maxTemp || 70 < maxTemp) {
          cout << "\n\tInvalid max-value\n";
        }
        if (0 > mmNedbor || 200 < mmNedbor) {
          cout << "\n\tInvalid Nedbor-value\n";
        }
      } while ((((-70) > minTemp || 70 < minTemp) ||
                (minTemp > maxTemp || 70 < maxTemp)) ||
               (0 > mmNedbor || 200 < mmNedbor));
    }

    cout << "\n\tGjennomsnittlig minTemp: " << minTempAdd / antDager;
    cout << "\n\tGjennomsnittlig minTemp: " << maxTempAdd / antDager;
    cout << "\n\tGjennomsnittlig nedbor: " << mmNedborAdd / antDager;
    cout << "\n\tTotal nedbor: " << mmNedborAdd << endl;

    cout << "\n\tØnsker du å kjøre programmet igjen? j/n";
    cin >> rep;
    if (rerun == 'n' || rerun == 'N') {
      cout << "\n\tExiting program\n";
    }
  }

  return 0;
}

編集:
初期化の欠如についていくつかのフィードバックがあります(それは変数を定義することを意味すると思います)。私はそれをしないように努めました。私の教授。「可能な限りconstを使用し、変数を「ハードコーディング」するのを最小限に
抑えるように求められました。ここではconstの使用法が見つからなかったので、最小限の「ハードコーディング」で補正しました。彼が初期化について話していたと思います。

ソリン

あなたのコードはほぼ正しいです。変数は内部スコープ内にあるため、削除されて再割り当てされます。

あなたが間違っていたのは、それらを初期化しないということです。プリミティブ型を宣言すると、intスタックで次の4バイトを取得するだけので、そこにあるものはすべて含まれます。

これは、0になると想定されることがあるため、一般的には悪いことです。コードを修正するには、すべての変数を明示的に初期化する(0を割り当てる)ようにしてください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#VSCodeで変数/メソッドとその中のすべての参照の名前を変更するにはどうすればよいですか?

分類Dev

C ++で配列内のすべての数値を追加するにはどうすればよいですか?

分類Dev

C:clock()のreurn値を0にリセットするにはどうすればよいですか?

分類Dev

c ++点のセットを指定して領域を描画するにはどうすればよいですか?

分類Dev

cでリンクリストをリセットするにはどうすればよいですか?

分類Dev

C#ラベルの位置をリセットするにはどうすればよいですか?

分類Dev

C ++デザイン:変数のセットを共有する2つのクラスを設定するにはどうすればよいですか?

分類Dev

Spreadsheet Gear C#を使用して、IRange内のすべての日付形式のセルをDateTimeに変換するにはどうすればよいですか?

分類Dev

Linq C#で可変数の列を並べ替えるにはどうすればよいですか?

分類Dev

R:すべての変数が異なるように条件を設定するにはどうすればよいですか?a!= b!= c!= d!= e!= f!= g

分類Dev

Cの場合:変数に基づいて順番にリンクリストを作成するにはどうすればよいですか?

分類Dev

C ++のセットで欠落している数値を出力するにはどうすればよいですか?

分類Dev

C ++のヒープでビットセットを使用するにはどうすればよいですか?

分類Dev

Linuxでは、Cで、プロセスのすべてのスレッドを取得するにはどうすればよいですか?

分類Dev

非常に大きなデータセットの複数のコピーをCのメモリに保持するにはどうすればよいですか?

分類Dev

リスト内の要素の数をc#の変数として保存するにはどうすればよいですか?

分類Dev

C ++ 17の変数を使用して、出力で文字列を正しくフォーマットするにはどうすればよいですか?

分類Dev

このテキストをC#の変数に保存するにはどうすればよいですか?

分類Dev

SNESの65c816アセンブリを使用してスプライトの位置を変更するにはどうすればよいですか?

分類Dev

C ++で変数を削除するにはどうすればよいですか

分類Dev

C(Linux)を使用してすべての端末にメッセージを送信するにはどうすればよいですか?

分類Dev

GraphAPIを介してAzureAD B2Cでユーザーのパスワードをリセットするにはどうすればよいですか?

分類Dev

Cの文字列変数にトークンを追加するにはどうすればよいですか?

分類Dev

C#のすべての権限でCディレクトリにフォルダを作成するにはどうすればよいですか?

分類Dev

C#でピボット列の設定を変更するにはどうすればよいですか?

分類Dev

「C:\\ Users \\ SomeFolder \\ PythonFile.py」のような場所にあるPythonスクリプトから、すべての変数とその値を抽出するにはどうすればよいですか?

分類Dev

C#linqを使用してファイルのリストをインデックスで並べ替えるにはどうすればよいですか?

分類Dev

C ++でポインタのリストを並べ替えるにはどうすればよいですか?

分類Dev

C#でJSONを繰り返し、すべてのオブジェクトをリストに追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    C#VSCodeで変数/メソッドとその中のすべての参照の名前を変更するにはどうすればよいですか?

  2. 2

    C ++で配列内のすべての数値を追加するにはどうすればよいですか?

  3. 3

    C:clock()のreurn値を0にリセットするにはどうすればよいですか?

  4. 4

    c ++点のセットを指定して領域を描画するにはどうすればよいですか?

  5. 5

    cでリンクリストをリセットするにはどうすればよいですか?

  6. 6

    C#ラベルの位置をリセットするにはどうすればよいですか?

  7. 7

    C ++デザイン:変数のセットを共有する2つのクラスを設定するにはどうすればよいですか?

  8. 8

    Spreadsheet Gear C#を使用して、IRange内のすべての日付形式のセルをDateTimeに変換するにはどうすればよいですか?

  9. 9

    Linq C#で可変数の列を並べ替えるにはどうすればよいですか?

  10. 10

    R:すべての変数が異なるように条件を設定するにはどうすればよいですか?a!= b!= c!= d!= e!= f!= g

  11. 11

    Cの場合:変数に基づいて順番にリンクリストを作成するにはどうすればよいですか?

  12. 12

    C ++のセットで欠落している数値を出力するにはどうすればよいですか?

  13. 13

    C ++のヒープでビットセットを使用するにはどうすればよいですか?

  14. 14

    Linuxでは、Cで、プロセスのすべてのスレッドを取得するにはどうすればよいですか?

  15. 15

    非常に大きなデータセットの複数のコピーをCのメモリに保持するにはどうすればよいですか?

  16. 16

    リスト内の要素の数をc#の変数として保存するにはどうすればよいですか?

  17. 17

    C ++ 17の変数を使用して、出力で文字列を正しくフォーマットするにはどうすればよいですか?

  18. 18

    このテキストをC#の変数に保存するにはどうすればよいですか?

  19. 19

    SNESの65c816アセンブリを使用してスプライトの位置を変更するにはどうすればよいですか?

  20. 20

    C ++で変数を削除するにはどうすればよいですか

  21. 21

    C(Linux)を使用してすべての端末にメッセージを送信するにはどうすればよいですか?

  22. 22

    GraphAPIを介してAzureAD B2Cでユーザーのパスワードをリセットするにはどうすればよいですか?

  23. 23

    Cの文字列変数にトークンを追加するにはどうすればよいですか?

  24. 24

    C#のすべての権限でCディレクトリにフォルダを作成するにはどうすればよいですか?

  25. 25

    C#でピボット列の設定を変更するにはどうすればよいですか?

  26. 26

    「C:\\ Users \\ SomeFolder \\ PythonFile.py」のような場所にあるPythonスクリプトから、すべての変数とその値を抽出するにはどうすればよいですか?

  27. 27

    C#linqを使用してファイルのリストをインデックスで並べ替えるにはどうすればよいですか?

  28. 28

    C ++でポインタのリストを並べ替えるにはどうすればよいですか?

  29. 29

    C#でJSONを繰り返し、すべてのオブジェクトをリストに追加するにはどうすればよいですか?

ホットタグ

アーカイブ