- ベストアンサー
C++電卓 メモリ機能について
VC++2010で電卓を作っているのですがメモリ機能のところがうまくいきません フォームアプリケーションで作っています M+のところは m/*メモリ用の変数/*=int::Parse(textBox1->Text); です こうしてM+を押して数字を入力するとmが消えずにそのまま数字が入力されてしまいます 同様にM-、MC、MRも教えてください よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
参考サイトをざっと見ましたが、M+,M-など、投稿者さん独自の機能を追加しようとしてるようですね。 やはり推測でしかないですが、以下ではどうでしょう? //M+ m=m + z; z=0; textBox1->Text = z.ToString(); //M- m=m - z; z=0; textBox1->Text = z.ToString(); //MC m=0; //MR z=m; textBox1->Text = z.ToString(); 誠に勝手ながら、この質問に対する私の回答はこれで最後にさせていただきます。
その他の回答 (1)
- wanabe_hiki
- ベストアンサー率34% (11/32)
どういう仕様の電卓を作りたいのか/他の部分がどういうプログラムなのかが明確でないため、的確な回答にはならないと思いますが、ヒントになれば幸いです。 //M+ m=m + int::Parse(textBox1->Text); textBox1->Text = 0; //M- m=m - int::Parse(textBox1->Text); textBox1->Text = 0; //MC m=0; //MR sprintf(textBox1->Text,"%d",m);
補足
なおりません・・・ やっぱり130とうってM+をおしてtextBoxを0にしてもその後に 5ボタンを押すと1305になってしまいます 一応数字のプログラムかいておくのでもう一度よろしくお願いします int i; if(y2==1){ cn=cn+1; for(i=0;i<cn;i++){ z=10*z; } } if(y2==0)z=z*10; z=z+1; if(y2==1){ for(i=0;i<cn;i++){ z=z/10; } } textBox1->Text=z.ToString(); 数字の部分のプログラムはこんな感じです 変数y2は小数点ボタンが押されたか判定していて押されればy2は1になって押されてなければ0になります。 変数cnは小数点ボタンが押された後、何回数字ボタンが押されたかカウントしています。 参考サイト http://www5b.biglobe.ne.jp/~suugaku/vc++kougi/index.html 第6講
お礼
できました!! ありがとうございました!