質問編集履歴

2

目的の変更

2015/06/12 00:13

投稿

yumikom
yumikom

スコア11

test CHANGED
File without changes
test CHANGED
File without changes

1

実現したいことの変更

2015/06/12 00:13

投稿

yumikom
yumikom

スコア11

test CHANGED
@@ -1 +1 @@
1
- c言語 floatで入力された数字を言葉に変換して表示(1→one)
1
+ c言語 floatを二桁の整数で表示したい(1→01、10→10)
test CHANGED
@@ -1,4 +1,16 @@
1
1
  ###前提・実現したいこと
2
+
3
+ float型を整数で表示させたい。
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+ [以下は解決済み]
2
14
 
3
15
  数字で金額を入力し、それを英語に変換して表示したいです。
4
16
 
@@ -14,6 +26,22 @@
14
26
 
15
27
  ###発生している問題・エラーメッセージ
16
28
 
29
+ 今日プロフェッサーに直接課題の事も聞けたのもあって、ほぼ完成しました。
30
+
31
+ ただ一番最後の " 00 Cents" と表示したいところだけが上手くいきません。
32
+
33
+ 10以上の数字は問題ないのですが、一桁と1−9までが駄目です。
34
+
35
+ というのも、一桁の数字も01、02ー09と二桁で表示したいからです。
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ [以下は解決済み]
44
+
17
45
  floatで入力された数字をどのようにして、一つずつの数字としてピックアップすればいいのでしょうか?
18
46
 
19
47
  そしてその数字を文字に変換する方法はどのようにするのでしょうか?
@@ -24,47 +52,49 @@
24
52
 
25
53
  ###ソースコード
26
54
 
55
+ だいぶ長いプログラムになってしまったのです、端折ります。。
56
+
57
+
58
+
27
59
  #include <stdio.h>
28
60
 
29
61
 
30
62
 
31
63
  int main( ) {
32
64
 
33
- float monetary;
65
+ float money,fraction;
66
+
67
+ int whole,a,b,c,d;
68
+
69
+
70
+
71
+ printf("Enter a monetary value from $0.01 to $9999.99 inclusive: ");
72
+
73
+ scanf("%f",&money);
34
74
 
35
75
 
36
76
 
37
- printf("Welcome to the Cheque Generator...\n");
77
+ whole = (int)money;
38
78
 
39
- printf("Enter a monetary value from $0.01 to $9999.99 inclusive: ");
79
+ fraction = (money - whole) * 100;
40
80
 
81
+
82
+
83
+ ------端折ってます-----
84
+
85
+ if(fraction == 0){
86
+
87
+ printf("00 Cents\n");
88
+
89
+ }
90
+
91
+ else{
92
+
41
- scanf("%f",&monetary);
93
+ printf("%.f Cents\n",fraction);
42
94
 
43
95
 
44
96
 
45
- ここに入力された数字を一つずつとるプログラムを書くのでしょうか?
46
-
47
-
48
-
49
-
50
-
51
- if(monetary >= 0.01 || monetary <= 9999.99){
52
-
53
- printf("PAY TO THE ORDER OF YOU\n");
97
+ この"%.f"の部分をどうしたら、1を01と表示させることができますか??
54
-
55
- }
56
-
57
- else {
58
-
59
- printf("Sorry, cannot create cheque for that amount, try again next time!\n");
60
-
61
- }
62
-
63
-
64
-
65
- return 0;
66
-
67
- }
68
98
 
69
99
 
70
100