掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
小数点以下を表示させるには? (ID:64021)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
以前はお世話になりました、今回も少し教えてください。 四則演算の答えを音声で答えてくれるプログラムを組んでいます。1の位まではなんとかできたのですが、小数点以下がうまく再生されずまた、原因が分からなく困っております。例えば変数b,cにキー入力された値を再生するのにbに格納された値はちゃんと再生されるのですが、cに入力された値がわけの分からない数字が再生され続け答えの再生まで行きません。再生方法は自作関数に値を受け渡し関数内で再生するようになっております。関数のソースを載せておきますのでどこが悪いのか指摘してください。よろしくお願いします。小数点のソースは一番したのwhile(i==0)からとなっております int mame2(double iValue) { int d,f,i; double g,h; while(iValue<=9999) { f=(int)iValue; g=f/iValue; h=iValue-f; cout <<g<<endl; d=(int)iValue/1000; iValue=iValue-(d*1000); if(d!=1){ mame(d); } if(d==3) { sndPlaySound("vois/10002.wav",SND_SYNC); } else if(d==0){ } else{ sndPlaySound("vois/1000.wav" ,SND_SYNC); } d=(int)iValue/100; cout <<d<<endl; iValue=iValue-(d*100); if(d==8) { sndPlaySound("vois/82.wav" ,SND_SYNC); } else if(d==6) { sndPlaySound("vois/62.wav" ,SND_SYNC); }else if(d!=1){ mame(d); } if(d==3){ sndPlaySound("vois/1003.wav" ,SND_SYNC); }else if(d==6 || d==8){ sndPlaySound("vois/1002.wav" ,SND_SYNC); }else if(d==0){ }else{ sndPlaySound("vois/100.wav" ,SND_SYNC); } d=(int)iValue/10; iValue= iValue-(d*10); if(d!=1){ mame(d); } if(d==0){ }else{ sndPlaySound("vois/10.wav" ,SND_SYNC); } d=(int)iValue; mame(d); cout <<"g="<<g<<endl; cout <<"iValue="<<iValue<<endl; cout <<"h="<<h<<endl; if(g !=1) { sndPlaySound("vois/ten.wav",SND_SYNC); i=0; while(i==0) { h = h * 10; cout <<"h1="<<h<<endl; d = (int)h; cout <<"d ="<<d<<endl; h=h-(double)d; cout <<"h2="<<h<<endl; if(h==0.0){ i=1; } mame(d); } } break; } return d; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.