Visual C# 每周练习题 (1)

  给2年级的小朋友出的练习题。我在想,对于一个昨天才开始接触可视化编程的童靴来说,这个题的要求是不是有点过于复杂了。

■Lieo, 2010年9月11日

题目名称:注册码验证程序

题目难度:Easy(容易)

题目类别:控件使用、数值计算

有效期:2010年9月18日前

  一、问题描述
  请设计一个验证用户输入的用户号和注册号是否匹配的小程序,包括界面和代码。
  用户号是一个5位的非负整数,注册码包括三个部分,每个部分是一个2位的非负整数。请根据下面叙述的算法,根据用户号计算出相应的注册码,并验证用户的输入是否正确。
  我们假设用户输入的用户号为abcde,根据该用户号计算出来的注册码为uv-xy-zw,其中的字母都为0到9的整数,则根据abcde计算uv-xy-zw的算法为:
  ·u=b, v=d,即注册码的前两位分别等于机器号的第二位和第四位;
  ·xy = abcde % 77,即注册码的第二部分是用户号对77取余,如果取余的结果不足10,则要在前面添0;
  ·zw = (xy*u*v) % 100,即注册码的第三部分是根据上面计算出的 b、d、xy 而定的,如果取余结果不足10,要在前面添0。
  例如,用户号为12345,则按照上面的算法计算注册码过程如下:
  ·u=b, v=d,则uv = 24;
  ·xy = abcde % 77,由于 12345 % 77 = 25,故xy=25;
  ·zw = (xy*u*v),由于 (25*2*4) % 100 = 0,则zw=00。
  故计算出来的注册码为:24-25-00,用户将这三个部分24、25、00分别填入三个文本框中。
  程序的界面布局如下图所示:

  程序运行后,用户在“用户号”文本框中填入一个5位非负整数,比如“12345”,在“注册码”文本框中分别输入uv-xy-zw的三个部分,例如第一个文本框填入“24”,第二个文本框填入“25”,第三个文本框填入“00”,之后单击“验证”按钮。
  如果程序根据用户号计算出的注册码与用户填入的一致,则弹出对话框“输入正确”,否则弹出对话框“输入错误”。
  运行效果如下图:


  二、可能要用到的知识
  1. 将字符串转换成整数。设x是一个整型变量,str是要转换的字符串:
  x = Convert.ToInt32(str) ;

  2. 将整数转换成字符串。设x是一个整数,str是转换后的字符串:
  str = x.ToString() ;

  3. 获取用户在文本框中输入的内容要用文本框的Text属性。


  三、备注
  1. 保证用户的输入正确,不必验证用户是否输入的是5位非负整数;
  2. 如果你觉得本题有难度,请回想一下C语言中是怎样获取3位数中个、十、百位上的数字的。本题只需要进行简单的计算,然后验证即可。

✏️ 有任何想法?欢迎发邮件告诉老夫:daozhihun@outlook.com