福建农林大学ASPNET实验一.docx
《福建农林大学ASPNET实验一.docx》由会员分享,可在线阅读,更多相关《福建农林大学ASPNET实验一.docx(15页珍藏版)》请在冰豆网上搜索。
福建农林大学ASPNET实验一
福建农林大学计算机与信息学院实验报告
系:
计算机与信息学院专业:
计算机科学与技术年级:
姓名:
学号:
实验室号田C510计算机号
实验时间:
指导教师签字:
成绩:
实验一ASP.NET基础与VisualStudio开发平台
一、实验目的和要求
1、熟悉VisualStudio集成开发环境各子窗口的使用方法。
2、掌握创建ASP.NET网站的一般过程。
3、熟悉C#的基本语法。
二、实验内容和原理
1、某商场共提供4种商品,且规定一次购物满100元可享受9折优惠;一次购物满300元可享受8.5折优惠;一次购物在300元以上可享受8折优惠。
客户购物付款时需要连续输入所购商品编号和数量,程序能自动显示购物清单、折扣率以及应付金额。
(1)若没有输入商品数量,则默认为1。
(2)若没有输入商品的编号,直接单击“确定”按钮,则表示统计完毕,屏幕上显示购物金额,折扣率和应付金额。
(3)为了防止因用户误单击“确定”按钮导致结算数据重复出现,在显示了结算数据后,“确定”按钮呈灰色显示。
(4)单击“返回”按钮清除上次购物详细清单及结算数据,将程序回复为初始状态。
(5)注意:
本题中所有预设数据(商品编号、商品名称、单价、折扣率)均被直接写在代码中,大大降低了程序的效率和可维护性,实际应用中这些数据是被写在数据库中,使用时需要从数据库中读取需要的预设值。
2、编写一个简单的英汉电子词典程序,能够将用户输入的英文单词翻译成相应的中文。
假设一个英文单词的中文释义有多个。
具体要求如下:
(1)定义单词类Word,相关成员如图2-1所示。
图2-1Word类成员
图2-2Dictionary类的成员
(2)定义词典类Dictionary,相关成员如图2-2所示。
在Dictionary类中定义一个索引器。
该索引器能根据英文单词,返回中文释义。
如果词典中无该单词,则提示“该单词无对应的中文释义!
”。
(3)设计Web页面。
1)为初始化的查询界面,当光标定位到英文单词对应的文本框中,文本框中的内容“输入英文单词”将消失。
2)当用户在英文单词对应的文本框中输入单词后,单击“翻译”按钮,将在下方的文本区中的查询结果。
3)当字典库中不存在用户输入的单词,将在文本区中显示“该单词无对应的中文释义!
”。
3、为小学生设计一个用于100以内的加法练习程序。
具体要求如下:
1)程序启动后将自动产生两个100以内的随机整数显示在屏幕上。
2)用户输入算式的答案后单击“确定”按钮,程序将算式显示出来并给出对错的评判,对出错的算式醒目显示。
同时给出下一道题。
3)如果用户没有输入算式答案,而直接单击“确定”按钮,程序将显示出错提示。
4)当用户单击“结束”按钮,屏幕上将显示如图3-4所示的共出题数、正确数、错误数和得分,其中得分计算方法为:
得分=正确数/总数*100。
5)继续输入算式答案,并单击“确定”按钮,开始新一轮的加法练习。
三、实验环境
1、Windows XP
2、VisualStudio2005
四、算法描述及实验步骤
第一题:
(1)设计Web页面。
1)新建一个ASP.NET网站,向页面中添加需要的说明文字、两个文本框、两个按钮以及一个用于显示计算结果的标签控件,并按照表1-1设置各个对象的属性。
表1-1各对象的属性设置
控件
属性
值
TextBox1
ID
txtAmount
TextBox2
ID
txtSerial
Button1
ID
btnOK
Text
确定
Button2
ID
btnBack
Text
返回
Label1
ID
LblBill
Text
空
2)页面布局完成后,对应的代码为:
(2)编写事件代码
1)在所有事件外声明Web窗体级变量:
2)编写Page_Load事件代码如下:
3)编写“返回”按钮的单击事件过程代码如下:
4)编写“确定”按钮的单击事件过程代码如下:
第二题:
1)页面代码如下:
2)Word类定义如下:
3)Dictionary类定义如下:
4)“翻译”按钮的单击事件代码如下:
第三题:
1)页面代码如下:
2)在所有事件过程之外声明Web窗体级变量,将变量声明为static是为了当事件结束后,保存在其中的值不会丢失。
具体代码如下:
3)Web页面被加载时所执行的事件代码如下:
4)“确定”按钮对应的单击事件过程代码如下:
5)“结束”按钮的单击事件代码如下:
五、调试过程
六、实验结果
七、总结
附录:
第二题:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
publicpartialclass_Default:
System.Web.UI.Page
{
staticfloatSum=0,Total=0,Result=0,Price=0,Agio=0;
intNum;
stringMerchandise;
protectedvoidPage_Load(objectsender,EventArgse)
{
this.Title="商场收款程序";
TextSerial.Focus();
}
protectedvoidButtonOK_Click(objectsender,EventArgse)
{
if(TextSerial.Text=="")
{
if(Total>=500)
{
Agio=0.8F;
}
elseif(Total>=300)
{
Agio=0.85F;
}
elseif(Total>=100)
{
Agio=0.9F;
}
Result=Total*Agio;
LabelBill.Text=LabelBill.Text+"
"+"购物金额:
"+Total.ToString("f")
+" "+"折扣率为:
"+Agio.ToString()+" "+"应付款为:
"+Result.ToString("f")+"";
ButtonOK.Enabled=false;
return;
}
switch(TextSerial.Text)
{
case"001":
Price=12.5F;
Merchandise="书包";
break;
case"002":
Price=38F;
Merchandise="领带";
break;
case"003":
Price=4.8F;
Merchandise="牙膏";
break;
case"004":
Price=68F;
Merchandise="衬衣";
break;
default:
LabelBill.Text="编号输入有误,请单击【返回】重新输入!
";
return;
}
if(TextAmount.Text=="")
{
Num=1;
}
else
{Num=int.Parse(TextAmount.Text);}
Sum=Num*Price;
Total=Total+Sum;
LabelBill.Text=LabelBill.Text+Merchandise+" "+Price.ToString("f")+
" "+Num.ToString()+" "+Sum.ToString("f")+"
";
TextSerial.Text="";
TextAmount.Text="";
TextSerial.Focus();
}
protectedvoidButtonBack_Click(objectsender,EventArgse)
{
ButtonOK.Enabled=true;
LabelBill.Text="";
Sum=0;Total=0;Result=0;Price=0;Agio=1;
}
}
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
.style1
{
width:
100%;
}
商场收款程序 |
商品编号: TextBoxID="TextSerial"runat="server">
TextBox> 数量: TextBoxID="TextAmount"runat="server">
TextBox> ButtonID="ButtonOK"runat="server"onclick="ButtonOK_Click"Text="确定"/> ButtonID="ButtonBack"runat="server"Text="返回" onclick="ButtonBack_Click"/>
|
LabelID="LabelBill"runat="server">
Label> |