C#课程设计报告.docx
《C#课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
C#课程设计报告
C#课程设计报告
题目各类图形面积与周长计算和高考倒计时
学生姓名张磊
学号***********
学院计算机与软件学院
专业软件工程
指导教师马瑞
二O一五年六月25日
3总体设计5
第1章引言
1.1开发背景
随着科技的发展,计算机本身经历了巨大的变化。
计算机的概念也由原始的分立式走向今天的网络式。
网络技术已逐渐成为现代信息技术的主流,网络的概念也随着Internet技术和应用的发展而渐入人心。
Internet/Intranet的作用正为越来越多的人所认识,通过网络共享信息正成为科学研究的一种重要手段。
可以这么说,谁拥有信息,谁就能在科技信息革命的大潮中获得主动权,就能获取成功。
面对信息时代的挑战,网络的功能越来越强,国内教育系统也在积极建设或升级计算机网络,并已建成了规模较大的中国教育科研网,全国许多学校也纷纷建立或升级自己的校园网络系统,许多高校还提出了办公无纸化的口号。
校园网是实现办公自动化、管理科学化、教学手段现代化和图书情报信息网络化最有利的支撑环境。
但是,目前校园网的利用率却不是很高,主要原因是缺少好的网络应用平台。
以前开发的MIS系统往往是在单机上运行,或者采用C/S技术开发出来的,对于今天因特网时代来说,这些系统很大程度上已经不能满足用户随时随地获取信息的需要。
学校学生档案管理最初是人工方式进行,显然在信息化发展的今天,这远远不能满足档案管理的需要。
后来,随着单机板档案管理系统的开发,这在很大程度上解决了上述矛盾但是,这种系统如今也不能满足档案管理的要求了,这主要是由于高校的扩招,在校学生人数的增加。
因此,开发B/S结构的MIS是势在必行。
本文正是在这种背景下提出的,目的是为了开发出一套功能完善、操作便捷、及时性好、适用面广学校学生档案管理系统,以提高学校学生档案管理的效率。
1.2开发环境
1.2.1服务端运行环境
1、作为服务端硬件必须具有服务器级别。
2、软件配置:
由于本系统是应用于Microsoft的Windows平台上的,因此对于Web服务器的配置应该配置IIS(InternetInformationService)等提供Web服务的软件。
3、操作平台:
可以选择Windows2003、 Win2000Server,也可以是WinXP。
1.2.2客户端运行环境
由于本系统是基于B/S结构开发出来的,对客户端的配置要求不是很高。
1、操作平台需求:
可以是Win2000/WinXP/WinMe/Win98等平台;
2、软件需求:
客户端需要安装一个Internet浏览器,如InternetExplorer。
1.3开发工具简介
1.3SQLServer数据库简介
在当今数据库开发中,主流的数据库工具是MicorosoftSQLServer2000。
MicorosoftSQLServer2000建立在WindowsXP/2000操作系统的基础之上,为用户提供了一个功能强大的客户/服务器数据库平台,是一个能同时支持多个并发用户的大型关系数据库。
SQLServer2000是微软公司推出的普及关系数据库系统,其一经推出,就迅速成为使用最广的数据库系统。
1.3C#简介
C#语言自C/C++演变而来,它是给那些愿意牺牲C++一点底层功能,经获得更方便和更新产品化的企业开发人员而创造的。
C#具有现代、简单、完全面向对象和类型安全等特点。
C#最重要的一点:
它是现代的编程语言。
它在类、名字空间、方法重载和异常处理等领域简化了C++。
摒弃了C++的复杂性,使它更易用、更少出错。
各类图形面积周长计算和高考倒计时程序
1课题目标和内容
1.设计一个求各类图形面积的程序。
要求:
基类:
定义图形的轮廓;计算面积等
各种派生类:
各种图形(例如圆、矩形、三角形等),要求派生自类。
设计相应Windows界面用于各种图形数据输入、面积输出
2.设计一个能够显示距离高考还有多少年月日分秒的程序。
要求:
可以读取本计算机的时间与日期
通过算法来计算出相差的时间
2系统需求分析
2.1可行性研究
目前,计算图形面积并没有方便的方法来计算,而且通过手工运算的复杂度远远的有着超大的工作量,
2.1.1技术可行性
随着科学技术的不断提高也带动了计算机网络的发展及通信平台技术的提高。
同时,操作系统WindowsXP/2000接口能力强,界面友好,加上采用C#技术开发内容丰富、动态的、个性化的Web应用程序,使用SQLServer2000作为系统开发后台数据库,能有效存储和管理数据。
所以完成在技术上是可行的。
2.1.2经济可行性
计算机不仅价格低廉还可以代替人工进行许多繁杂的劳动,节省许多资源,大大的提高人们的工作效率,同时本系统开发周期短、成本低。
因此在信息时代的今天传统的计算方法必然被计算机为基础的计算所取代。
2.1.3操作可行性
作为计算机应用的一部分,使用计算机对图形面积进行计算,具有手工计算所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好等。
且本系统的开发很短时间即可完成。
前两周主要是对运算流程的熟悉和公众对运算要求的了解,接下来就是运用C#编程即可完成整个系统工作。
2.2系统功能需求分析
可以大大的减少学生的运算时间从而增加时间的合理运用。
3系统总体设计
3.1.1模块详细说明
面积计算需要以下功能:
(1)图形的选择
(2)数据的输入
(3)周长的输出
(4)面积的输出
3.2.2逻辑结构设计
数据的输入输出的类型都是通过visualstdio2010来完成
4系统实现
运行界面
图形选择
代码实现:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespacet6
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
classShape
{
privatedoublemianji,zhouchang;
publicvirtualdoubleMianji(stringtuxing,doublea,doubleb,doublec)
{
if(tuxing=="三角形")
{
doublep=(a+b+c)/2;
mianji=Math.Sqrt(p*(p-a)*(p-b)*(p-c));
}
if(tuxing=="矩形")
{
mianji=a*b;
}
if(tuxing=="圆形")
{
mianji=Math.PI*a*a;
}
returnmianji;
}
publicvirtualdoubleZhouchang(stringtuxing,doublea,doubleb,doublec)
{
if(tuxing=="三角形")
{
zhouchang=a+b+c;
}
if(tuxing=="矩形")
{
zhouchang=a*2+b*2;
}
if(tuxing=="圆形")
{
zhouchang=Math.PI*a*2;
}
returnzhouchang;
}
}
classTangle:
Shape
{
privatedoublemianji,zhouchang;
publicoverridedoubleMianji(stringtuxing,double_a,double_b,double_c)
{
mianji=base.Mianji(tuxing,_a,_b,_c);
returnmianji;
}
publicoverridedoubleZhouchang(stringtuxing,double_a,double_b,double_c)
{
zhouchang=base.Zhouchang(tuxing,_a,_b,_c);
returnzhouchang;
}
}
classCircle:
Shape
{
privatedoublemianji,zhouchang;
publicoverridedoubleMianji(stringtuxing,doubler,double_b,double_c)
{
mianji=base.Mianji(tuxing,r,0,0);
returnmianji;
}
publicoverridedoubleZhouchang(stringtuxing,doubler,double_b,double_c)
{
zhouchang=base.Zhouchang(tuxing,r,0,0);
returnzhouchang;
}
}
classRectangle:
Shape
{
privatedoublemianji,zhouchang;
publicoverridedoubleMianji(stringtuxing,doublea,doubleb,double_c)
{
mianji=base.Mianji(tuxing,a,b,0);
returnmianji;
}
publicoverridedoubleZhouchang(stringtuxing,doublea,doubleb,double_c)
{
zhouchang=base.Zhouchang(tuxing,a,b,0);
returnzhouchang;
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringmianji=null,zhouchang=null;
stringtuxing=comboBox1.Text.ToString().Trim();
doublet1=0,t2=0,t3=0;
if(textBox1.Text!
=""){t1=Convert.ToDouble(textBox1.Text.ToString().Trim());}
if(textBox2.Text!
=""){t2=Convert.ToDouble(textBox2.Text.ToString().Trim());}
if(textBox3.Text!
=""){t3=Convert.ToDouble(textBox3.Text.ToString().Trim());}
if(tuxing=="三角形?
")
{
Tangletl=newTangle();
mianji=tl.Mianji(tuxing,t1,t2,t3).ToString();
zhouchang=tl.Zhouchang(tuxing,t1,t2,t3).ToString();
}
if(tuxing=="圆形?
")
{
Circlecc=newCircle();
mianji=cc.Mianji(tuxing,t1,0,0).ToString();
zhouchang=cc.Zhouchang(tuxing,t1,0,0).ToString();
}
if(tuxing=="矩形")
{
Rectanglere=newRectangle();
mianji=re.Mianji(tuxing,t1,t2,0).ToString();
zhouchang=re.Zhouchang(tuxing,t1,t2,0).ToString();
}
textBox4.Text=zhouchang;
textBox5.Text=mianji;
}
}
}
运行实例:
2.高考倒计时程序设计界面:
程序代码:
usingMicrosoft.VisualBasic;
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceWorldCupCountDown
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidlabel1_Click(objectsender,EventArgse)
{
}
privatevoidtimer1_Tick(objectsender,EventArgse)
{
DateTimeget_time1=DateTime.Now;
DateTimesta_ontime1=Convert.ToDateTime(
Convert.ToDateTime("2016-06-0700:
09:
00"));
textBox3.Text=DateAndTime.DateDiff(
"yyyy",get_time1,sta_ontime1,
FirstDayOfWeek.Sunday,
FirstWeekOfYear.FirstFourDays).ToString();
textBox4.Text=DateAndTime.DateDiff(//计算相隔月数
"m",get_time1,sta_ontime1,
FirstDayOfWeek.Sunday,
FirstWeekOfYear.FirstFourDays).ToString();
textBox5.Text=DateAndTime.DateDiff(//计算相隔天数
"d",get_time1,sta_ontime1,
FirstDayOfWeek.Sunday,
FirstWeekOfYear.FirstFourDays).ToString();
textBox6.Text=DateAndTime.DateDiff(//计算相隔小时数
"h",get_time1,sta_ontime1,
FirstDayOfWeek.Sunday,
FirstWeekOfYear.FirstFourDays).ToString();
textBox7.Text=DateAndTime.DateDiff(//计算相隔分钟数
"n",get_time1,sta_ontime1,
FirstDayOfWeek.Sunday,
FirstWeekOfYear.FirstFourDays).ToString();
textBox8.Text=DateAndTime.DateDiff(//计算相隔秒数
"s",get_time1,sta_ontime1,
FirstDayOfWeek.Sunday,
FirstWeekOfYear.FirstFourDays).ToString();
textBox1.Text=DateTime.Now.ToString();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
textBox2.Text="2016-06-079:
00:
00"+"星期二";
timer1.Enabled=true;//开启计时器
}
}
}
程序运行结果:
参考文献
[1]萨师煊,王珊.数据库系统概论.第3版.北京:
高等教育出版社,2003
[2]刘亚秋,梁心东.蒋力等.C#程度设计与应用.北京:
电子工业出版社,2002
[3]王昊帝,李刚等.VisualC#程序设计教程.北京:
清化大学出版社,2003
[4]施燕妹,陈培,陈发吉.C#语言程序设计教程.北京:
中国水利水电出版社,2004.7
[5]明月创作室.VisualC#编程精彩百例.北京:
人民邮电出版社,2001.9
[6]孙永强等.VisualC#.NET入门与提高.北京:
清华大学出版社,2002.8
[7]郭强等.C#.NET程序设计教程.北京:
清化大学出版社,2002.9
[8]熊开盛.档案查询系统的设计与实现[J].武汉科技学院学报,2006.12
[9][美]AndersHejlsberg.ScottWiltamuth.PeterGolde著.张晓坤,谭立平,车树良译.C#编程语言详解.北京:
电子工业出版社,2004.9