• ベストアンサー

C++電卓 メモリ機能について

VC++2010で電卓を作っているのですがメモリ機能のところがうまくいきません フォームアプリケーションで作っています M+のところは m/*メモリ用の変数/*=int::Parse(textBox1->Text); です こうしてM+を押して数字を入力するとmが消えずにそのまま数字が入力されてしまいます 同様にM-、MC、MRも教えてください よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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(); 誠に勝手ながら、この質問に対する私の回答はこれで最後にさせていただきます。

spmz1311
質問者

お礼

できました!! ありがとうございました!

その他の回答 (1)

回答No.1

どういう仕様の電卓を作りたいのか/他の部分がどういうプログラムなのかが明確でないため、的確な回答にはならないと思いますが、ヒントになれば幸いです。 //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);

spmz1311
質問者

補足

なおりません・・・ やっぱり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講

関連するQ&A