c#课程设计—个人单词簿软件设计_第1页
c#课程设计—个人单词簿软件设计_第2页
c#课程设计—个人单词簿软件设计_第3页
c#课程设计—个人单词簿软件设计_第4页
c#课程设计—个人单词簿软件设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书 (2012/2013 学年第一学期) *学院 课程名称 : 软件程序设计 题 目 : 个人单词簿软件设计 专业班级 : 学生姓名 : 放羊娃 学 号: 指导教师 : 设计周数 : 2 周 设计成绩 : 2013 年 1 月 18 日 48 个人单词簿的设计 1、课程设计目的 本课程设计是信息工程专业的一门软件实践专业基础课,旨在提高学生的软件编程能力。本设 计将进一步加强学生对面向对象程序设计思想的理解,增强对 C#程序语言的灵活运用。要求学生 能结合数据库知识,网络通信技术,实现基本的应用软件,为以后从事相关行业打下软件编程基 础。 编写一个单词簿软件,便于个人记忆单词,并且能够进行小测试,知道自己的错误,导出单 词表,进行更深刻的记忆。 2、课程设计正文 2.1 设计分析 实现对于生单词的记录,对单词的测试,了解自己的掌握状况。 框架图 测 试 成 果 加 入 新 词 快 乐 学 习 主界面的设计 结果,导出 录入,保存 随机测试 图 1 系统设计框 图 2.2 程序设计 主界面的设计 主界面部分代码: private void Form1_Load(object sender, EventArgs e) maxnum = getmaxnum(); public int getmaxnum() string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(“binDebug“) | dataDir.EndsWith(“binRelease“) dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(“DataDirectory“, dataDir); conn = new SqlConnection(“Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True“); conn.Open(); 50 cmd = conn.CreateCommand(); cmd.CommandText = “SELECT * FROM remember “; sdr = cmd.ExecuteReader(); if (sdr.Read() return sdr.GetInt32(0); else return -1; private void button1_Click(object sender, EventArgs e) if (std = null) std = new Study(this); std.Show(); else if (std.IsDisposed) std = new Study(this); std.Show(); else std.WindowState = FormWindowState.Normal; std.Activate(); private void button2_Click(object sender, EventArgs e) if (inw = null) 新单词录入界面: 录入新词界面代码: private bool gettext()/判断输入十分为空 if (textBox1.Text != “ else 52 return false; private void button1_Click(object sender, EventArgs e) if (gettext() string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(“binDebug“) | dataDir.EndsWith(“binRelease“) dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(“DataDirectory“, dataDir); conn = new SqlConnection(“Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True“); conn.Open(); cmd = conn.CreateCommand(); cmd.CommandText = “SELECT * FROM Word WHERE word=“+textBox1.Text.Trim()+“; sdr= cmd.ExecuteReader(); if (!sdr.Read() sdr.Close(); cmd.CommandText = “INSERT INTO word VALUES(“ + textBox1.Text.Trim() + “,“ + textBox2.Text.Trim() + “,“ + textBox3.Text.Trim() + “,0)“; cmd.ExecuteNonQuery(); cmd.CommandText = “UPDATE remember SET maxnum=“ + (+f.maxnum) + “; cmd.ExecuteNonQuery(); else MessageBox.Show(“你已经保存了这个单词了亲“); sql.closeAll(conn, cmd, sdr); else MessageBox.Show(“要把单词和词义填上啊亲“); 测试成果界面: 测试成果界面代码: private void Test_Load(object sender, EventArgs e) 54 getword(); next(); private void getword() word=new stringmaxnum; meaning = new stringmaxnum; int i=0; string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(“binDebug“) | dataDir.EndsWith(“binRelease“) dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(“DataDirectory“, dataDir); Conn = new SqlConnection(“Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True“); conn.Open(); cmd = conn.CreateCommand(); cmd.CommandText = “SELECT * FROM Word“; sdr = cmd.ExecuteReader(); while(sdr.Read() wordi = sdr.GetString(0); meaningi = sdr.GetString(1); i+; sql.closeAll(conn, cmd, sdr); private void next() if (t = maxnum) if (MessageBox.Show(“测试结束“, “, MessageBoxButtons.OK) = DialogResult.OK) this.Close(); else label1.Text = wordt; int num1 = 0, num2 = 0, num3 = 0, num4 = 0; Random rd = new Random(); num1 = rd.Next(1, 4); switch (num1) case 1: A.Text = meaningt; a = t; num2 = getnum(t, 0, 0, 0); B.Text = meaningnum2; b = num2; num3 = getnum(t, num2, 0, 0); C.Text = meaningnum3; c = num3; 56 num4 = getnum(t, num2, num3, 0); D.Text = meaningnum4; d = num4; break; case 2: B.Text = meaningt; b = t; num2 = getnum(t, 0, 0, 0); A.Text = meaningnum2; a = num2; num3 = getnum(t, num2, 0, 0); C.Text = meaningnum3; c = num3; num4 = getnum(t, num2, num3, 0); D.Text = meaningnum4; d = num4; break; case 3: C.Text = meaningt; c = t; num2 = getnum(t, 0, 0, 0); B.Text = meaningnum2; b = num2; num3 = getnum(t, num2, 0, 0); A.Text = meaningnum3; a = num3; num4 = getnum(t, num2, num3, 0); D.Text = meaningnum4; d = num4; break; case 4: D.Text = meaningt; d = t; num2 = getnum(t, 0, 0, 0); B.Text = meaningnum2; b = num2; num3 = getnum(t, num2, 0, 0); C.Text = meaningnum3; c = num3; num4 = getnum(t, num2, num3, 0); A.Text = meaningnum4; a = num4; break; t+; private int getnum(int n1,int n2,int n3,int n4) Random rd = new Random(); int cnum = 0; while (true) 58 cnum = rd.Next(0, maxnum); if(cnum!=n1 return cnum; private void A_Click(object sender, EventArgs e) int j=t-1; if (a =j) pictureBox1.Visible = true; pictureBox2.Visible = false; else adderr(j); pictureBox1.Visible = false; pictureBox2.Visible = true; private void B_Click(object sender, EventArgs e) int j = t - 1; if (b = j) pictureBox1.Visible = true; pictureBox2.Visible = false; else adderr(j); pictureBox1.Visible = false; pictureBox2.Visible = true; private void C_Click(object sender, EventArgs e) int j = t - 1; if (c = j) pictureBox1.Visible = true; pictureBox2.Visible = false; else adderr(j); pictureBox1.Visible = false; pictureBox2.Visible = true; private void D_Click(object sender, EventArgs e) int j = t - 1; if (d = j) 60 pictureBox1.Visible = true; pictureBox2.Visible = false; else adderr(j); pictureBox1.Visible = false; pictureBox2.Visible = true; private void adderr(int q) int dfc = 0; string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(“binDebug“) | dataDir.EndsWith(“binRelease“) dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(“DataDirectory“, dataDir); conn = new SqlConnection(“Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True“); conn.Open(); cmd = conn.CreateCommand(); cmd.CommandText = “SELECT difficulty FROM Word WHERE word=“ + wordq + “; sdr = cmd.ExecuteReader(); if (sdr.Read() dfc = sdr.GetInt32(0); dfc+; sdr.Close(); cmd.CommandText = “UPDATE Word SET difficulty=“ + dfc + “ WHERE word=“ + wordq + “; cmd.ExecuteNonQuery(); sql.closeAll(conn, cmd, sdr); private void pictureBox1_Click(object sender, EventArgs e) pictureBox1.Visible = false; pictureBox2.Visible = false; next(); private void pictureBox2_Click(object sender, EventArgs e) pictureBox1.Visible = false; pictureBox2.Visible = false; next(); private void label1_Click(object sender, EventArgs e) 快乐学习界面: 62 快乐学习界面代码: private void Study_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“database1DataSet.Word”中。您可以根据需 要移动或删除它。 this.wordTableAdapter.Fill(this.database1DataSet.Word); private void dataGridView1_CurrentCellChanged(object sender, EventArgs e) label1.Text = this.dataGridView1.CurrentRow.Cells0.Value.ToString(); label4.Text = “出错次数:“ + this.dataGridView1.CurrentRow.Cells3. Value.ToString(); this.textBox1.Text = this.dataGridView1.CurrentRow.Cells1.Value.ToString(); this.textBox2.Text = this.dataGridView1.CurrentRow.Cells2.Value.ToString(); private void toolStripButton1_Click(object sender, EventArgs e) if (f.maxnum 5) string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(“binDebug“) | dataDir.EndsWith(“binRelease“) dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(“DataDirectory“, dataDir); conn = new SqlConnection(“Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True“); conn.Open(); cmd = conn.CreateCommand(); cmd.CommandText = “DELETE FROM word WHERE Word=“ + label1.Text + “ “; cmd.ExecuteNonQuery(); cmd.CommandText = “UPDATE remember SET maxnum=“ + (-f.maxnum) + “; cmd.ExecuteNonQuery(); sql.closeAll(conn, cmd, sdr); MessageBox.Show(“删除的单词在从新打开后不再显示“); else MessageBox.Show(“必须保留 5 个单词以维持系统稳定“) private void toolStripButton2_Click(object sender, EventArgs e) 64 StreamWriter sw = new StreamWriter(“Word.txt“); string word,meaning,phrase,df; string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(“binDebug“) | dataDir.EndsWith(“binRelease“) dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData(“DataDirectory“, dataDir); conn = new SqlConnection(“Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True“); conn.Open(); cmd = conn.CreateCommand(); cmd.CommandText = “SELECT * FROM Word“; sdr = cmd.ExecuteReader(); while (sdr.Read() word = sdr.GetString(0); meaning = sdr.GetString(1); phrase = sdr.GetString(2); df = sdr.GetInt32(3).ToString(); sw.WriteLine(word); sw.WriteLine(meaning); sw.WriteLine(phrase); sw.WriteLine(df); sw.WriteLine(“-“); sql.closeAll(conn,cmd,sdr); sw.Close(); MessageBox.Show(“已输出词表“); 2.3 程序调试结果 主界面 点击加入新词: 66 点击测试成果: 点击快乐学习并输出单词表: 3、课程设计总结 为期两周的课程设计使我初步了解有关软件方面的知识,在设计过程中虽然遇到了一些问 题,但经过一次又一次的查阅资料,一遍又一遍的检查终于找出了原因所在,也暴露出了前 期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识 不再是纸上谈兵。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。 最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终 于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社 会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其 烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后 的道路上劈荆斩棘,而不是知难而退,那样永

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论