C言語で変数に値を入力し、プログラム終了後も変数の値を保存する方法

C言語関連

C言語を使用して、変数にユーザー入力で値を設定し、さらにプログラム終了後にその値を保存する方法について質問されることがあります。このような操作を実現するための関数や方法について、詳しく解説します。

変数へのユーザー入力

ユーザーから値を入力させて、その値を特定の変数に格納するためには、scanf関数を使用します。例えば、変数a, b, cに値を入力させる場合、次のようなコードを使用します。

#include 

int main() {
    int a, b, c;
    printf("aの値を入力してください: ");
    scanf("%d", &a);
    printf("bの値を入力してください: ");
    scanf("%d", &b);
    printf("cの値を入力してください: ");
    scanf("%d", &c);
    printf("a = %d, b = %d, c = %d\n", a, b, c);
    return 0;
}

このプログラムでは、scanf関数を使用して、ユーザーからa, b, cの値をそれぞれ入力させ、その後にそれらの値を表示します。

変数にどの値を格納するかを動的に決める

もし、どの変数に値を格納するかを動的に決めたい場合(例えば、ユーザーに選ばせる場合)、次のようにswitch文や条件分岐を使って処理を行うことができます。

#include 

int main() {
    int a = 0, b = 0, c = 0;
    int choice, value;

    printf("どの変数に値を入力しますか? (1: a, 2: b, 3: c): ");
    scanf("%d", &choice);
    printf("入力する値を入力してください: ");
    scanf("%d", &value);

    switch(choice) {
        case 1: a = value; break;
        case 2: b = value; break;
        case 3: c = value; break;
        default: printf("無効な選択\n"); return 1;
    }

    printf("a = %d, b = %d, c = %d\n", a, b, c);
    return 0;
}

このコードでは、ユーザーにどの変数に値を入力するかを選ばせ、その選択に応じて値を入力させています。

プログラム終了後に変数の値を保存する方法

プログラム終了後に変数の値を保存するためには、ファイルに保存する方法が一般的です。C言語では、fopenfprintffcloseなどを使ってファイルにデータを書き込むことができます。以下の例では、変数a, b, cの値をファイルに保存する方法を示します。

#include 

int main() {
    int a = 10, b = 20, c = 30;

    FILE *file = fopen("values.txt", "w");
    if (file == NULL) {
        printf("ファイルを開けませんでした\n");
        return 1;
    }

    fprintf(file, "a = %d\nb = %d\nc = %d\n", a, b, c);
    fclose(file);

    printf("値がファイルに保存されました。\n");
    return 0;
}

このコードでは、変数a, b, cの値をファイルvalues.txtに保存します。

まとめ

C言語でユーザー入力を受け取り、その値を変数に格納する方法や、プログラム終了後に変数の値をファイルに保存する方法について解説しました。scanfを使ってユーザーから入力を受け取り、switchや条件分岐を使って動的に変数に値を設定できます。また、変数の値をファイルに保存することで、プログラム終了後にもデータを保持することができます。

コメント

タイトルとURLをコピーしました