記憶クラス(関数の引数をなくして外部変数を利用しての書き換え)
/*入力した価格の合計とその税込価格を求めるプログラム*/
#include<stdio.h>
#define TAX 0.05
float Getsyouhizeigaku(float);
void main(void)
{
float price, total = 0.0;
float zeigaku;
while(1){
printf("Price? (finish -> -1)\n");
scanf("%f", &price);
if(price == -1.0)
break;
total += price;
}
zeigaku = Getsyouhizeigaku(total);
printf("価格 %.0f 円の場合, 消費税込み価格は %.0f 円\n", total, zeigaku);
}
float Getsyouhizeigaku(float kakaku)
{
float zeikomikakaku;
zeikomikakaku = kakaku * (1.00 + TAX);
return(zeikomikakaku);
}
このプログラムを関数の引数(価格を表す実数)をなくし、外部変数を利用して同じ処理を行うようにプログラムを変更せよ。
という問題で
#include<stdio.h>
#define TAX 0.05
float Getsyouhizeigaku(void);
void main(void)
{
float price, total = 0.0;
float zeigaku;
while(1){
printf("Price? (finish -> -1)\n");
scanf("%f", &price);
if(price == -1.0)
break;
total += price;
}
zeigaku = Getsyouhizeigaku();
printf("価格 %.0f 円の場合, 消費税込み価格は %.0f 円\n", total, zeigaku);
}
float Getsyouhizeigaku(void)
{
extern float total;
float zeikomikakaku;
zeikomikakaku = total * (1.00 + TAX);
return(zeikomikakaku);
}
と変更してコンパイルしたところ「'_total'が未解決です」と出ました。何が問題なのかわかりません。
わかる方いましたらよろしくお願いします。