版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作业1
1)封装一个被称为日期Date类,用这个类存储年、月、日。
Show。成员函数显示某日期对象的信息,格式为日,月,年。
可运行在日期上加1天的操作成员函数add()
设置日期
2)定义一个People类,用来描述人的属性和行为,学生包括姓名、籍贯、年龄。
用Display函数显示人的信息。然后定义一个从People类继承的子类Student,
表示学生,包括学号、年级排名,和另一个从People类继承的子类Master,表
示学生的导师信息,包括职工号、研究方向、学生信息,并能够显示导师的信息。
要求包括构造函数。
3)写一个多态示例。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceJAVA_1
(一
classProgram
(
staticvoidMain(string[]args)
(
Console.WriteLine("输入当前年月日:”);
intx=Convert.Tolnt32(Console.ReadLine());
inty=Convert.Tolnt32(Console.ReadLine());
intz=Convert.Tolnt32(Console.ReadLine());
Dateda=newDate(x,y,z);
da.show();
da.add();
Console.WriteLine("日期加一天后:");
da.show();
Peoplepl=newPeople("呆呆","地大",19);
pl.Display();
Studentsi=newStudent("妹子","湖大",20);
si.SetStudent(2015,2);
si.Display();
Masterml=newMaster("王老师","湖北武汉",30);
ml.SetMaster("ABC123",".NET","5个〃);
ml.Display();
}
}
namespaceJAVA_1
(-
classStudent:People
(
publicintSID;
publicintGradeOrder;
publicStudent(stringname,stringaddress,intage)
:base(name,address,age)
publicvoidSetStudent(intsid,intorder)
(
this.SID=sid;
this.GradeOrder=order;
)
newpublicvoidDisplay()
{
Console.WriteLine("学生信息为:”);
base.Display();
Console.WriteLine(“学号:"+this.SID);
Console.WriteLine("年级排名:"+
this.GradeOrder);
}
}
)
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceJAVA_1
classPeople
publicPeople(stringname,stringaddress,intage)
{
this.Name=name;
this.Address=address;
this.Age=age;
}
publicstringName;
publicstringAddress;
publicintAge;
publicvoidDisplay()
(
Console.WriteLine("个人信息为:”);
Console.WriteLine("姓名:"+this.Name);
Console.WriteLine(“籍贯:"+this.Address);
Console.WriteLine("年龄:"+this.Age);
}
}
}
namespaceJAVA_1
(一
classMaster:People
(
privatestringMID;
privatestringSerDir;
privatestringStudentinfo;
publicMaster(stringname,stringaddress,intage)
:base(name,address,age)
(
}
publicvoidSetMaster(stringmid,stringserdir,
stringstudentinfo)
(
this.MID=mid;
this.SerDir=serdir;
this.Studentinfo=studentinfo;
)
newpublicvoidDisplay()
Console.WriteLine("导师信息为:”);
base.Display();
Console.WriteLine("职工号:"+this.MID);
Console.WriteLine("研究方向:"+this.SerDir);
Console.WriteLine("学生信息:”+
this.Studentinfo);
)
}
)
namespaceJAVA_1
(一
classDate
(
publicDate(intx,inty,intz)
(
this.Year=x;
this.Month=y;
this.Day=z;
)
publicintYear;
publicintMonth;
publicintDay;
publicvoidadd()
{
if(this.Day==30)
(
this.Day=1;
if(this.Month==12)
(
this.Month=1;
this.Year++;
}
else
this.Month++;
else
this.Day++;
)
}
publicvoidshow()
Console.WriteLine("日期为:"+this.Day+"日”+
this.Month+“月"+this.Year+“年”);
}
结果显示:
Date.cs
#JAVAJProgr
1J-
ml.SetMaster("ABC123A,"GIS","5个"”
ml.DisplayO;
}
30[
31[]
I32I
作业2
创建有背景的窗体
staticclassProgram
///<summary>
III应用程序的主入口点。
///</summary>
[STAThread]
staticvoidMain()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newForml());
)
)
)
为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为
你想要的颜色,然后将其覆盖JFrame窗口即可
结果显示:
作业3
将C++ADO程序部分改写成ADO.NET代码段
ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单
表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet
可以是多个表的集合。ADO的运作是一种在线方式,这意味着不论是浏览或更新数据都必
须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作
数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。
由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而
ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型
转换,从而提高了整体性能。。三者整体间的输出结果也大不相同?
1、代码展示
---------------------C++使用ADO方式读取数据库
#include<string>
#include<iostream>
#include<time.h>
#include<windows.h>
namespacestd;
#import"C:\ProgramFiles\Common
Files\System\ado\msadol5.dll"no_namespacerename("EOF""adoEOF")
intmain(intargc,char*argv[])
DWORDstart,end;〃定义程序运行开始时间和结束时间
start=GetTickCount();〃设定开始时间
_ConnectionPtrpConn=NULL;
_RecordsetPtrpRss=NULL;
_variant_ti_code;
_variant_tbeg_date;
_variant_tend_date;
_variant_tsw_total_stock;
_variant_tsw_publish_stock
stringm__str_i_code;
stringm__str_beg_date;
stringm_str_end_date;
stringm__str_total_stock;
stringm__str_publish_stock;
_bstr_tstrConn^strSQL;
HRESULThr;
::CoInitialize(NULL);
〃操作数据库
strConn="driver={SQL
Server};Server=whoami\\mssqlt;DATABASE=kj2006;UID=sa;PWD=sa";
strSQL=Kselect*frommytable
hr=pConn.CreateInstance(_uuidof(Connection));
■(SUCCEEDED(hr))
(
■(pConn->GetState()==adStateClosed)
(
pConn->Open(strConn,n-1);
}
pRss.CreateInstance(_uuidof(Recordset));
■(pRss->GetState()==adStateClosed)
pRss->Open(strSQL?pConn.GetInterfacePtr()^adOpen
Static^adLockOptimistic,,adCmdText);
〃共13893条记录
cout<<"RecordCount="<<pRss->RecordCount<<endl;
〃只遍历,不输出
!pRss->adoEOF)
{
i_code=pRss->GetCollect("point");
beg_date=pRss->GetCollect("address");
end_date=pRss->GetCollect("realdata");
sw_total_stock=pRss->GetCollect("flag");
sw_publish_stock=pRss->GetCollect("sj");
m_str_i_code=(string)(char*)(_bstr_t)i_code;
m_str_beg_date=(string)(char*)(_bstr_t)beg_dat
e;
m_str_end_date=(string)(char*)(__bstr_t)end_dat
e;
m_str__total__stock=(string)(char*)(_bstr_t)sw_t
otal_stock;
m_str_publish_stock=(string)(char*)(_bstr_t)sw
_publish_stock;
pRss->MoveNext();
)
■H(_com_error*e)
{
cout<<e>>ErrorMessage()<<endl;
cout《”数据库连接失败,请检查错误!
pRss->Close();
pRss=NULL;
pConn->Close();
pConn=NULL;
::Collninitialize();
com_error&e)
cout<<e.ErrorMessage()<<endl;
)
〃程序结束,计算程序运行花费时间
end=GetTickCount();
cout<<"usetime:"<<end-start<<endl;
cin.get();
0;
-----------------------------------c#使用ADO.NET方式操作数据库
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
namespaceConsoleApplicationl
classProgram
{
staticvoidMain(string[]args)
(
//开始时间
DateTimest=DateTime.Now;
try
{
〃数据库链接、数据库命令
SqlConnectioncon=newSqlConnection(@"database=
kj2006;uid=sa;pwd=sa;server=whoami\mssqlt");
SqlCommandcom=newSqlCommand("select*from
run20090910",con);
con.Open();
〃将结果保存到数据集中
SqlDataAdaptersda=newSqlDataAdapter();
sda.SelectCommand=com;
DataSetds=newDataSet();
sda.Fill(ds);
sda.Dispose();
stringpoint=string.Empty^address=string.Empty,
realdata=string.Empty^flag=string.Empty,sj=string.Empty;
Console.WriteLine("count="+ds.Tables[0].Rows.Count);
//遍历,不打印
for(inti=0;i<ds.Tables[0].Rows.Count;i++)
{
point=ds.Tables[0].Rows[i]["point"].ToString();
address=
ds.Tables[0].Rows[i]["address"].ToString();
realdata=
ds.Tables[0].Rows[i]["realdata"].ToString();
flag=ds.Tables[0].Rows[i]["flag"].ToString();
sj=ds.Tables[0].Rows[i]["sj"].ToString();
}
ds.Dispose();
con.Close();
)
catch(Exceptionex)
Console.WriteLine("读取出错:"+ex.Message);
return;
)
//结束时间
DateTimeet=DateTime.Now;
TimeSpants=et.Subtract(st);
Console.WriteLine("timesub="+ts.Seconds+"."+
ts.Milliseconds);
return;
)
}
)
结果显示:
国-ex
教务管理员登录界面
学号/工号II姓名初始密码
[录入学生)[录入酗j]I录入辅导员)
国□X
姓名
录入教务管理员
阖-□X
系统管理员登陆界面
数据维护教务管理员管理
国-□X
学生考勤管理系统
2.3具体修改
针对两者的区别,可以发现,如果需要将C++AD。程序改写成ADO.NET程序,要修改
以下几点:
1、修改头文件。C#在这里是引用的不同的命名空间;
2、将数据库连接里的指针改为数组。
3、修改数据的类型。
作业4
1、一个矩形可以由两个相邻边的长度确定。编写一个类,使之拥有
两个表示边长的整数数据,并提供一个有用的矩形计算方法,如计算
面积,更新矩形边的长度,计算两个矩形的组合面积等。提示:需要
写出具有下列形式的签名的方法:
intcombinedArea(secondRectsr)//thefirstrectis"this"ofcourse
2、重新编写ClockView类。使时钟程序能够以罗马数字形式显示时
间:罗马数字从1到12分别为:l,II,III,IV,V,VI,VII,VIII,IX,X,XI,和Xllo
3、重新编写ClockView类,使之能够以12小时循环形式显示时间,
同时适当地标出AM和PMo
4、重新编写ClockView类,使之能够以十分之一秒的时间精度显示
时间。修改clock类中的main。方法,使之每十分之一秒更新一次时
间显示。Timestamp中的代码可以从Calendar对象中获取十分之一秒
精度的时间:
intmlsec=now.get(java.util.Calendar.MILLISECOND);
tenths=mlsec/100;
提示:需要把tenths声明为Timestamp类型的字段,也需要把时间值
传递给ClockView类,显示当前时间
主要代码:
importjava.awt.*;
importjava.text.DateFormat;
importjava.util.*;
importjavax.swing.*;
〃数字时钟
publicclassClockDemoextendsJFrameimplementsRunnable
(
/**
*
*/
privatestaticfinallongserialVersionUID=IL;
Threadclock;
finalintXpoint=180;
finalintYpoint=180;
finalintR=80;
intxHour=0/yHour=0/xSecond=0/ySecond=0,xMin=0/yMin=0;
publicClockDemo()
(
super("数字时钟。〃调用父类构造函数
setFont(newFont("宋体",Font.BOLD,20));〃设置时钟的显示字体
start。;〃开始进程
setSize(400z400);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}一一
publicvoidstart(){
if(clock==null)〃如果进程为空值
(
clock=newThread(this);〃实例化进程
clock.start();}}
publicvoidrun()〃运行进程
{while(clock!=null){
repaint。;〃调用paint方法重绘界面
try(
Thread.sleep(lOOO);}catch(InterruptedException
ex){ex.printStackTrace();}}}
publicvoidstop()〃停止进程
{clock=null;
}
publicvoidpaint(Graphicsg)〃重载组件的paint方法
{Graphics2Dg2=(Graphics2D)g;
DateFormatdateFormat=
DateFormat.getDatelnstance(DateFormat.FULL);
Calendarnow=newGregorianCalendar。;〃实例化日历对象
now.setTime(newDate());//dateFormat.format(now.getTime())
Stringtimelnfo="";〃输出信息
inthour=now.get(Calendar.HOUR_OF_DAY);//得至U小时数
intminute=now.get(Calendar.MINUTE);
intsecond=now.get(Calendar.SECOND);
if(hour<=12)
timelnfo+="AM"+"0"+hour+":";〃格式化输出
else
timelnfo+="PM"+(hour-12)+":";
if(minute<=9)
timelnfo+="0"+minute+":";
else
timelnfo+=minute+":";
if(second<=9)
timelnfo+="0"+second;
else
timelnfo+=second;
g.setColor(Color.PINK);
Dimensiondim=getSize();
g.fillRect(O,O,dim.width,dim.height);
g.setColor(Color.red);
g.drawString(timelnfo,130,340);
g.setColor(Color.green);
g.drawString(dateFormat.format(now.getTime()),20/60);
g.setColor(Color.white);
g.setFont(newFont("SAN_SERIF",Font.BOLD,15));
forfinti=0,num=12;i<360;i+=6)
{doublealfa=Math.toRadians(i);
intxPos=Xpoint+(int)(R*Math.sin(alfa));
intyPos=Ypoint-(int)(R*Math.cos(alfa));
if(i==O)
if(num%3==0)
g.setColor(Color.red);
else
g.setColor(Color.white);
g.drawString(""+num/xPos-5,yPos+3);
num=(num+l);}
else
(
g.setColor(Color.white);
g.drawString(".",xPos,yPos);
}
}
g.setColor(Color.white);
g.fillOval(Xpoint-4,Ypoint-4,10,10);
xSecond=(int)(Xpoint+(R-10)*Math.sin(second*(2*Math.PI/60)));
ySecond=(int)(Ypoint-(R-10)*Math.cos(second*(2*Math.PI/60)));
g.setColor(Color.red);
g.drawLine(Xpoint/Ypoint,xSecond/ySecond);
xMin=(int)(Xpoint+(R-20)*Math.sin((minute+second/60)*(2*Math.PI/60)
));
yMin=(int)(Ypoint-(R-20)*Math.cos((minute+second/60)*(2*Math.PI/60)
));
g.setColor(Color.red);
g.drawLine(Xpoint/Ypoint,xMin/yMin);
xHour=(int)(Xpoint+(R-30)*Math.sin((hour+minute/60+second/60/60)*(
2*Math.PI/12)));
yHour=(int)(Ypoint-(R-30)*Math.cos((hour+minute/60+second/60/60)*(
2*Math.PI/12)));
g.setColor(Color.red);
g.drawLine(Xpoint,Ypoint,xHour,yHour);
}
publicstaticvoidmain(String[]args)
{newClockDemo();
«c-N<nFHIFK
*-Ce
wcc.c&a?s—<8nvvJSVaS<葭J
.daA
ftSVbItuET&o•;vh?*ls§V4-5:.<Qh¥-V
oeoad--ofwrAondA
tnvr2♦■uasustu-we«na0ma*tmHw
Yemte(^m3b«<Kaasc*5o
-^Xr.MMR-my彼V-
Mtr'~,KeMA$5^-»n£sM&s&£cw3Sr
3K0d92nMa><asT»I»*.okiTMys,■»Qwok
M*eIwXe5MWxf&2r<»u%c-9t9Zok5uM
»kSfaCacx»rMuFs3£jkM
au..a-C3o9.£»-f、rKmr.an*c
-5V^K.<--^C5TuouT£-?ue
>C«faR•^-T*nr-I-=^c3K•
x3Isuc-&isktMhabXss3hMh
5-srISrhKoovK$
3m33snKr£K
spU2TTmyt»)-o
Tx7Roq,ta
-X:rx
-X"cm
wNV、r
—J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泌尿结石诊断治疗指南
- 门店经营承包协议合同范本
- 工地劳动用工合同简易版
- 角的度量课件
- 基于二零二四年计划的网络云服务合同
- 《给水工程滤料讲义》课件
- 二零二四年度矿产资源开发与利用合同2篇
- 白内障护理沙龙
- 救援拖车合作协议
- 角 课件教学课件
- 2024年磁共振成像装置项目实施方案
- 《高一数学三角函数诱导公式》课件
- 《设备润滑技术》课件
- 2024年湖北武汉城投集团招聘笔试参考题库含答案解析
- 第7课《珍视亲情+学会感恩》第1框《浓浓亲情+相伴一生》【中职专用】《心理健康与职业生涯》(高教版2023基础模块)
- 《感谢为我们服务的人》班会课件
- 高质量的幼儿园教育
- 小学体育-轻度损伤的自我处理教学课件设计
- 第一章-公路概论课件
- 基于PLC的水箱温度控制系统
- 十三项核心制度-上海第十人民医院
评论
0/150
提交评论