ページ 1 / 1
C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:02
by たかとしー
1割引、3割引、5割引、8割引の計算式にしたいのですが、エラーになります。
どこがおかしいのでしょうか?
#include <stdio.h>
int main(void)
{
int teika;
/* 入力部分 */
scanf("%d ,&teika");
/* 計算部分 */
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
/* 表示部分 */
printf("1割引は%d\n,3割引は%d\n,5割引は%d\n,8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:06
by みけCAT
コードを提示するときは、BBcodeを有効にした状態でcodeタグで囲み、
かつきちんとインデントをしていただけると、見やすくて助かります。
たかとしー さんが書きました:どこがおかしいのでしょうか?
scanfの入力指定に合った数のポインタが渡されていません。(文字列の範囲がおかしい?)
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:07
by みけCAT
変数itiwari、sanwari、gowari、hatiwariの宣言が提示されたコード内に見当たりませんが、
きちんと別のファイルor部分で宣言していますか?
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:15
by たかとしー
みけCAT さんが書きました:変数itiwari、sanwari、gowari、hatiwariの宣言が提示されたコード内に見当たりませんが、
きちんと別のファイルor部分で宣言していますか?
お返事有難うございます。
codeについて調べたのですが、まだ習っていないのでよくわかりませんでした。
もう少し勉強が進めばわかるかと思います。初心者ですみません。
宣言とは下記のような感じでいいのでしょうか?
int teika;
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:23
by たかとしー
たかとしー さんが書きました:みけCAT さんが書きました:変数itiwari、sanwari、gowari、hatiwariの宣言が提示されたコード内に見当たりませんが、
きちんと別のファイルor部分で宣言していますか?
お返事有難うございます。
codeについて調べたのですが、まだ習っていないのでよくわかりませんでした。
もう少し勉強が進めばわかるかと思います。初心者ですみません。
宣言とは下記のような感じでいいのでしょうか?
int teika;
「scanfの入力指定に合った数のポインタ」についても調べましたが、よくわかりませんでした。
もう少し調べてみます。
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:28
by みけCAT
今回の場合、例えばこのような感じになります。
コード:
#include <stdio.h>
int main(void)
{
int teika;
int itiwari,sanwari,gowari,hatiwari; /* 追加 */
/* 入力部分 */
/* scanf("%d ,&teika"); */
scanf("%d" ,&teika); /* 修正 */
/* 計算部分 */
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
/* 表示部分 */
printf("1割引は%d\n,3割引は%d\n,5割引は%d\n,8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:34
by box
そもそも、
たかとしー さんが書きました:1割引、3割引、5割引、8割引の計算式にしたい
1割引、3割引、5割引、8割引の式になっていません。
ものすごい勘違いをされているようです。
たかとしー さんが書きました:
コード:
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
1割引とは、元の9割です。
今の式では、元の10倍になっています。
他も同様です。
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:38
by たかとしー
ご返事有難うございます。
下記のような感じでしょうか。
実行すると数字を入力できるところまではいきました。
数字を打つとエラーになってしまいます^^;
#include <stdio.h>
int main(void)
{
int teika;
int itiwari,sanwari,gowari,hatiwari; /* 追加 */
/* 入力部分 */
scanf("%d ,&teika");
/* 計算部分 */
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
/* 表示部分 */
printf("1割引は%d\n,3割引は%d\n,5割引は%d\n,8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:42
by たかとしー
本当ですね。
失礼しました。
計算式を下記に訂正しました。
#include <stdio.h>
int main(void)
{
int teika;
int itiwari,sanwari,gowari,hatiwari; /* 追加 */
/* 入力部分 */
scanf("%d ,&teika");
/* 計算部分 */
itiwari = teika * 1 / 10;
sanwari = teika * 3 / 10;
gowari = teika * 5 / 10;
hatiwari = teika * 8 / 10;
/* 表示部分 */
printf("1割引は%d\n,3割引は%d\n,5割引は%d\n,8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}
box さんが書きました:そもそも、
たかとしー さんが書きました:1割引、3割引、5割引、8割引の計算式にしたい
1割引、3割引、5割引、8割引の式になっていません。
ものすごい勘違いをされているようです。
たかとしー さんが書きました:
コード:
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
1割引とは、元の9割です。
今の式では、元の10倍になっています。
他も同様です。
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:54
by たかとしー
たびたびすみません!
続きがあったんですね。
解決しました。みけCATさん有難うございます。
みけCAT さんが書きました:今回の場合、例えばこのような感じになります。
コード:
#include <stdio.h>
int main(void)
{
int teika;
int itiwari,sanwari,gowari,hatiwari; /* 追加 */
/* 入力部分 */
/* scanf("%d ,&teika"); */
scanf("%d" ,&teika); /* 修正 */
/* 計算部分 */
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
/* 表示部分 */
printf("1割引は%d\n,3割引は%d\n,5割引は%d\n,8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:57
by たかとしー
たかとしー さんが書きました:たびたびすみません!
続きがあったんですね。
解決しました。みけCATさん有難うございます。
みけCAT さんが書きました:今回の場合、例えばこのような感じになります。
コード:
#include <stdio.h>
int main(void)
{
int teika;
int itiwari,sanwari,gowari,hatiwari; /* 追加 */
/* 入力部分 */
/* scanf("%d ,&teika"); */
scanf("%d" ,&teika); /* 修正 */
/* 計算部分 */
itiwari = teika * 10 / 1;
sanwari = teika * 10 / 3;
gowari = teika * 10 / 5;
hatiwari = teika * 10 / 8;
/* 表示部分 */
printf("1割引は%d\n,3割引は%d\n,5割引は%d\n,8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 00:59
by box
たかとしー さんが書きました:
解決しました。
本当ですか?
1割「引き」になっていないです。
Re: C言語初歩の質問です(scanf)
Posted: 2013年10月17日(木) 01:08
by たかとしー
box さんが書きました:たかとしー さんが書きました:
解決しました。
本当ですか?
1割「引き」になっていないです。
下記のように修正しました。
有難うございます。
#include <stdio.h>
int main(void)
{
int teika;
int itiwari,sanwari,gowari,hatiwari; /* 追加 */
/* 入力部分 */
/* scanf("%d ,&teika"); */
scanf("%d" ,&teika); /* 修正 */
/* 計算部分 */
itiwari = teika * 9 / 10;
sanwari = teika * 7 / 10;
gowari = teika * 5 / 10;
hatiwari = teika * 2 / 10;
/* 表示部分 */
printf("1割引は%d\n3割引は%d\n5割引は%d\n8割引は%d\n",itiwari,sanwari,gowari,hatiwari);
;
return 0;
}