找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3951|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

一個(gè)用C#寫的小學(xué)數(shù)學(xué)出題聯(lián)系系統(tǒng)源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:851418 發(fā)表于 2020-11-29 23:26 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
c#寫的小學(xué)數(shù)學(xué)二年級(jí)自動(dòng)出題系統(tǒng),實(shí)現(xiàn)自動(dòng)隨機(jī)出題;四則運(yùn)算。對于剛學(xué)C#的朋友掌握光標(biāo)獲取、鎖定光標(biāo),TAB切換、回車鍵綁定、隨機(jī)數(shù)產(chǎn)生、列表框顯示運(yùn)用等有幫助!


源程序如下:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;

  10. namespace WindowsFormsApp4
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }

  18.         int a, b,aaa,bbb,bb;

  19.         string op;
  20.          string op1;
  21.          string op2;

  22.          int result;
  23.          int result1;
  24.          int result2;
  25.          
  26.       
  27.         Random rnd = new Random();

  28.         private void Form1_Load(object sender, EventArgs e)
  29.         {
  30.                
  31.         
  32.         }


  33.         private void Button1Click(object sender, EventArgs e)
  34.         {
  35.                
  36.             a = rnd.Next(10) + 1;

  37.             b = rnd.Next(10) + 1;
  38.             if (a<=b)
  39.                     a=a+b;
  40.             
  41.             
  42.             aaa = rnd.Next(10) + 1;

  43.             bbb = rnd.Next(10) + 1;
  44.              if (aaa<=bbb)
  45.                     aaa=aaa+bbb;
  46.             bb = rnd.Next(8) + 1;
  47.             int c = rnd.Next(3);
  48.             int cc = rnd.Next(3);
  49.                         int ccc = rnd.Next(2);
  50.             switch (c)

  51.             {

  52.                 case 0: op = "+"; result = a + b; break;

  53.                 case 1: op = "-"; result = a - b; break;

  54.                 case 2: op = "×"; result = a * b; break;

  55.                 case 3: op = "÷"; result = a / b; break;

  56.             }
  57.               switch (cc)

  58.             {

  59.                 case 0: op1 = "+"; result1 = aaa + bbb ; break;//OP1表示當(dāng)前運(yùn)算符號(hào)和結(jié)果,運(yùn)算結(jié)果result1等于加數(shù)+加數(shù)

  60.                 case 1: op1 = "-"; result1 = aaa - bbb ; break;//OP1表示當(dāng)前運(yùn)算符號(hào)和結(jié)果,運(yùn)算結(jié)果result1等于被減數(shù)-減數(shù)

  61.                 case 2: op1 = "×"; result1 = aaa * bbb ; break;//OP1表示當(dāng)前運(yùn)算符號(hào)和結(jié)果,運(yùn)算結(jié)果result1等于乘數(shù)*乘數(shù)

  62.                 case 3: op1 = "÷"; result1 = aaa / bbb ; break;//OP1表示當(dāng)前運(yùn)算符號(hào)和結(jié)果,運(yùn)算結(jié)果result1等于除數(shù)/除數(shù)

  63.             }
  64.                switch (ccc)

  65.             {

  66.                 case 0: op2 = "+"; result2 = result1 +  bb; break;

  67.             

  68.                 case 1: op2 = "×"; result2 = result1 *  bb; break;

  69.               

  70.             }
  71.             
  72.                     textBox2.Text = a.ToString();//算式1中的從左邊到右第一個(gè)數(shù)

  73.             textBox3.Text = b.ToString();//算式1中的從左邊到右第二個(gè)數(shù)
  74.          
  75.             textBox4.Text = aaa.ToString();//算式2中的從左邊到右第一個(gè)數(shù)

  76.             textBox5.Text = bbb.ToString();//算式2中的從左邊到右第二個(gè)數(shù)
  77.             textBox6.Text = bb.ToString();//算式2中的從左邊到右第三個(gè)數(shù)

  78.             label2.Text = op;//算式1中的運(yùn)算符號(hào),隨機(jī)產(chǎn)生對應(yīng)的符號(hào)
  79.             label1.Text = op1;//算式2中的運(yùn)算符號(hào),隨機(jī)產(chǎn)生對應(yīng)的符號(hào)
  80.             label6.Text = op2;//算式2中的運(yùn)算符號(hào),隨機(jī)產(chǎn)生對應(yīng)的符號(hào)
  81.             textBox1.Text="";//按鍵后清空文本框的內(nèi)容!
  82.             textBox7.Text="";//按鍵后清空文本框的內(nèi)容!
  83.             textBox1.Focus();

  84.         }

  85.         private void Button2Click(object sender, EventArgs e)
  86.         {
  87.                
  88.                 //if (textBox1.Text =="")
  89.                 //        MessageBox.Show("請輸入數(shù)字,不能為空");
  90.                
  91.                 //else
  92.                         // MessageBox.Show("輸入的數(shù)字正確");
  93.                        

  94.                        
  95.           if (textBox1.Text  == "")//判斷是否輸入的用戶名,如果沒有輸入,顯示下面的提示,否則跳到else
  96.             {
  97.                 MessageBox.Show("答案不能為空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  98.             }
  99.           if  (textBox7.Text  == "")//判斷是否輸入的用戶名,如果沒有輸入,顯示下面的提示,否則跳到else
  100.             {
  101.                 MessageBox.Show("答案不能為空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  102.             }
  103.             else
  104.                 {
  105.                     string str = textBox1.Text;//文本框輸入為等式的結(jié)果,結(jié)果答案輸入處。

  106.                     string str1 = textBox7.Text;
  107.                        
  108.                  double d = double.Parse(str);

  109.             double dd = double.Parse(str1);
  110.                  string disp =  "       " + a + op + b + "=" + str + " ";
  111.                            string disp1 = "       " + aaa + op1 + bbb + op2 + bb + "=" + str1 + " ";
  112.       
  113.                            
  114.                  
  115.            if (d == result) // if( Math.Abs(d-result)< 1e-3 )

  116.          
  117.                     disp += "√       答案正確       劉穎穎你真棒";
  118.            
  119.             else
  120.             
  121.                           disp += "╳       答案錯(cuò)誤       加油重新列算式運(yùn)算";
  122.              if (dd == result2) // if( Math.Abs(d-result)< 1e-3 )

  123.                      disp1 += "√       答案正確       劉穎穎你真棒";
  124.             
  125.                      else
  126.                 disp1 += "╳       答案錯(cuò)誤       加油重新列算式運(yùn)算";
  127.             
  128.                                   lstDisp.Items.Add(disp);
  129.                                   lstDisp.Items.Add(disp1);
  130.                                   textBox1.Text="";//清空上一次輸入的結(jié)果!
  131.                                   textBox7.Text="";//清空上一次輸入的結(jié)果!
  132.                          
  133.             }
  134.                  
  135.     }
  136.                 void TextBox1KeyPress(object sender, KeyPressEventArgs e)
  137.                 {
  138.                         if(!(char.IsNumber(e.KeyChar))&& e.KeyChar !=(char)8)
  139.                         {
  140.                                 e.Handled = true;//判定為數(shù)字,可以輸入
  141.                         }
  142.                 }
  143.                 void LstDispSelectedIndexChanged(object sender, EventArgs e)
  144.                 {
  145.                         if (lstDisp.Text.Length >10)
  146.                                 lstDisp.Text = "";
  147.                 }
  148.                 void TextBox7KeyPress(object sender, KeyPressEventArgs e)
  149.                 {
  150.         if(!(char.IsNumber(e.KeyChar))&& e.KeyChar !=(char)8)
  151.                         {
  152.                                 e.Handled = true;//判定為數(shù)字,可以輸入
  153.                         }
  154.                 }
  155.                 void Button3Click(object sender, EventArgs e)
  156.                 {
  157.                         lstDisp.Items.Clear();
  158.                 }
  159.                
  160.     }
  161. }
復(fù)制代碼

全部資料51hei下載地址:
運(yùn)算1.4版本.7z (4.44 MB, 下載次數(shù): 20)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:851418 發(fā)表于 2020-11-30 00:56 | 只看該作者
怎么上傳附件
回復(fù)

使用道具 舉報(bào)

板凳
ID:328014 發(fā)表于 2020-12-2 05:46 | 只看該作者
回復(fù)

使用道具 舉報(bào)

地板
ID:563034 發(fā)表于 2021-8-7 15:06 | 只看該作者
不錯(cuò),學(xué)習(xí)了。實(shí)測可運(yùn)行
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表