一、代码界面展示


整个界面主要就是就整个界面而言,其实主要使用到的控件就是Menu,tabControl,dataGridView,richtextbox。

二、代码运算结果展示

1.导入数据
这里就是把txt的数据导入到程序里,数据的来源是去峨眉山实习,测了几圈峨秀湖获得的(往返3次,一共6圈,人都麻了)。txt文件的里面的数据要和表格里面的位置对应。
手动输入数据那个比较鸡肋,就是输进去了再保存成txt,再导入,图一乐,不如直接在txt中输入。


2.参数设置
我这里直接就内置了我们实习测量时候的测站设置。限差这些可以自己修改,没啥难度(就是几个if语句)

3.计算数据
参数设置之后计算数据
数据如果超限,会依次弹窗出来提示,因为实验的数据已经是经过修改的,所以没有弹窗提醒。
源代码中有相关的代码
4.生成外业观测手簿
这里我就没有用表格了,因为我用datagridview也设计不来,能力有限,有兴趣你自己可以试一试。就按照手簿的样子,在richtextbox上面输出出来。大致位置是一样的,格式看着有一点点奇怪,但是绝对够看了。

5.生成高程配赋表
这里也是用的richtextbox,一圈6km,测6次,麻了。

6.重置
这没什么好说的了,就是把数据,界面重置了。
7.保存
把计算出的外业观测手簿和高程配赋表导出成txt。

三、源代码

变量设置

