C# 实验一设计一个简单的密码验证程序.docx
- 文档编号:8783621
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:16
- 大小:17.26KB
C# 实验一设计一个简单的密码验证程序.docx
《C# 实验一设计一个简单的密码验证程序.docx》由会员分享,可在线阅读,更多相关《C# 实验一设计一个简单的密码验证程序.docx(16页珍藏版)》请在冰豆网上搜索。
C#实验一设计一个简单的密码验证程序
1.创建C#控制台应用程序。
设计一个简单的密码验证程序,若密码正确,则显示“欢迎进入本系统!
”,否则显示“密码输入错误,请重新输入!
”。
若连续三次密码输入错误,则显示“对不起,超过最多输入次数,取消服务!
”,程序退出。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleApplication1
{
classProgram
{
staticvoidMain(string[]args)
{
inti=0;
stringmima="123321";
boolk=true;
Console.WriteLine("");
Console.WriteLine("》》》》欢迎使用本系统《《《《\n\n");
Console.WriteLine("请输入您的服务秘密");
while(k)
{
stringget=Console.ReadLine();
if(get!
=mima)
{
i++;
if(i==3)
{
Console.WriteLine("对不起,您输入的密码错误次数已经超过三次,\n\n已取消服务,请按任意键结束!
!
");
Console.ReadLine();break;
}
else
Console.WriteLine("对不起,您输入的密码有误,请重新输入!
");
}
else
{
Console.WriteLine("欢迎进入本系统!
!
");
Console.ReadLine();break;
}
}
}
}
}
2.创建一个点Point类,属性包括横坐标、纵坐标。
要求能够完成点的移动操作、求两点距离操作,并利用运算符重载,对两个点进行比较(相等和不等)依据是两坐标点相等指它们横坐标和纵坐标分别相等。
编写一个测试程序对产生的类的功能进行验证。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace_1_2
{
classpoint
{
publicdoublex,y;
publicpoint(doublea,doubleb)
{
x=a;y=b;
}
publicvoidmove(doublea,doubleb)
{
x=x+a;
y=y+b;
}
publicstaticbooloperator==(pointa,pointb)
{
if((a.x==b.x)&&(a.y==b.y))
returntrue;
else
returnfalse;
}
publicstaticbooloperator!
=(pointa,pointb)
{
if((a.x!
=b.x)||(a.y!
=b.y))
returntrue;
else
returnfalse;
}
publicdoubledistance(pointa,pointb)
{
returnMath.Sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
}
classProgram
{
staticvoidMain()
{
pointa=newpoint(1,1);
pointb=newpoint(2,2);
Console.WriteLine("a点的坐标:
({0},{1})",a.x,a.y);
Console.WriteLine("b点的坐标:
({0},{1})",b.x,b.y);
Console.WriteLine("现在将对a点的坐标进行移动2和3,请按enter键开始移动!
");
//stringget1=Console.ReadLine();
//Console.WriteLine("现在将对a点的纵坐标进行移动,请输入您要移动的Y坐标数");
//stringget2=Console.ReadLine();
//a.move((double)get1,(double)get2);
a.move(2,3);
Console.ReadLine();
Console.WriteLine("移动后a点得坐标是:
({0},{1})",a.x,a.y);
Console.WriteLine("a点坐标移动后与b点坐标的距离是:
{0}",a.distance(a,b));
if(a==b)
Console.WriteLine("a点和b点相等\n");
else
Console.WriteLine("a点和b点不相等\n");
Console.WriteLine("现将对b点坐标分别移动3和4,按enter确认!
");
b.move(1,2);
Console.ReadLine();
Console.WriteLine("移动后b点得坐标是:
({0},{1})",b.x,b.y);
//Console.WriteLine("b点坐标移动后与a点坐标的距离是:
{0}",b.distance(a,b));
if(a==b)
Console.WriteLine("a点和b点相等");
else
Console.WriteLine("a点和b点不相等");
Console.ReadLine();
}
}
}
3.定义一个顺序表SqlList类,要求能够完成在顺序表中插入元素和删除元素,确定元素在顺序表中位置,检索元素,清空表,判断表是否为空等操作。
编写一个测试程序进行验证。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceshiyan13
{
classSqlList
{
privateint[]list;
privateintlen;
publicSqlList(int[]a,intb)
{
list=a;
len=b;
}
publicvoidprint()
{
//Console.WriteLine("顺序表序列是:
");
for(inti=0;i { Console.Write("{0}\0",list[i]); } } publicboolinsert(intc,intd) { inttemp=0,i=d-1; for(;i { temp=list[i]; list[i]=c; c=temp; } if(d { Console.WriteLine("\n对不起,您的插入位置有误,请重新输入插入位置! "); returnfalse; } returntrue; } publicbooldelete(inte) { intj=e; for(;j list[j-1]=list[j]; len--; if(e { Console.WriteLine("\n对不起,没有您要删除的元素,请重新输入您要删除的位置! \n"); returnfalse; } returntrue; } publicintlookup(inta) { inti=0; for(i=0;i if(list[i]==a) break; if(i==len) return-1; else return(i+1); } publicintreserch(inta) { inti=0,j=0; for(;i if(list[i]==a) j++; returnj; } publicvoidclear() { len=0; } publicvoidshow() { if(len==0) Console.WriteLine("顺序表已清空! \n"); else Console.WriteLine("顺序表未清空! \n"); } } classProgram { staticvoidMain(string[]args) { int[]a={1,2,3,4,5,6,7,8,9}; intb=9; SqlListlist=newSqlList(a,b); Console.WriteLine("顺序表初始化为: "); list.print(); list.insert(4,6); Console.WriteLine("\n\n在顺序表的第6个数据前插入数据4后为: "); list.print(); Console.WriteLine("\n\n在顺序表检索数据3,得到的个数: {0}",list.reserch(3)); Console.WriteLine("\n\n在顺序表检索数据4,得到的个数: {0}",list.reserch(4)); Console.WriteLine("\n\n在顺序表找到第一个数据3所在位置: {0}",list.lookup(3)); Console.WriteLine("\n\n在顺序表找到第一个数据4所在位置: {0}",list.lookup(4)); list.delete(3); Console.WriteLine("\n\n删除顺序表的第3个数据: "); list.print(); Console.WriteLine("\n\n判断顺序表是否为空: "); list.show(); list.clear(); Console.WriteLine("\n清空顺序表后判断: "); list.show(); Console.Read(); } } } 4.定义一个shape抽象类,利用它作为基类派生出Rectangle、Circle等具体形状类,已知具体形状类均具有两个方法GetArea和GetPerim,分别用来求形状的面积和周长。 最后编写一个测试程序对产生的类的功能进行验证。 usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespaceshiyan14 { publicabstractclassShape { publicdoubleGetArea() { return0; } publicdoubleGetPerim() { return0; } } publicclassCircle: Shape { privatedoubler; publicCircle(doublea) { r=a; } publicnewdoubleGetArea() { returnMath.PI*r*r; } publicnewdoubleGetPerim() { returnMath.PI*2*r; } } publicclassRectangle: Shape { privatedoublea,b; publicRectangle(doublec,doubled) { a=c;b=d; } publicnewdoubleGetArea() { returna*b; } publicnewdoubleGetPerim() { return(2*(a+b)); } } classProgram { staticvoidMain(string[]args) { Circlestr=newCircle(3); Rectanglech=newRectangle(5,10); Console.WriteLine("\n\0圆的半径初始化为: R=3\n"); Console.WriteLine("=>圆的面积为: {0}\n",str.GetArea()); Console.WriteLine("=>圆的周长为: {0}\n",str.GetPerim()); Console.WriteLine("\n\0初始化长方形长为: 10,宽为: 5\n"); Console.WriteLine("=>长方形面积: {0}\n",ch.GetArea()); Console.WriteLine("=>长方形周长: {0}\n",ch.GetPerim()); Console.Read(); } } } 5.编程实现一个模拟闹铃的程序,具有闹铃、继续闹铃、打会盹儿,停止闹铃的功能。 usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespaceshiyan15 { publicclassclock { System.Media.SoundPlayermusic; publicvoidalarm() { music=newSystem.Media.SoundPlayer("Track06.wav"); music.Play(); } publicvoidgoon() { music=newSystem.Media.SoundPlayer("Track06.wav"); music.Play(); } publicvoidrest() { music.Stop(); System.Threading.Thread.Sleep(15000); music=newSystem.Media.SoundPlayer("Track06.wav"); music.Play(); } } classProgram { staticvoidMain(string[]args) { clocka=newclock(); Console.WriteLine("\n\n====================主菜单===================="); Console.WriteLine("\n\n1: 闹铃"); Console.WriteLine("\n\n2: 继续闹铃"); Console.WriteLine("\n\n3: 稍后闹铃"); Console.WriteLine("\n\n4: 停止闹铃"); Console.WriteLine("\n请输入您要选择的编号"); inti=Console.Read(); Console.ReadLine(); if(i==1) Environment.Exit(0); a.alarm(); System.Console.Clear(); Console.WriteLine("\n\n====================主菜单===================="); Console.WriteLine("\n\n2: 继续闹铃"); Console.WriteLine("\n\n3: 稍后闹铃"); Console.WriteLine("\n\n4: 停止闹铃"); Console.WriteLine("\n您还需要的服务为"); Console.ReadLine(); if(i==2) Environment.Exit(0); a.goon(); System.Console.Clear(); Console.WriteLine("\n\n====================主菜单===================="); Console.WriteLine("\n\n1: 闹铃"); Console.WriteLine("\n\n3: 稍后闹铃"); Console.WriteLine("\n\n4: 停止闹铃"); Console.WriteLine("\n您还需要的服务为"); Console.ReadLine(); if(i==3) Environment.Exit(0); a.rest(); System.Console.Clear(); Console.WriteLine("\n\n====================主菜单===================="); Console.WriteLine("\n\n1: 闹铃"); Console.WriteLine("\n\n2: 继续闹铃"); Console.WriteLine("\n\n4: 停止闹铃"); Console.WriteLine("\n您还需要的服务为"); Console.ReadLine(); if(i==4) {Environment.Exit(0); Console.WriteLine("已停止闹铃! ! ! "); Console.ReadLine(); } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 实验一设计一个简单的密码验证程序 实验 设计 一个 简单 密码 验证 程序