大学の課題で関数を使って計算したりするプログラムを作るのですが、エラーが出てしまって出来ません。
課題として
自分の学籍番号の末尾2桁の数字(r1)と生年末尾2桁の数字(r2)をキーボードから入力させ、
(1)それらを抵抗値として並列の合成抵抗を求める[R=(r1*r2)/(r1+r2)]
(2)電圧100.0Vに対する端子電流値を求める[a=v/R v=100.0]
(3)その電力を計算[p=a*v]
(4)各抵抗値r1r2、合成抵抗R、電圧V、電流値a、電力値pを画面に表示させる。
上記のものをCで作ってみたところ、下記のようになりました。
==========
#include <stdio.h>
double gousei_teikou(double r1,double r2);
double get_current(double v,double r);
double get_power(double v, double a);
double display(double r1,double r2,double r,double v,double a,double p);
int main(void)
{
double r1,r2,r;
double v,a;
double p;
//入力させる
printf("学籍番号末尾2桁入力(抵抗r1):");
scanf("%d",&r1);
printf("生年(西暦)末尾2桁を入力(抵抗r2):");
scanf("%d",&r2);
//合成抵抗を求める
gousei_teikou(r1,r2,r);
//端子電流値を求める
get_current(v,r);
//電力を求める
get_power(v,a);
//すべての結果を表示させる
display(r1,r2,r,v,a,p);
return 0;
}
double gousei_teikou(double r1,double r2)
{
double r;
r=(r1*r2)/(r1+r2);
return r;
}
double get_current(double v,double r)
{
double a;
v=100.0;
a=v/r;
return a;
}
double get_power(double v, double a)
{
double p;
p=a*v;
return p;
}
double display(double r1,double r2,double r,double v,double a,double p)
{
printf("抵抗値r1=");
printf("%lf",r1);
printf("抵抗値r2=");
printf("%lf",r2);
printf("合成抵抗値r=");
printf("%lf\n",r);
printf("電圧v=");
printf("%lf[V],, ",v);
printf("電流値a=");
printf("%lf[A],, ",a);
printf("電力値p=");
printf("%lf[W]\n",p);
}
==========
するとエラーで『Run-Time Check Failure #3 - The variable 'r' is being used without being initialized.』となります。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
書式文字列については、よく調べなきゃいけませんね。
その他の部分についても考えてみてください。
注・全角スペース使いました。
#include <stdio.h>
double gousei_teikou(double r1,double r2);
double get_current(double v,double r);
double get_power(double v, double a);
double display(double r1,double r2,double r,double v,double a,double p);
int main(void)
{
double r1,r2,r;
double v,a;
double p;
//入力させる
printf("学籍番号末尾2桁入力(抵抗r1):");
scanf("%lf",&r1);
printf("生年(西暦)末尾2桁を入力(抵抗r2):");
scanf("%lf",&r2);
//合成抵抗を求める
r = /****** ←関数の戻り値はとっておかなくちゃ */
gousei_teikou(r1,r2 /* ,r */); /******←引数の数がヘンでしょ? */
v=100; /****** ←電圧はここで設定したほうがいいよ。*/
//端子電流値を求める
a = /****** ←関数の戻り値はとっておかなくちゃ */
get_current(v,r);
//電力を求める
p= /****** ←関数の戻り値はとっておかなくちゃ */
get_power(v,a);
//すべての結果を表示させる
display(r1,r2,r,v,a,p);
return 0;
}
double gousei_teikou(double r1,double r2)
{
double r;
r=(r1*r2)/(r1+r2);
return r;
}
double get_current(double v,double r)
{
double a;
// v=100.0; /** 電圧は他の関数でも使ってるから、ここじゃないところで定義 */
a=v/r;
return a;
}
double get_power(double v, double a)
{
double p;
p=a*v;
return p;
}
double display(double r1,double r2,double r,double v,double a,double p)
{
printf("抵抗値r1=");
printf("%f",r1); /***** ← printfの書式は、タダのfで良し 以下同文*/
printf("抵抗値r2=");
printf("%f",r2);
printf("合成抵抗値r=");
printf("%f\n",r);
printf("電圧v=");
printf("%f[V],, ",v);
printf("電流値a=");
printf("%f[A],, ",a);
printf("電力値p=");
printf("%f[W]\n",p);
}
No.3
- 回答日時:
>double r1,r2,r;
>printf("学籍番号末尾2桁入力(抵抗r1):");
>scanf("%d",&r1);
>printf("生年(西暦)末尾2桁を入力(抵抗r2):");
>scanf("%d",&r2);
scanf()の書式の確認も必要ですな。
この回答への補足
確かにscanfのエラーもリビルド時に出ていましたが、よく分かりません。
とりあえずdoubleを使っているので%dを%lfに変えたらいいのかなとは思いましたが、それ以外はちょっと分かりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語のマクローリン展開ローラン展開のコードについて 3 2022/12/15 14:45
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# (C言語)めちゃくちゃな値になってしまいます。 5 2022/08/13 11:55
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
float型とdouble型の変数の違い...
-
プログラムでの数字につく”f”の...
-
c言語 擬似カラー
-
sin(x)の近似について
-
C言語のpow関数の不具合
-
C言語のマクローリン展開ローラ...
-
^この記号を使わない
-
C言語を実行すると-infが出てき...
-
2自由度減衰振動のルンゲクッタ法
-
int とdoubleの比較
-
指数形式で入力するには
-
doubleの変数にintとintの割り...
-
c++でテンプレートのコードでわ...
-
#define _CRT_SECURE_NO_WARNIN...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
O(n log n)について2
-
度数分布表の階級の端の値
-
中学生で数学です。 √84nが自然...
-
画像の拡大・縮小
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
float型とdouble型の変数の違い...
-
doubleの変数にintとintの割り...
-
c言語で、繰り返し文の中で、0....
-
C言語 関数プロトタイプ宣言の...
-
関数におけるif文とreturn文に...
-
C 開放してるのにエラー(doubl...
-
C言語の型による処理速度の違い
-
至急です! マクロ定義で #defi...
-
doubleは常に%lfとするべきなのか
-
Cで3乗根を求める方法
-
-1.#IND00と出てしまうのですが...
-
C言語で-23乗を取り扱うには
-
C++で外積
-
2次方程式の解を求めるプログ...
-
方程式を2分法を用いて解くプロ...
-
ニュートン法
-
c言語のコンパイルエラー canno...
-
difftime()について
おすすめ情報