namespace work
{class Shuju{public double sumh = 0, suml = 0;public string qhsjc;//前后视距差public string sjljc;//视距累积差public string hhmdsc;//红黑面读数差public string hhmgczc;//红黑面高差之差public string [] dh;//点号public string [] czs;//测站数public string qd;//起始点高程public string zd;//重点高程public string czbh;//测站编号public double hcs;//后视上丝    public double qcs;  //前视上丝  public double hcx;//后视下丝public double qcx;//前视下丝public double hchmzs1;//后尺黑面中丝public double hchmzs2;//后尺红面中丝  public double qchmzs1;//前尺黑面中丝      public double qchmzs2;//前尺红面中丝public double fh;//闭合差public double zjl;//总距离public double hj;//后距public double qj;//前距//public double qjjhjp;public double sjc;//视距差public double sjch;//视距差和public double hjq1;//后尺黑面中丝-前尺黑面中丝public double hjq2;//后尺红面中丝-前尺红面中丝public double hjq11;//后尺黑面中丝-前尺黑面中丝public double hjq12;//后尺红面中丝-前尺红面中丝public double kjhjh1;//K+黑减红 后尺public double kjhjh2;//K+黑减红 前尺public double kjhjh3;//1与2之差public double gczs;//高程中数public double gc;//高程public double dhgc;//点号高程public double jl;//距离public double pjgc;//平均高程public double gzs;//改正数public double gzhgc;//改正后高程public bool bd=false;//判断}
}

Form1

namespace work
{public partial class Form1 : Form{List<Shuju> sj = new List<Shuju>();Shuju shuju = new Shuju();Form2 form2 = new Form2();public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}private void 文件ToolStripMenuItem_Click(object sender, EventArgs e){}private void 导入原始数据ToolStripMenuItem_Click(object sender, EventArgs e){string[] temp;OpenFileDialog ofd = new OpenFileDialog();ofd.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";ofd.Title = "打开数据文件";if (ofd.ShowDialog(this) == DialogResult.OK){StreamReader sr = new StreamReader(ofd.FileName);while (!sr.EndOfStream){temp = sr.ReadLine().Split(new[] { ' ', ',', '.', ':' , '  ' },StringSplitOptions.RemoveEmptyEntries);Shuju shuju = new Shuju();shuju.czbh = temp[0];shuju.hcs = Convert.ToDouble(temp[1]);shuju.qcs = Convert.ToDouble(temp[2]);shuju.hcx = Convert.ToDouble(temp[3]);shuju.qcx = Convert.ToDouble(temp[4]);shuju.hchmzs1 = Convert.ToDouble(temp[5]);shuju.hchmzs2 = Convert.ToDouble(temp[6]);shuju.qchmzs1 = Convert.ToDouble(temp[7]);shuju.qchmzs2 = Convert.ToDouble(temp[8]);sj.Add(shuju); }sr.Close();GridBuild1(); }else{MessageBox.Show("输入失败");}}//获取数据public void GridBuild1(){for (int i = 0; i < sj.Count; i++){dataGridView1.Rows.Add();dataGridView1.Rows[i].Cells[0].Value = sj[i].czbh;dataGridView1.Rows[i].Cells[1].Value = sj[i].hcs;dataGridView1.Rows[i].Cells[2].Value = sj[i].qcs;dataGridView1.Rows[i].Cells[3].Value = sj[i].hcx;dataGridView1.Rows[i].Cells[4].Value = sj[i].qcx;dataGridView1.Rows[i].Cells[5].Value = sj[i].hchmzs1;dataGridView1.Rows[i].Cells[6].Value = sj[i].hchmzs2;dataGridView1.Rows[i].Cells[7].Value = sj[i].qchmzs1;dataGridView1.Rows[i].Cells[8].Value = sj[i].qchmzs2;}}private void 参数设置ToolStripMenuItem_Click(object sender, EventArgs e){shuju.bd = true;CSSZ();}public void CSSZ(){Form2 form2 = new Form2();form2.ShowDialog();shuju.qd = form2.textBox4.Text;shuju.zd = form2.textBox5.Text;string a = form2.textBox1.Text;shuju.dh = a.Split(new Char[] { ' ', ',', '.', ':' });string b = form2.textBox3.Text;shuju.czs = b.Split(new Char[] { ' ', ',', '.', ':' });shuju.qhsjc = form2.textBox6.Text;shuju.sjljc = form2.textBox7.Text;shuju.hhmdsc = form2.textBox8.Text;shuju.hhmgczc = form2.textBox9.Text;}//参数设置private void 计算ToolStripMenuItem_Click_1(object sender, EventArgs e){if (shuju.bd==false){MessageBox.Show("请输入参数");}else{Gcsb();Gcpfb();}}public void Gcsb(){//计算前后距for (int j = 0; j < sj.Count; j++){sj[j].hj = (sj[j].hcs - sj[j].hcx) / 10;//计算后距sj[j].qj = (sj[j].qcs - sj[j].qcx) / 10;//计算前距//sj[j].qjjhjp = sj[j].hj + sj[j].hj;sj[j].sjc = sj[j].hj - sj[j].qj;//计算视距差if (sj[j].sjc >Convert.ToInt32(shuju.qhsjc)){MessageBox.Show("前后视距差超限");break;}//计算视距差和if (j == 0){sj[j].sjch = sj[j].sjc;}else{sj[j].sjch = sj[j - 1].sjch + sj[j].sjc;if (sj[j].sjch > Convert.ToInt32(shuju.sjljc)){MessageBox.Show("前后视距差累积和超限");break;}}}//计算高差//计算K+黑减红for (int i = 0; i < sj.Count; i++){double k1 = 4687;double k2 = 4787;if (Math.Abs(sj[0].hchmzs1 + k1 - sj[0].hchmzs2) < Math.Abs(sj[0].hchmzs1 + k2 - sj[0].hchmzs2)){if (i % 2 == 0){sj[i].kjhjh1 = sj[i].hchmzs1 + k1 - sj[i].hchmzs2;sj[i].kjhjh2 = sj[i].qchmzs1 + k2 - sj[i].qchmzs2;}else if (i % 2 == 1){sj[i].kjhjh1 = sj[i].hchmzs1 + k2 - sj[i].hchmzs2;sj[i].kjhjh2 = sj[i].qchmzs1 + k1 - sj[i].qchmzs2;}}else{if (i % 2 == 0){sj[i].kjhjh1 = sj[i].hchmzs1 + k2 - sj[i].hchmzs2;sj[i].kjhjh2 = sj[i].qchmzs1 + k1 - sj[i].qchmzs2;}else if (i % 2 == 1){sj[i].kjhjh1 = sj[i].hchmzs1 + k1 - sj[i].hchmzs2;sj[i].kjhjh2 = sj[i].qchmzs1 + k2 - sj[i].qchmzs2;}}if (Math.Abs( sj[i].kjhjh1)>3|| Math.Abs(sj[i].kjhjh2) >3){MessageBox.Show("第" + sj[i].czbh + "号测站红黑面读数差超限");}sj[i].hjq11 = (sj[i].hchmzs1 - sj[i].qchmzs1);sj[i].hjq12 = (sj[i].hchmzs2 - sj[i].qchmzs2);sj[i].hjq1 = (sj[i].hchmzs1 - sj[i].qchmzs1) / 1000;sj[i].hjq2 = (sj[i].hchmzs2 - sj[i].qchmzs2) / 1000;//计算高差中数sj[i].kjhjh3 = sj[i].kjhjh1 - sj[i].kjhjh2;if (sj[i].kjhjh3 > Convert .ToInt32(shuju.hhmgczc) || sj[i].kjhjh3 < -(Convert.ToInt32(shuju.hhmgczc))){MessageBox.Show("第" + sj[i].czbh + "号测站红黑面读数差之差超限");}if (sj[i].hjq1 > sj[i].hjq2){sj[i].gczs = (sj[i].hjq1 + sj[i].hjq2 + 0.1) / 2;}else if (sj[i].hjq1 < sj[i].hjq2){sj[i].gczs = (sj[i].hjq1 + sj[i].hjq2 - 0.1) / 2;}else{sj[i].gczs = (sj[i].hjq1 + sj[i].hjq2) / 2;}shuju.sumh += sj[i].gczs;}//计算高for (int i = 0; i < sj.Count; i++){if (i == 0){sj[i].gc = Convert.ToDouble(shuju.qd) + sj[i].gczs;}else{sj[i].gc = sj[i - 1].gc + sj[i].gczs;}}GridBuild2();}//外业观测手簿public void Gcpfb()//高程误差配赋表{//计算两点距离//计算平均高差   if (sj.Count == 0){MessageBox.Show("请输入数据");}else{int b = 0;int c = 0;for (int a = 0; a < shuju.czs.Length; a++){if (a == 0){b = Convert.ToInt32(shuju.czs[a]);for (int i = c; i < b; i++){sj[a].jl += sj[i].hj + sj[i].qj;sj[a].pjgc += sj[i].gczs;sj[a].gzs = -(sj[i].jl / shuju.zjl) * shuju.fh;sj[a].gzhgc = sj[i].pjgc + sj[i].gzs;}}else{b += Convert.ToInt32(shuju.czs[a]);c += Convert.ToInt32(shuju.czs[a - 1]);for (int i = c; i < b; i++){sj[a].jl += sj[i].hj + sj[i].qj;sj[a].pjgc += sj[i].gczs;sj[a].gzs = -(sj[i].jl / shuju.zjl) * shuju.fh;sj[a].gzhgc = sj[i].pjgc + sj[i].gzs;}}shuju.zjl += sj[a].jl;//计算总距离}//计算高差闭合差shuju.fh = shuju.sumh + Convert.ToDouble(shuju.qd) - Convert.ToDouble(shuju.zd);if (Math.Abs(shuju.fh) > 20 * Math.Pow(shuju.zjl / 1000, 0.5)){MessageBox.Show("高差闭合差超限");}//计算高差改正数//计算改正后高差for (int i = 0; i < shuju.czs.Length; i++){sj[i].gzs = -(sj[i].jl / shuju.zjl) * shuju.fh;sj[i].gzhgc = sj[i].pjgc + sj[i].gzs;}//高程for (int i = 0; i < sj.Count; i++){if (i == 0){sj[i].dhgc = Convert.ToDouble(shuju.qd) + sj[i].gzhgc;}else{sj[i].dhgc = sj[i - 1].dhgc + sj[i].gzhgc;}}}}public void GridBuild2(){for (int i = 0; i < sj.Count; i++){dataGridView2.Rows.Add();dataGridView2.Rows[i].Cells[0].Value = sj[i].czbh;dataGridView2.Rows[i].Cells[1].Value = Math.Round(sj[i].hj, 4);dataGridView2.Rows[i].Cells[2].Value = Math.Round(sj[i].qj, 4);dataGridView2.Rows[i].Cells[3].Value = Math.Round(sj[i].sjc, 4);dataGridView2.Rows[i].Cells[4].Value = Math.Round(sj[i].sjch, 4);dataGridView2.Rows[i].Cells[5].Value = Math.Round(sj[i].gczs, 4);dataGridView2.Rows[i].Cells[6].Value = Math.Round(sj[i].gc, 4);}}private void chart1_Click(object sender, EventArgs e){}private void 生成外业观测手簿ToolStripMenuItem_Click(object sender, EventArgs e){}private void 生成平差高程误差配赋表ToolStripMenuItem_Click(object sender, EventArgs e) {}private void 导出外业观测手簿ToolStripMenuItem_Click(object sender, EventArgs e){int i ;SaveFileDialog dlg = new SaveFileDialog();dlg.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (dlg.ShowDialog() == DialogResult.OK){string path = dlg.FileName;StreamWriter sw = new StreamWriter(path);sw.WriteLine("                             四等水准测量观测手簿");sw.WriteLine("测站       后下丝       前下丝       方 向        标 尺 读 数     K + 黑");sw.WriteLine("编号       尺上丝       尺上丝        及                                     减            高差");sw.WriteLine("                后距           前距        尺 号        黑        红          红            中数");sw.WriteLine("             视距差d         Σd                          面        面");sw.WriteLine("");for (i = 0; i < sj.Count; i++){sw.WriteLine( sj[i].czbh + "           " + sj[i].hcs + "         " + sj[i].qcs + "         后           " + sj[i].hchmzs1 + "     " + sj[i].hchmzs2 + "          " + sj[i].kjhjh1);sw.WriteLine("             " + sj[i].hcx + "         " + sj[i].qcx + "          前             " + sj[i].qchmzs1 + "      " + sj[i].qchmzs2 + "       " + sj[i].kjhjh2 + "              " + sj[i].gczs);sw.WriteLine("             " + sj[i].qj + "             " + sj[i].hj + "      后-前         " + sj[i].hjq11 + "        " + sj[i].hjq12 + "        " + sj[i].kjhjh3);sw.WriteLine("             " + Math.Round(sj[i].sjc, 4) + "           " + Math.Round(sj[i].sjch, 4));}MessageBox.Show("保存路径:" + dlg.FileName);sw.Close();}else{MessageBox.Show("保存失败!");}} private void 导出ToolStripMenuItem_Click_1(object sender, EventArgs e){int i ;SaveFileDialog dlg = new SaveFileDialog();dlg.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (dlg.ShowDialog() == DialogResult.OK){string path = dlg.FileName;StreamWriter sw = new StreamWriter(path);sw.WriteLine( "                                      高程误差配赋表\r\n");               sw.WriteLine( "点号   距离(m)  平均高差(m)     改正数(m)   改正后高差(m)   点之高程(m)       备注" + "\r\n");for (i = 0; i < shuju.dh.Length; i++){if (i == 0){sw.WriteLine(shuju.dh[i] + "                                                                                            " + shuju.qd + "\r\n");sw.WriteLine("            " + Math.Round(sj[i].jl, 1) + "          " + Math.Round(sj[i].pjgc,3) + "              " +Math.Round(sj[i].gzs, 4) + "         " + Math.Round(sj[i].gzhgc, 3) + "        " + "\r\n");}else if (i == shuju.dh.Length-1){sw.WriteLine(shuju.dh[i] + "                                                                                            " + Math.Round(sj[i - 1].dhgc, 3) + "\r\n");}else{sw.WriteLine(shuju.dh[i] + "                                                                                            " + Math.Round(sj[i - 1].dhgc, 3) + "\r\n");sw.WriteLine("            " + Math.Round(sj[i].jl, 1) + "          " + Math.Round(sj[i].pjgc, 3) + "              " +Math.Round(sj[i].gzs, 4) + "         " + Math.Round(sj[i].gzhgc, 3) + "        " + "\r\n");}}sw.WriteLine("总距离(m):   " + shuju.zjl + "\r\n");sw.WriteLine("闭合差(mm):   " + Math.Round(shuju.fh, 3) * 1000 + "\r\n");sw.WriteLine("每公里改正数(mm):   " + Math.Round(Math.Round(shuju.fh, 3) * 1000 / shuju.zjl * 1000, 0) + "\r\n");sw.WriteLine("路线闭合差(mm):   " + Math.Round(20 * Math.Pow(shuju.zjl / 1000, 0.5), 0));MessageBox.Show("保存路径:" + dlg.FileName);sw.Close();}else{MessageBox.Show("保存失败!");}}private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e){}private void richTextBox1_TextChanged(object sender, EventArgs e){}private void richTextBox2_TextChanged(object sender, EventArgs e){}private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e){}private void 重置ToolStripMenuItem_Click(object sender, EventArgs e){dataGridView1.Rows.Clear();dataGridView2.Rows.Clear();richTextBox2.Text = "";richTextBox1.Text = "";shuju.fh = 0;shuju.sumh = 0;shuju.zjl = 0;sj.Clear();}private void 保存数据ToolStripMenuItem_Click(object sender, EventArgs e){}private void 外业观测手簿ToolStripMenuItem_Click(object sender, EventArgs e){int i;richTextBox1.AppendText(Environment.NewLine);richTextBox1.Text = "                             四等水准测量观测手簿\n";richTextBox1.Text += "测站       后上丝       前上丝       方 向        标 尺 读 数     K + 黑\n";richTextBox1.Text += "编号       尺下丝       尺下丝        及                           减            高差\n";richTextBox1.Text += "            后距         前距        尺 号        黑      红       红            中数\n";richTextBox1.Text += "           视距差d        Σd                      面      面\n";richTextBox1.Text += "";for (i = 0; i < sj.Count; i++){richTextBox1.Text += "  " + sj[i].czbh + "         " + sj[i].hcs + "         " + sj[i].qcs + "         后         " + sj[i].hchmzs1 + "     " + sj[i].hchmzs2 + "     " + sj[i].kjhjh1 + "\r\n";richTextBox1.Text += "            " + sj[i].hcx + "         " + sj[i].qcx + "          前         " + sj[i].qchmzs1 + "      " + sj[i].qchmzs2 + "    " + sj[i].kjhjh2 + "            " + sj[i].gczs + "\r\n";richTextBox1.Text += "             " + sj[i].hj + "        " + sj[i].qj + "          后-前      " + sj[i].hjq11 + "      " + sj[i].hjq12 + "      " + sj[i].kjhjh3 + "\r\n";richTextBox1.Text += "             " + Math.Round(sj[i].sjc, 4) + "         " + Math.Round(sj[i].sjch, 4) + "                      " + "\r\n";}}private void 高程误差配赋表ToolStripMenuItem_Click(object sender, EventArgs e){richTextBox2.AppendText(Environment.NewLine);richTextBox2.Text += "                                      高程误差配赋表\r\n";richTextBox2.Text += "点号   距离(m)  平均高差(m)     改正数(m)   改正后高差(m)   点之高程(m)       备注" + "\r\n";for (int i = 0; i < shuju.dh.Length; i++){if (i == 0){richTextBox2.Text += shuju.dh[i] + "                                                              " + shuju.qd + "\r\n";richTextBox2.Text += "       " + Math.Round(sj[i].jl, 1) + "          " + Math.Round(sj[i].pjgc, 3) + "         " +Math.Round(sj[i].gzs, 4) + "         " + Math.Round(sj[i].gzhgc, 3) + "        " + "\r\n";}else if (i == shuju.dh.Length - 1){richTextBox2.Text += shuju.dh[i] + "                                                              " + Math.Round(sj[i - 1].dhgc, 3) + "\r\n";}else{richTextBox2.Text += shuju.dh[i] + "                                                              " + Math.Round(sj[i - 1].dhgc, 3) + "\r\n";richTextBox2.Text += "       " + Math.Round(sj[i].jl, 1) + "          " + Math.Round(sj[i].pjgc, 3) + "         " +Math.Round(sj[i].gzs, 4) + "         " + Math.Round(sj[i].gzhgc, 3) + "        " + "\r\n";}}richTextBox2.Text += "总距离(m):   " + shuju.zjl + "\r\n";richTextBox2.Text += "闭合差(mm):   " + Math.Round(shuju.fh, 3) * 1000 + "\r\n";richTextBox2.Text += "每公里改正数(mm):   " + Math.Round(Math.Round(shuju.fh, 3) * 1000 / shuju.zjl * 1000, 0) + "\r\n";richTextBox2.Text += "路线闭合差(mm):   " + Math.Round(20 * Math.Pow(shuju.zjl / 1000, 0.5), 0);}private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e){}}
}

Form2就是参数设置的窗体,其实没什么东西,就是预置我实习时候的设置,方便计算的。

namespace work
{public partial class Form2 : Form{List<Shuju> sj = new List<Shuju>();Shuju shuju = new Shuju();public Form2(){InitializeComponent();}private void label1_Click(object sender, EventArgs e){}private void label2_Click(object sender, EventArgs e){}public void button1_Click(object sender, EventArgs e){if (textBox1.Text ==""||textBox2.Text == ""||textBox3.Text == "" || textBox4.Text == ""||textBox6.Text == ""||textBox7.Text == "" ||textBox8.Text == "" || textBox9.Text == ""){MessageBox.Show("未完整输入数据");}else{Close();}}private void label5_Click(object sender, EventArgs e){}private void textBox2_TextChanged_1(object sender, EventArgs e){}private void label6_Click(object sender, EventArgs e){}private void label8_Click(object sender, EventArgs e){}private void TextBox8_TextChanged(object sender, EventArgs e){}private void label11_Click(object sender, EventArgs e){}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){if (comboBox1.Text == "四等"){ textBox6.Text = "3";textBox7.Text = "10";textBox8.Text = "3";textBox9.Text = "5";}else{textBox6.Text = "";textBox7.Text = "";textBox8.Text = "";textBox9.Text = "";MessageBox.Show("请手动输入");}}private void textBox7_TextChanged(object sender, EventArgs e){}private void textBox1_TextChanged(object sender, EventArgs e){}private void textBox3_TextChanged(object sender, EventArgs e){}private void Form2_Load(object sender, EventArgs e){}private void label12_Click(object sender, EventArgs e){}private void textBox5_TextChanged(object sender, EventArgs e){}private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){if (comboBox2.Text == "第一圈"){textBox1.Text = "a,b,c,d,e,f,g,a";textBox2.Text = "81";textBox3.Text = "10,8,13,13,13,10,14";textBox4.Text = "0";textBox5.Text = "0";comboBox1.Text = "四等";}else if (comboBox2.Text == "第二圈"){textBox1.Text = "a,g,f,e,d,c,b,a";textBox2.Text = "84";textBox3.Text = "12,10,14,12,14,10,12";textBox4.Text = "0";textBox5.Text = "0";comboBox1.Text = "四等";}else if (comboBox2.Text == "第三圈"){textBox1.Text = "a,b,c,d,e,f,g,a";textBox2.Text = "84";textBox3.Text = "12,10,14,12,14,10,12";textBox4.Text = "0";textBox5.Text = "0";comboBox1.Text = "四等";}}}
}

