第一次上机实验参考答案
一、编程范例:创建Windows 窗体个人简历应用程序。
编写一个简单的个人简历程序,要求可以通过文本框输入学号和姓名,通过文件对话框选择照片并显示。
系统运行界面如图1-1 所示。
图 1-1 个人简历项目界面
[界面设计]略。
[参考代码]
namespace FL1_1
{
public partial class Resume : Form
{
public Resume()
{
InitializeComponent();
}
private void btBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog imageDialog = new OpenFileDialog();
imageDialog.Filter =
"BMP(*.BMP)|*.BMP|JPEG(*.JPEG)|*.JPEG|JPG(*.JPG)|*.JPG|GIF(*.GIF)|*.GIF|PNG(*.png)|* .png";
imageDialog.Title = "选择照片";
if (imageDialog.ShowDialog() == DialogResult.OK)
{
pbPhoto.ImageLocation = imageDialog.FileName;
}
}
private void btOK_Click(object sender, EventArgs e)
{
if (tbID.Text.Equals("") || tbName.Text.Equals(""))
MessageBox.Show("学号或者姓名不能为空");
else if (pbPhoto.ImageLocation == null)
MessageBox.Show("请使用浏览按钮上传照片");
else
{
MessageBox.Show("您的简历已保存至数据库!");
Application.Exit();
}
}
}
}
二.程序设计题
1.使用Visual C# 2008 设计一个Windows 应用程序,要求在窗体中显示“信息登录”
和“请输入您的姓名:”,输入文本框中最多只能输入4 个字符,显示文本框不能输入,当
点击显示按钮时显示文本框中显示您输入的姓名,项目名称为SY1-1,程序运行界面如图1-2 所示。
图1-2 SY1-1 的程序界面
[界面设计]略。
[参考代码]
namespace SY1_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = textBox1.Text;
}
}
}
2.利用标签、文本框、按钮控件以及相应的属性,编一字号、内容和格式的复制练习,效果见图1-3,项目文件名为SY1-2。
在 textBox1 输入一字符串,建立三个命令按钮:
(1)Button1:Text 内容为“隶书 25 磅”,事件过程代码为:
textBox1.Font = new Font("隶书", 25);
(2)Button2:Text 内容为“幼圆 15 磅”,代码类似。
(3)Button3:Text 内容为“复制 =>”,要求复制在textBox1 选中的内容以及其字体格式。
选中的内容通过textBox1 的SelectedText 属性;字体通过Font 直接赋值。
图 1-3 SY1-2 运行界面
[界面设计]略。
[参考代码]
namespace SY1_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Font = new Font("隶书", 25);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Font = new Font("幼圆", 25);
}
private void button3_Click(object sender, EventArgs e)
{ textBox2.Text = textBox1.SelectedText;
textBox2.Font = textBox1.Font;
}
}
}
3.编写一个控制台应用程序,任意输入一个字符串,从最后一个字符开始倒序输出。
例如,输入“abcdef”,输出为“fedcba”,不包括引号。
解题分析:在循环中使用字符串类的Sunstring方法来一个一个地取出输入字符并输出。
问题实现:项目名称为SY1-3。
[参考代码]
namespace SY1_3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入任意字符串:");
string s = Console.ReadLine();
Console.WriteLine("你输入的是:" + s);
Console.Write("逆序之后是:");
for (int i = s.Length - 1; i >= 0; i--)
Console.Write("{0}", s.Substring(i, 1));
Console.ReadKey();
}
}
}
4.创建一个Windows 应用程序,用于实现与上题相同的功能。
项目名称为SY1-4,运行界面如图1-4所示。
图 1-4 SY1-4 运行界面
[界面设计]略。
[参考代码]
namespace SY1_4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string s="", t="";
s = textBox1.Text;
for (int i = s.Length - 1; i >= 0; i--)
t=t+s.Substring(i,1);
textBox2.Text = t;
}
}
}
5.一个数如果恰好等于它的因子之和,这个数就称为完整数。
例如6的因子为1、2、3,而6=1+2+3,因此6是完数,编程找出1000之内的所有完数。
项目名称为SY1-5。
[界面设计]略。
[参考代码]
namespace SY1_5
{
class Program
{
static void Main(string[] args)
{
for (int W = 1; W < 1000; W++)
{
int sum = 0;
for (int num = 1; num < W; num++)
{
if (W % num == 0)
sum += num;
}
if (sum == W)
Console.WriteLine("" + W); }
}
}
}
.。