可视化程序设计课程报告.docx
- 文档编号:15863031
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:31
- 大小:293.75KB
可视化程序设计课程报告.docx
《可视化程序设计课程报告.docx》由会员分享,可在线阅读,更多相关《可视化程序设计课程报告.docx(31页珍藏版)》请在冰点文库上搜索。
可视化程序设计课程报告
可视化程序设计
课
程
报
告
学号:
141096111
姓名:
潘攀
完成时间:
2015年11月5号
报告要求:
1-完成3章实验报告;
2-每章实验报告包含实验目的、实验要求、实验内容、实验总结;
3-含关键代码,运行截图,特色功能重点表述并加粗突出;
4-报告杜绝抄袭、雷同,若有此行为,取消成绩。
5-可以双面打印。
评分标准:
平时成绩(30%)
报告完成度(50%)
特色功能(20%)
备注
总评
实验四
1、实验目的
1、理解面向对象的概念,掌握C#的定义类和创建对象的方法。
2、区分类的不同数据成员,包括常量、字段和属性的定义方法,并学会控制其可访问性。
3、掌握类的方法成员的声明与调用,理解各种参数在方法中的意义及使用。
4、理解构造函数和析构函数的作用机制。
2、实验要求
1、熟悉VisualStudio.Net2010的基本操作方法。
2、认真阅读本章相关内容,尤其是案列。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
3、实验内容、关键代码及截图
1、设计一个简单的Windows应用程序,输入联系人的姓名、电话和Email,单击添加按钮,显示该联系人的相应信息。
classAddressBook
{
privatestringname;
privatestringphone;
privatestringemail;
publicAddressBook(stringname,stringphone,stringemail)
{
this.name=name;
this.email=email;
this.phone=phone;
}
publicstringName
{
get{returnname;}
}
publicstringPhone
{
get
{
if(phone=="")
return"未输入";
else
returnphone;
}
set
{
phone=value;
}
}
publicstringEmail
{
get
{
if(email=="")
return"未输入";
else
returnemail;
}
set
{
email=value;
}
}
publicstringGetMessage()
{returnstring.Format("姓名:
{0}\n电话:
{1}\nEmail:
{2}",Name,Phone,Email);
}
}
}
2、自定义一个时间类。
该类包含小时、分、秒字段与属性,具有秒增加1秒的方法。
(增加特色部分为所显示的24小时制转换为12小时制)
classTime
{
privateinthour;
privateintminute;
privateintsecond;
publicTime()
{
hour=System.DateTime.Now.Hour;
minute=System.DateTime.Now.Minute;
second=System.DateTime.Now.Second;
}
publicTime(inth,intm,ints)
{hour=h;minute=m;second=s;}
publicstringHour{
get{returnConvert.ToString(hour);}
}
publicstringMinute{
get{returnConvert.ToString(minute);}
}
publicstringSecond
{
get{returnConvert.ToString(second);}
}
publicvoidAddSecond(){
second++;
if(second>=60)
{
second=second%60;
minute++;
}
if(minute>=60)
{
minute=minute%60;
hour++;
}
}
publicstringGetMessage1()
{
returnstring.Format("{0}",this.hour);
}
publicstringGetMessage2()
{
returnstring.Format("{0}",this.minute);
}
publicstringGetMessage3()
{
returnstring.Format("{0}",this.Second);
}
publicstringGetMessage4()
{
returnstring.Format("当前时间为上午时间{0}点{1}分{2}秒",this.hour,this.minute,this.Second);
}
publicstringGetMessage5()
{
returnstring.Format("当前时间为下午时间{0}点{1}分{2}秒",this.hour-12,this.minute,this.Second);
}
}
}
3、设计一个Windows应用程序,模拟一个简单的银行账户管理系统。
完成“创建账户”、“取款”、“存款”和“查询余额”的模拟操作。
//创建一个帐户类,设计其成员变量、属性和方法
publicclassAccount
{
privateintcreditNO;
privatedecimalbalance;//余额
publicAccount()
{
Randomr=newRandom();
creditNO=r.Next(100000,500000);
balance=100;
}
publicdecimalBalance
{
get{returnthis.balance;}
}
publicintCreditNo
{
get{returnthis.creditNO;}
}
publicboolWithDraw(decimalmoney,outstringmessage)
{
if(money<0)
{
message="操作失败\n输入金额不正确";
returnfalse;
}
elseif(balance>=money)
{
balance-=money;
message="操作成功\n取款"+money+"元";
returntrue;
}
else
{
message="操作失败!
\n余额不足";
returnfalse;
}
}
......//存款操作省略
}
4、实验总结
本次上机实验,可以通过设计一个windows应用程序,简单模拟一些账户管理学生管理系统,并能将各种参数运用于实际操中,也能简单控制其访问性,并且在操作中除了完成所要求的功能外还能简单做一些特色,如在自定义一个时间类实验中除了能将秒加一还能实现小时进制转换,但对于类的声明和调用方面还是有所欠缺,脱离课本不能准确熟练写出,以后要多多上机练习。
实验五
1、实验目的
1.区别静态类与非静态类,掌握静态字段、静态方法、和静态构造函数的定义方法。
2.理解类的继承性与多态性,掌握其应用方法。
3.理解抽象类、接口的概念、掌握抽象类与接口的定义及使用方法。
4.理解分部类和命名空间的概念,掌握分部类和命名空间的使用方法。
2、实验要求
1.熟悉VisualStudio.Net2012的基本操作方法。
2.认真阅读本章相关内容,尤其是案例。
3.实验前进行程序设计,完成源程序的编写任务。
4.反复操作,直到不需要参考教材、能熟练操作为止。
3、实验内容、关键代码及截图
1、设计一个windows应用程序,在该程序中首先构造一个学生的基本类,再分别构造小学生、中学生、大学生、等派生类,当输入相关数据,单机不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象。
并输入当前的学生总人数、该学生的姓名、学生类型和平均成绩。
publicclassDxs:
Student//派生类大学生{
protecteddoublebixiu;
protecteddoublexuanxiu;
publicDxs(stringname,intage,doublebixiu,doublexuanxiu)
:
base(name,age)
{
this.bixiu=bixiu;
this.xuanxiu=xuanxiu;
}
publicoverridedoubleAverage()
{
return(bixiu+xuanxiu)/2;
}
publicoverridestringMessage()
{
returnstring.Format("总人数:
{0}姓名:
{1},大学生,平均成绩为{2}\n",number,name,(bixiu+xuanxiu)/2);
}
}
2、完善上机4-3设计的银行账户管理系统,增加一个VIP账户的管理。
publicclassVipAccount:
Account//账户类的派生类VIP账户{
publicVipAccount()
{
Randomr=newRandom();
creditNO=r.Next(500000,1000000);
balance=10000;
}
publicoverrideboolWithDraw(decimalmoney,outstringmessage)
{
if(money<0)
{
message="操作失败\n输入金额不正确";
returnfalse;
}
elseif(balance>=money)
{
balance-=money;
message="操作成功!
\n取款"+money+"元";
returntrue;
}
elseif(balance+1000>money)
{
balance-=money;
message="操作成功!
\n取款"+money+"元,透支"+(-balance)+"元";
returntrue;
}
else
{
message="操作失败!
\n余额不足!
!
!
";
returnfalse;
}
}
}
privatevoidbutton1_Click(objectsender,EventArgse)//创建VIP账户
{
account=newVipAccount();
intaccountNo=account.CreditNo;
stringmessage=String.Format("创建VIP账户成功,用户卡号为:
{0}",accountNo);
lbl1.Text="\n"+message+"\n";
}
3、声明一个接口Iplayer,包含5个接口方法:
播放、停止、暂停、上一首和下一首。
设计一个windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例测试程序,图所示为单击“MP3”按钮后,再单击“播放”按钮的效果。
如果单击“AVI”按钮后,再单击“播放”按钮,则应显示“正在播放AVI视频!
”
interfaceIplayer//定义一个接口
{
stringPlay();//播放
stringStop();//停止
stringPause();//暂停
stringPre();//上一首
stringNest();//下一首
}
类MP3实现接口IPlayer:
publicclassMP3:
Iplayer{
publicstringPlay()
{
returnstring.Format("正在播放MP3歌曲!
");
}
publicstringStop()
{
returnstring.Format("停止播放MP3歌曲!
");
}
publicstringPause()
{
returnstring.Format("暂停播放MP3歌曲!
");
}
publicstringPre()
{
returnstring.Format("播放上一首MP3歌曲!
");
}
publicstringNest()
{
returnstring.Format("播放下一首MP3歌曲!
");
}
}
窗口类声明对象:
Iplayeriplayer;
MP3mp3;
AVIavi;
单击MP3按钮后,实例化对象并转换为接口的引用:
mp3=newMP3();
iplayer=(Iplayer)mp3;
单击播放按钮后,显示播放的内容:
lblShow.Text=iplayer.Play();
四、实验总结
本次上机实验,我懂得了类的继承性与多态性,抽象类、接口等的概念,也掌握了一些类、接口和命名空间的使用方法,但是在操作的过程中也遇到了一些问题,如在实现各个事件的过程中,由于没有对现实问题进行实际考虑导致一些不符合要求的数据也能显示出来,这是不符合实际情况的,还有就是关于大中小学生成绩管理系统中,根据书上的核心代码提示很容易实现对窗体的实现和小功能的实现,但下面思考着它的重置功能为了方便使用这个角度来考虑还有待提高。
通过实验,我觉得设计一个东西的时候,我们应该从实际出发来考虑问题考虑数据。
实验十
一、实验目的
初步掌握Windows窗体应用程序的设计方法,包括对话框的设计方法;掌握常用窗体控件的使用方法。
二、实验要求
1.熟悉VS2010的基本操作方法。
2.认真阅读本章相关内容,尤其是案例。
3.初步完成个人理财系统的主要用户界面的设计工作。
4.反复操作,直到不需要参考教材、能熟练操作为止。
三、实验内容,关键代码及截图
1.请设计一个简单的用户登陆界面,当输入正确的用户名和密码时,系统将给出正确的提示,否则给出错误的提示。
privatevoidbtn1_Click(objectsender,EventArgse)
{
stringyhm=txt1.Text;
stringmm=txt2.Text;
if(yhm=="admin"&&mm=="123456")
{
MessageBox.Show("欢迎进入个人理财系统!
","登录成功",
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("您输入的用户名或密码错误!
","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
privatevoidbtn2_Click(objectsender,EventArgse)
{
txt1.Text="";
txt2.Text="";
txt1.Focus();
}
2、请设计一个“关于我们”的窗体
privatevoidbtn1_Click(objectsender,EventArgse)
{
this.Close();
}
3、添加一个新窗体,用于添加个人收支明细,如图所示:
privatevoidTest10_3_Load(objectsender,EventArgse)
{
rBtn1.Checked=true;
dateTimePicker1.MaxDate=DateTime.Now;
dateTimePicker1.Value=dateTimePicker1.MinDate;
time.Enabled=true;
}
privatevoidcbox1_SelectedIndexChanged(objectsender,EventArgse)
{
switch(cbox1.SelectedIndex)
{
case0:
listBox1.Items.Clear();
listBox1.Items.Add("计算机类);
listBox1.Items.Add("文学作品");
break;
case1:
listBox1.Items.Clear();
listBox1.Items.Add("斗地主");
listBox1.Items.Add("植物大战僵尸");
break;
case2:
listBox1.Items.Clear();
listBox1.Items.Add("舞蹈班);
listBox1.Items.Add("奥数班);
break;
default:
listBox1.Items.Clear();
listBox1.Items.Add("电脑桌);
listBox1.Items.Add("衣柜");
break;
}
}
privatevoidtime_Tick(objectsender,EventArgse)
{
if(lbl9.Left>=this.Width)
{
lbl9.Left=0;
}
lbl9.Left+=1;
}
4、添加一个新窗体,用于添加收支项目信息
stringxmmc;
stringlb;
stringsz;
publicTest10_4()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(tBox1.Text.Trim().Length==0)
{
MessageBox.Show("输入信息不完整","",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
else
{
tabControl1.SelectedIndex=1;
}
}
privatevoidtabControl1_SelectedIndexChanged(objectsender,EventArgse)
{
num++;
if(tabControl1.SelectedIndex==1)
{
if(tBox1.Text.Trim().Length==0)
{
MessageBox.Show("输入信息不完整","",
MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
tabControl1.SelectedIndex=0;
}
else
{
xmmc=tBox1.Text;
lb=comboBox1.SelectedItem.ToString();
sz=rButton1.Checked?
"收入":
"支出";
stringmessage=String.Format("要添加的收支项目为{0}\n所属类别{1}\n是{2}类型的项目",xmmc,lb,sz);
rTextBox1.Text=message;
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
tabControl1.SelectedIndex=0;
}
5、修改“添加收支项”对话框的“确定信息”选项卡,使用通用对话框(包括“字体”对话框和“颜色”对话框)动态设置收支信息。
privatevoidbtn3_Click(objectsender,EventArgse)
{
FontDialogf=newFontDialog();
if(f.ShowDialog()==DialogResult.OK)
{
richTextBox1.Font=f.Font;
}
}
privatevoidbtn4_Click(objectsender,EventArgse)
{
ColorDialogc=newColorDialog();
if(c.ShowDialog()==DialogResult.OK)
{
richTextBox1.ForeColor=c.Color;
}
}
6、添加一个新窗体,用作个人理财系统的主窗体,并根据图为其创建主菜单、工具栏以及状态栏。
其中,工具栏的各按钮分别对应菜单命令:
添加收支、统计查询、添加收支项目、收支明细查询等。
7、设置个人理财软件为MDI应用程序,并在主窗体中通过菜单命令或工具栏各种按钮打开各自窗体。
注意,将“关于我们”显示为模态对话框。
privatevoidtm31_Click(objectsender,EventArgse)
{
Test10_5tj=newTest10_5();
tj.MdiParent=this;
tj.Show();
ts2.Text=tj.Text;
}
privatevoidtm41_Click(objectsend
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 程序设计 课程 报告