四、结语

这个程序是我第一次实习的时候编写的,有助于你用C#写测绘工程实习程序,特别的需要批量处理的。谢谢您的阅读。
如果你有基础,看源码就可以了。如果你才学C#窗体,我觉得你下载这一个程序或者闭合导线那个基本上可以满足测绘程序编写的要求了,不用每个问题都去搜索,这两个程序基本都包括了。
我的其他文章:

  1. 利用Python编写一个高斯正反算程序:https://blog.csdn.net/Zj1638/article/details/125740379
  2. 利用C#编写一个高斯正反算程序:https://blog.csdn.net/Zj1638/article/details/125380593
  3. 利用C#编写一个附和闭合导线简易平差程序:https://blog.csdn.net/Zj1638/article/details/125639541
  4. 利用C#编写一个GPS高程拟合(二次曲面拟合模型)程序:https://blog.csdn.net/Zj1638/article/details/125752243

相关下载链接:

  1. 利用C#编写一个水准测量近似平差程序下载链接:https://download.csdn.net/download/Zj1638/16732130
  2. 利用C#编写一个附和闭合导线简易平差程序下载链接:https://download.csdn.net/download/Zj1638/85928040
  3. 利用C#编写一个高斯正反算程序下载链接:https://download.csdn.net/download/Zj1638/85711234
  4. 利用Python编写一个高斯正反算程序下载链接:https://download.csdn.net/download/Zj1638/86059069
  5. 利用C#编写一个GPS高程拟合(二次曲面拟合模型)程序下载链接:https://download.csdn.net/download/Zj1638/85916113

