第一次學習c#,做了個簡單的加減乘除計算器,只能實現兩個因數的運算。
主要是練習下c#程式設計,和以前用過的vb差不多。與vb6不同的是,c#**區分大小寫。
windows視窗程式主要也是由一些控制項組成,響應響應的事件(event),實現具體的功能。
1.效果圖如下所示
2.**如下所示
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
public partial class main : form
public main()
initializecomponent();
private void main_load(object sender, eventargs e)
private void txtinshu1_textchanged(object sender, eventargs e)
private void txtinshu1_keypress(object sender, keypresseventargs e)
onlyenternumber(sender, e);
/// 只能輸入數字(含負號小數點)
public static void onlyenternumber(object sender, keypresseventargs e)
if ((e.keychar < 48 || e.keychar > 57) && e.keychar != 8 && e.keychar != 13 && e.keychar != 45 && e.keychar != 46)
e.handled = true;
// 輸入為負號時,只能輸入一次且只能輸入一次
if (e.keychar == 45 && (((textbox)sender).selectionstart != 0 || ((textbox)sender).text.indexof("-") >= 0)) e.handled = true;
if (e.keychar == 46 && ((textbox)sender).text.indexof(".") >= 0) e.handled = true;
* 引數:d表示要四捨五入的數;i表示要保留的小數點後位數。
* 正負數都四捨五入,適合資料統計的顯示
double round(double d, int i)
if (d >= 0)
d += 5 * math.pow(10, -(i + 1));
else
d += -5 * math.pow(10, -(i + 1));
string str = d.tostring();
string strs = str.split('.');
int idot = str.indexof('.');
string prestr = strs[0];
string poststr = strs[1];
if (poststr.length > i)
poststr = str.substring(idot + 1, i);
string strd = prestr + "." + poststr;
d = double.parse(strd);
return d;
private void txtinshu2_textchanged(object sender, eventargs e)
private void txtinshu2_keypress_1(object sender, keypresseventargs e)
onlyenternumber(sender, e);
private void btnjisuan_click(object sender, eventargs e)
if (txtinshu1.text == "") {
messagebox.show("因數1不能為空!", "警告", messageboxbuttons.ok, messageboxicon.warning);
return;
if (txtinshu2.text == "")
messagebox.show("因數2不能為空!", "警告", messageboxbuttons.ok, messageboxicon.warning);
return;
double inshu1 = convert.todouble(txtinshu1.text);
double inshu2 = convert.todouble(txtinshu2.text);
double result = 0.0;
if (radiobtnjia.checked) {
result = inshu1 + inshu2;
if (radiobtnjian.checked)
result = inshu1 - inshu2;
if (radiobtncheng.checked)
result = inshu1 * inshu2;
if (radiobtnchu.checked)
if (0 == inshu2)
messagebox.show("因數2做除數不能為0!", "警告", messageboxbuttons.ok, messageboxicon.warning);
return;
result = inshu1 / inshu2;
result = round(result, 6);
txtresult.text = convert.tostring(result);
因數輸入框只允許輸入數字和小數點負號的**是從網路上引用的。
大數加減乘除法
逆序函式 void rev char str,int len 大數加法 首先將兩個大數儲存到陣列中,然後對陣列逆序後進行逐位分別相加,相加後判斷是否有進製 用carry變數來記錄 實現 加法 int main if carry 1 putchar 1 for int i len 1 i 0 i pu...
簡單加減乘除
問題描述 從鍵盤輸入兩個實數到變數a和b中,然後輸入乙個數字代表進行的運算,該數字為1則代表對a和b做加法,2代表減法,3代表乘法,4代表除法。如果輸入1 3 4,表示進行1 3的操作,結果為0.333333。輸出時,保留兩位小數,因此輸出0.33。注 可直接使用printf的控制格式實現保留兩位小...
三 向量的加減乘除法
c 語言 標量與向量的乘法除法 放大乙個向量的長度 乘以乙個標量 縮放乙個向量的長度 除以乙個標量 標準化向量 長度為1,方向不變的向量,單位向量 公式 例如標準化乙個2d向量 向量的加法和減法 公式 符號變換即可 距離公式 貼上 vector.h ifndef vector3 h included...