#6
by naohiro » 1年前
ChatGPTに以下のようなものを
コード:
#命令書:
あなたは、プログラマーです。
以下の制約条件と入力文をもとに、C11のプログラムを出力してください。
#制約条件:
・関数名とクラス名はキャラメルケースとする。
・関数名は処理内容がわかりやすい名称にする。
・エラー処理や例外処理をする。
・条件分岐もコメントをする。
・関数の中身の処理をコメントする。
・#defineは、大文字で始まるスネークケースとする。
・struct、classのメンバーは m_ で始まるとする。
・処理内容をDoxygen方式でコメントを書く。
#入力文:
自然数を 2 つ(x, y )入力してx < y であれば x から y までの合計値,
x < y でなければ y から x までの合計値を求めるプログラムを作ろうとしています。
#出力文:
以下は、C11のプログラムの例です。入力された2つの自然数x, yがx < yであれば、xからyまでの合計値を計算します。そうでなければ、yからxまでの合計値を計算します。
コード:
/**
* @brief 2つの自然数の合計値を計算する関数
*
* @param[in] x 自然数1
* @param[in] y 自然数2
* @return xからyまでの合計値、またはyからxまでの合計値
*/
int CalculateSum(int x, int y)
{
// xがyより大きい場合、xとyを入れ替える
if (x > y) {
int temp = x;
x = y;
y = temp;
}
// xからyまでの合計値、またはyからxまでの合計値を計算する
int sum = 0;
for (int i = x; i <= y; i++) {
sum += i;
}
// 計算結果を返す
return sum;
}
int main(void)
{
int x, y;
// 自然数xとyを入力する
printf("自然数xを入力してください: ");
if (scanf("%d", &x) != 1) {
// 入力エラーの場合、エラーメッセージを表示して終了する
fprintf(stderr, "入力エラー: 自然数を入力してください\n");
return 1;
}
printf("自然数yを入力してください: ");
if (scanf("%d", &y) != 1) {
// 入力エラーの場合、エラーメッセージを表示して終了する
fprintf(stderr, "入力エラー: 自然数を入力してください\n");
return 1;
}
// x < yの場合、xからyまでの合計値を計算する
if (x < y) {
int sum = CalculateSum(x, y);
printf("%dから%dまでの合計値は%dです。\n", x, y, sum);
}
// x >= yの場合、yからxまでの合計値を計算する
else {
int sum = CalculateSum(y, x);
printf("%dから%dまでの合計値は%dです。\n", y, x, sum);
}
return 0;
}
以上が、自然数を2つ入力し、条件に応じてxからyまでの合計値またはyからxまでの合計値を計算するC11のプログラムの例です。
ChatGPTに以下のようなものを
[code]
#命令書:
あなたは、プログラマーです。
以下の制約条件と入力文をもとに、C11のプログラムを出力してください。
#制約条件:
・関数名とクラス名はキャラメルケースとする。
・関数名は処理内容がわかりやすい名称にする。
・エラー処理や例外処理をする。
・条件分岐もコメントをする。
・関数の中身の処理をコメントする。
・#defineは、大文字で始まるスネークケースとする。
・struct、classのメンバーは m_ で始まるとする。
・処理内容をDoxygen方式でコメントを書く。
#入力文:
自然数を 2 つ(x, y )入力してx < y であれば x から y までの合計値,
x < y でなければ y から x までの合計値を求めるプログラムを作ろうとしています。
#出力文:
[/code]
以下は、C11のプログラムの例です。入力された2つの自然数x, yがx < yであれば、xからyまでの合計値を計算します。そうでなければ、yからxまでの合計値を計算します。
[code=cpp]
/**
* @brief 2つの自然数の合計値を計算する関数
*
* @param[in] x 自然数1
* @param[in] y 自然数2
* @return xからyまでの合計値、またはyからxまでの合計値
*/
int CalculateSum(int x, int y)
{
// xがyより大きい場合、xとyを入れ替える
if (x > y) {
int temp = x;
x = y;
y = temp;
}
// xからyまでの合計値、またはyからxまでの合計値を計算する
int sum = 0;
for (int i = x; i <= y; i++) {
sum += i;
}
// 計算結果を返す
return sum;
}
int main(void)
{
int x, y;
// 自然数xとyを入力する
printf("自然数xを入力してください: ");
if (scanf("%d", &x) != 1) {
// 入力エラーの場合、エラーメッセージを表示して終了する
fprintf(stderr, "入力エラー: 自然数を入力してください\n");
return 1;
}
printf("自然数yを入力してください: ");
if (scanf("%d", &y) != 1) {
// 入力エラーの場合、エラーメッセージを表示して終了する
fprintf(stderr, "入力エラー: 自然数を入力してください\n");
return 1;
}
// x < yの場合、xからyまでの合計値を計算する
if (x < y) {
int sum = CalculateSum(x, y);
printf("%dから%dまでの合計値は%dです。\n", x, y, sum);
}
// x >= yの場合、yからxまでの合計値を計算する
else {
int sum = CalculateSum(y, x);
printf("%dから%dまでの合計値は%dです。\n", y, x, sum);
}
return 0;
}
[/code]
以上が、自然数を2つ入力し、条件に応じてxからyまでの合計値またはyからxまでの合計値を計算するC11のプログラムの例です。