需要的可以支持一下。如果有什么不懂的,可以私信,我看到了会回答的。

利用C#编写一个水准测量近似平差程序相关推荐

  1. 利用QT编写一个简单爬虫程序

    从高中到大学,一直在固定小说网中下载小说,小说网停机过好几次但最后又起死回生.最近萌发一个想法,把小说网里的小说都爬下来.. 既然要爬网站肯定要对网站结构十分了解,幸好小说网没有弄什么登陆防爬措施,结 ...

  2. 利用C#编写一个高斯正反算程序

    一.代码界面展示 整个界面控件为tabControl,groupBox,label,textbox,comboBox,button,richTextBook. 二.代码运算结果展示 数据结果采用国家统 ...

  3. 利用Python编写一个高斯正反算程序

    一.前言 这次的高斯正反算程序是使用的Python编写的. 环境信息是:Win10.PyCharm 2021.3.1.PySide6 6.3.1.Python 3.9.9,基于QT Designer设 ...

  4. java编程用户输入两个数字_编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不...

    导航:网站首页 > 编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不 编写一个Java应用程序,要求从键盘输入 ...

  5. python数据预测_利用Python编写一个数据预测工具

    利用Python编写一个数据预测工具 发布时间:2020-11-07 17:12:20 来源:亿速云 阅读:96 这篇文章运用简单易懂的例子给大家介绍利用Python编写一个数据预测工具,内容非常详细 ...

  6. java写便签_如何编写一个便签程序(用Java语言编写)

    如何编写一个便签程序(用Java语言编写) 热度:336   发布时间:2011-02-18 11:44:16 如何编写一个便签程序(用Java语言编写) 因为以前没有好好学习Java,都搞忘了,请大 ...

  7. java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E...

    21.编写一个Java应用程序,该程序包括3个类:Monkey类.People类和主类 E.要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public vo ...

  8. 编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。

    编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接.整数相加和浮点数相加.要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃. pack ...

  9. java编写一个个人通信录程序

    Java编写一个个人通信录程序,具有如下功能: (1)定义一个类,包括姓名.邮政编码.通信地址等成员变量 (2)查找:根据姓名在文件中查找个人信息,如果找到则显示出来 (3)添加:向文件中写个人信息 ...

