四则运算
Posted 计算机技术—dq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四则运算相关的知识,希望对你有一定的参考价值。
private void Form1_Load(object sender, EventArgs e) { ReadXml(); CreateExpressionAndResult(); } protected override void OnClosing(CancelEventArgs e) { SaveXml(); base.OnClosing(e); }
在程序启动的时候从sml文件中读取数据,设置一下难度,用户名等信息。
private void SaveXml() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "Setting.xml"); xmlDoc.RemoveAll(); XmlElement xe = xmlDoc.CreateElement("saveData"); xe.SetAttribute("userName", m_userName); xe.SetAttribute("difficulty", m_difficulty); xe.SetAttribute("totalCount", m_totalCount.ToString()); xe.SetAttribute("correctCount", m_correctCount.ToString()); xmlDoc.AppendChild(xe); xmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory + "Setting.xml"); } private void ReadXml() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "Setting.xml"); XmlElement xe = (XmlElement)xmlDoc.SelectSingleNode("saveData"); m_userName = xe.GetAttribute("userName"); m_difficulty = xe.GetAttribute("difficulty"); m_totalCount = int.Parse(xe.GetAttribute("totalCount")); m_correctCount = int.Parse(xe.GetAttribute("correctCount")); m_wrongCount = m_totalCount - m_correctCount; }
写入和读取xml文件的具体方法步骤
private void CreateExpressionAndResult() { m_expression = CalculateTest.Program.CreateExpression(m_difficulty); label1.Text = m_expression + " = "; m_result = CalculateTest.Program.Calculate(m_expression); }
用旧项中的方法生成表达式
private void button1_Click(object sender, EventArgs e) { string messageText; if (resultInput.Text == m_result.ToString()) { messageText = "回答正确!"; m_correctCount++; } else { messageText = "回答错误!正确答案是 " + m_result.ToString() ; m_wrongCount++; } m_totalCount++; DialogResult dr = MessageBox.Show(messageText, "提示:"); if (dr == DialogResult.OK) { CreateExpressionAndResult(); resultInput.Text = ""; } }
弹出了一个提示用来显示回答是否是正确,而且能更新答题的总数,正确题数和错误的题数,晴空input并做下一道题目。
string m_userName { get { return userNameLabel.Text; } set { userNameLabel.Text = value; } } string m_difficulty { get { return difficultyLabel.Text; } set { difficultyLabel.Text = value; } } int m_totalCount { get { return int.Parse(totalCountLabel.Text); } set { totalCountLabel.Text = value.ToString(); } } int m_correctCount { get { return int.Parse(correctCountLabel.Text); } set { correctCountLabel.Text = value.ToString(); } } int m_wrongCount { get { return int.Parse(wrongCountLabel.Text); } set { wrongCountLabel.Text = value.ToString(); } }
通过变量的赋值来更新界面上所显示的内容。
if (difficulty == "Easy") { oplist = new List<char>() { ‘+‘, ‘-‘, ‘+‘, ‘-‘ }; } else { oplist = new List<char>() { ‘+‘, ‘-‘, ‘*‘, ‘/‘ }; }
如果是简单的,就只有加减乘除。
if (difficulty == "Difficult") { int pos; index = expList.IndexOf("/"); if (-1 == index) { pos = position[ran.Next(3)]; } else { if (1 == index) { position.RemoveAt(1); } else if (3 == index) { position.RemoveAt(2); } pos = position[ran.Next(position.Count())]; } expList.Insert(pos, "("); expList.Insert(pos + 4, ")"); }
难度是困难时,插入了括号,枚举括号的位置。
结对伙伴:李俞寰
以上是关于四则运算的主要内容,如果未能解决你的问题,请参考以下文章
获取 badarith,[erlang,'+',[error,0],[],同时使用 Erlang 片段在 TSUNG 中执行算术运算