C sharp 课程设计论文-公司抽奖管理系统设计.docx_第1页
C sharp 课程设计论文-公司抽奖管理系统设计.docx_第2页
C sharp 课程设计论文-公司抽奖管理系统设计.docx_第3页
C sharp 课程设计论文-公司抽奖管理系统设计.docx_第4页
C sharp 课程设计论文-公司抽奖管理系统设计.docx_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

C#程序设计课程设计题 目 公司抽奖管理系统设计 姓 名 贾芳超 专 业 计算机科学与技术 学 号 201215035 指导教师 黄于欣 郑州科技学院信息工程学院 二一五年十一月摘 要 公司抽奖系统的设计是针对公司节日或活动等为公司员工发放福利的设计,其开发主要包括前端应用程序与界面的设计和后台数据的建立与导入两个方面。对于前端要求易于操作且功能完整,随机等特点,而后台要建立起一个相应需求的数据一致性和完整性强、数据安全性好的数据列表。Visual Studio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。所以本人此次采用微软公司的Microsoft Visual Studio 2010作为前端应用程序开发工具,同时利用Excel 建立后台数据,在本次课程设计中进行了公司抽奖管理系统的设计。本系统能方便而简洁地实现应用程序运行,易于操作,能很好的满足公司快捷、方便、公平,有趣地发放奖品的需求。关键词:公司抽奖系统;Visual Studio 2010;Excel;IDE目 录 引言11系统的开发背景22需求分析2 2.1系统需求分析22.2系统开发的环境的选择23可行性分析33.1经济的可行性33.2技术的可行性33.3操作的可行性44系统功能设计45系统功能及流程图45.1系统功能图45.2系统流程图56数据的设计与创建66.1在Excel建立的员工信息设计66.2在Excel建立的奖品清单设计67系统详细设计部分及测试结果77.1主页面的设计及功能实现77.1.1测试 167.2数据导入页面及功能的设计167.2.1测试247.3查看中奖信息功能设计257.3.1测试268总结27参考文献引言 随着计算机技术和经济的快速发展,现在各行各业都离不开计算机。不论是企业的种种业务还是各种公共设施建立等等都需要运用计算机技术,处理着大量的繁杂的问题,实现快速有效的管理,大大提高了工作效率,同时在本次的系统设计运用也具有一定的合理,公平,有趣性。 本次的公司抽奖系统的开发设计主要包括前端应用程序以及后台数据的建立和维护两个方面。经过分析,我建立了Excel数据并选用微软公司的Microsoft Visual Studio 2010来开发系统,利用其提供的各种面向对象的开发工具,操纵建立的Excel数据。 本论文正文分介绍了公司抽奖系统开发背景以及如何开发,并简要概述了Microsoft Visual Studio 2010 和Excel。介绍系统开发前的准备,包括系统的需求说明及系统总体结构设计和详细设计和着重阐述了系统主要功能模块的具体实现及是系统开发的后期工作,讲到了该系统的不完善之处及本次系统开发过程中一些切身的感受与想法,是我做这次毕业设计的心得体会。 1系统开发背景 抽奖活动一般是很多企业或组织举办活动的必备环节。传统的翻牌抽奖、转盘抽奖、砸金蛋及以前那种使用抽奖箱+纸片,然后由嘉宾一个一个地抽取奖项的方式早已落伍了且由于经济的飞速发展。随着公司规模不断扩大,员工数量已是巨大,传统的费时费力不说,还容易出错,本来是喜庆的活动,让大家扫兴可就不好了。 在信息技术充分发展的今天,公司各种活动年年创意,活动抽奖也要紧紧抓住“创新”理念步入后尘,因此一种新兴的抽奖方式正在悄然兴起,那就是使用抽奖软件,这种方式具有很多传统人工抽奖所不具备的优点,比如抽取数量、速度、音乐、背景、画面、场景、效果等,大大超出了传统抽奖方式所能带来的体验,让参与活动的人都能感受到计算机科技带给我们的巨大惊喜。 2需求分析2.1系统需求分析 本次公司抽奖系统需求分析就是针对此系统所需要的相关功能,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和开发工具的选择。2.2系统开发的环境的选择 Visual Studio 2010是微软公司推出的集成开发环境,是目前最流行的 Windows 平台应用程序开发环境。它是把代码的编写、程序的调试、编译、运行以及其他的相关操作都集成在一起的“编程工具”。 作用是程序员通过它这个平台,利用编程语言来写程序,调试,运行。 Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。 经分析,本库存管理系统选用Microsoft Visual Studio 2010来设计界面,选用Excel来建立后台数据。 由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境。(1)数据建立工具:Microsoft Office Excel; (2)前端开发工具:Microsoft Visual Studio 2010;3可行性分析3.1经济的可行性本公司抽奖管理系统设计需求的硬件和软件分别是计算机及相关硬件和软件环境Microsoft Visual Studio 2010+Excel,对于硬件只需要到市场上购买到而软件只需要从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对公司不造成过重的经济负担。此系统的投入使用改变了公司传统的抽奖方式,不需要消耗大量的人力物力,在此方面也节省了部分开支而且是永久性的。人力、财力产生的效益将远远大于本系统的开发成本,所以从经济方面考虑开发这个系统是可行的。3.2技术的可行性技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软件技术能否满足公司抽奖的要求,也就是所考虑当前计算机技术和开发者的技术水平两方面。本系统选择Microsoft Visual Studio 2010作为系统前台应用程序开发工具,采用Excel工具建立数据,并通过Microsoft Visual Studio 2010中的ADO控件使两者进行连接从而进行系统软件开发。Microsoft Visual Studio 2010由微软不仅能帮助软件开发者提高软件开发的质量和效率,缩短开发周期,而且还具备强大的数据管理功能,学校现有的计算机设备也完全能够满足开发的需要。完全能够满足本系统的开发需求。 另外,从开发人员的技术水平考虑,作为一名即将毕业的计算机科学与技术专业的大四毕业生,大学四年所积累的各项知识及本学期学习的C#语言使我在一定程度上具备了开发一个简单的公司抽奖系统的能力。因此,综合两个方面,此次系统设计在技术上也是可行的。3.3操作的可行性 传统公司抽奖方式,一般是设置抽奖箱,让人写出很多的纸条,又是人工手抽,方法可行,但没有效率且对于如今繁荣的社会没了新意,跟不上时代的潮流。现在设计的公司抽奖系统,只需要将公司的员工的信息录入系统,将各项要发放的奖品名称录入系统,点击开始抽奖,搭建漂亮的舞台,让员工的名字工号在大屏幕上滚动,随机自动选择停止,呈现获奖人信息,大大提高了效率,也更具有趣味性。因此此系统在操作方面也具有可行性。4系统的功能设计 本次公司抽奖管理系统是对某公司的员工设计抽奖,它的的功能如下: (1)Excel导入奖品清单,参与抽奖人员清单员工信息的录入,增添、修改、删除,清空奖品信息的录入,增添、修改、删除,清空 (2)支持按顺序抽奖,抽取某个奖品,无限次抽取现金奖 (3)抽中的人后面不会再出现5系统功能及流程图5.1系统功能图添加人员5.2系统流程图6数据的设计与创建6.1在Excel建立的员工信息设计(序号,工号及姓名)6.2在Excel建立的奖品清单设计(序号,奖品名称及金额)7系统详细设计部分及测试结果7.1主页面的设计及功能实现页面上有选项的抽取奖品号码,现金奖和抽奖、重抽、复位、退出,导入数据等等按钮的设计。代码如下using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;using System.Runtime.InteropServices;using 抽奖;/|5|1|a|s|p|xnamespace 多线?程_抽奖 public partial class Form1 : Form int curGiftId = Convert.ToInt16(SqlHelper.ExecuteScalar(select max(giftid) from T_Gift); Thread th = null; public Form1() InitializeComponent(); int k= lblLucknum.Width; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; /隐皌藏?边?框 dg = new DeShowMessageInLabel(ShowMessageInLabel); private void Form1_Load(object sender, EventArgs e) /开a启?线?程间?调獭?用? Control.CheckForIllegalCrossThreadCalls = false; /产生?随?机数簓 public int GetRandom() Random ra= new Random(); int iUp = Convert.ToInt32(SqlHelper.ExecuteScalar(select max(UserId) from T_User ); int iDown = Convert.ToInt32(SqlHelper.ExecuteScalar(select min(UserId) from T_User ); int tem= ra.Next(iDown, iUp); return tem; /获?取?工号? public string GetLuckerWorkId(int userid) return Convert.ToString(SqlHelper.ExecuteScalar(select WorkId from T_User where UserId=+userid); /获?取?姓?名? public string GetLuckerName(int userid) return Convert.ToString(SqlHelper.ExecuteScalar(select UserName from T_User where UserId= + userid); /获?取?奖品名?称? public string GetGiftName(int giftid) return Convert.ToString(SqlHelper.ExecuteScalar(select GiftName from T_Gift where GiftId= + giftid); /判D断?是?否?中D过y奖 public bool IsLucker(int LuckerId) string cmd = select 1 from T_user A inner join T_Lucker B on A.UserId=B.LuckerId where A.UserId=+LuckerId; object o = SqlHelper.ExecuteScalar(cmd); if (o=null|o=DBNull.Value ) return false; else return true; /Lab显?示?方?法? void ShowMessageInLabel(string msg) lblLucknum.Text=msg; /委托狣显?示?方?法? delegate void DeShowMessageInLabel( string mseg); DeShowMessageInLabel dg = null; /显?示?号?码? public void ShowNum() int i = 100; int k = 500; while (true) i-; int luckid = GetRandom(); if (IsLucker(luckid) continue; else string luckerworkid = GetLuckerWorkId(luckid).Trim(); string luckername = GetLuckerName(luckid).Trim(); string mesg = luckerworkid + + luckername; this.Invoke(dg, mesg); if (i = 50) Thread.Sleep(100-i); else if (i 46) k = k + 400; Thread.Sleep(k); else if (chkCrash.Checked = true) lblLucknum.Text = 恭喜2:阰 + lblLucknum.Text; string cmd = insert into T_Lucker(LuckerId,LuckerWorkId,LuckerName,LuckerGiftId,GiftName,Dtime); cmd += values( + luckid + , + luckerworkid + , + luckername + ,0,现?金e奖, + DateTime.Now + ); SqlHelper.ExcutNonQuery(cmd); th.Abort(); else lblLucknum.Text = 恭喜2:阰 + lblLucknum.Text; string cmd = insert into T_Lucker(LuckerId,LuckerWorkId,LuckerName,LuckerGiftId,GiftName,Dtime); cmd += values( + luckid + , + luckerworkid + , + luckername + , + curGiftId + , + GetGiftName(curGiftId) + , + DateTime.Now + ); SqlHelper.ExcutNonQuery(cmd); curGiftId-; btnRestart.Enabled = true; th.Abort(); private void btnStart_Click(object sender, EventArgs e) /抽现?金e奖 lblLucknum.ForeColor = System.Drawing.Color.Red; if (chkCrash.Checked = true) lblGiftName.Text = 现?金e奖; Thread th1 = new Thread(new ThreadStart(ShowNum); th = th1; th.Start(); timer2.Start(); else if (curGiftId 0) for (int i = 0; i 0) for (int i = 0; i dt.Rows.Count; i+) /写入?数簓据Y库a数簓据Y string MySql = insert into T_Gift(GiftId,GiftName) values( + dt.RowsiGiftId.ToString() + , + dt.RowsiGiftName.ToString() + ); SqlHelper.ExcutNonQuery(MySql); MessageBox.Show(数簓据Y导?入?成功|!?); else MessageBox.Show(请?检查你?的?Excel中D是?否?存?在数簓据Y); catch (Exception ex) MessageBox.Sho

温馨提示

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

评论

0/150

提交评论