最新文章

  1. 《数字视频和高清:算法和接口》一第1章 光 栅 图 像
  2. Python 基础练习
  3. dataframe iloc_如何使用iloc和loc 对Pandas Dataframe进行索引和切片
  4. 【数据分析就业实战】——缺失值的常见处理方法
  5. apriori算法python_清华学霸亲测有效,每日自学两小时Python,学完就能做项目
  6. [转载] 的士速递4
  7. java 对象给对象赋值为空_java中,只声明一个对象不赋值,与声明一个对象并赋为 null 的区别...
  8. Vue:axios中POST请求传参问题
  9. java 微信小程序 在线学习系统app
  10. CTE6备考与考试感悟
  11. win10卸载软件_win10系统卸载软件超详细教程
  12. 伽卡他卡使用教程_【伽卡他卡电子教室教师端介绍】伽卡他卡电子教室教师端特色_伽卡他卡电子教室教师端说明-最笨下载...
  13. 计算机网络协议简介及英文简写
  14. 「To B端增长黑客」 获客矩阵
  15. gets和fgets函数及其区别,C语言gets和fgets函数详解
  16. Linux安装RabbitMQ详细教程
  17. 三星GT-P1000完美刷机教程,附ROM刷机包下载
  18. quora 查看收藏的回答(bookmark)
  19. 搞定这套 Python 爬虫面试题,面试会 so easy
  20. Java语法快速学习-黑马程序员(个人整理版本)

热门文章

  1. 废纸液压打包机的使用技巧
  2. OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……
  3. elasticsearch启动报错Failed to clear cache for realms [[]]
  4. 如何检查文件正在被使用
  5. 华中科技大计算机全国排名,华中科技大学怎么样 2021年全国排名多少
  6. 【OpenCV 例程300篇】250. 梯度算子的传递函数
  7. 室内地图编辑器,什么软件可以编辑地图
  8. 学生党如何拿到阿里技术offer:《阿里实习生面试经验(成功)》
  9. 让机器读懂人类:探索问答系统和机器阅读理解
  10. 使用PDF处理控件Aspose.PDF以编程方式打印PDF文档完整攻略