收藏 分销(赏)

项目二--成绩计算器(成绩计算).doc

上传人:仙人****88 文档编号:8739838 上传时间:2025-02-28 格式:DOC 页数:19 大小:1.36MB 下载积分:10 金币
下载 相关 举报
项目二--成绩计算器(成绩计算).doc_第1页
第1页 / 共19页
项目二--成绩计算器(成绩计算).doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
项目二 成绩计算器 【能力目标】 能在C#控制台应用程序和Windows窗体应用程序中,实现数据的输入与输出程序设计。 【促成目标】 1.学会变量声明、变量命名、变量类型之间的转换; 2.掌握Button按钮、TextBox文本框和Label标签控件的使用; 3.会使用ToString()、ToDouble()、WriteLine()和ReadLine()方法。 【案例引入】 一、任务3 创建第二个C#的控制台应用程序——英语成绩计算 【任务要求】 某班级进行了一次英语考试,考试成绩由学生的平时成绩和卷面成绩按4:6得到。现要设计一个控制台应用程序求出学生的英语考试成绩。 【做中学】 1.启动Visual Studio 2008 2.新建项目 在Visual Studio 2008集成开发环境中,选择“文件”→“新建”→“项目”菜单命令,弹出【新建项目】对话框,如下图所示。 还可以单击集成开发环境左边的创建项目图标,来打开【新建项目】对话框。 (1)选择C#的模板 在Visual C#的模板中选择【控制台应用程序】,作为项目类型。 (2)确定项目的名称 项目的名称修改为“EnglishCJcount”(也可以采用默认名称)。 (3)确定项目存放的位置 通过“浏览”按钮选择项目存放的位置,最后单击“确定”即可。 3.编写代码 打开C#的代码编辑器,在代码编辑器中输入英语成绩计算源代码,如下图所示。 在Main()方法中添加如下代码: static void Main(string[] args) { string name; //学生姓名 double x, y, z; //x为平时成绩,y为卷面成绩,z为考试成绩 Console.WriteLine("请输入学生姓名:"); name = Console.ReadLine(); Console.WriteLine("请输入平时成绩X:"); x = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("请输入卷面成绩y:"); y = Convert.ToDouble(Console.ReadLine()); z = x * 0.4 + y * 0.6; Console.WriteLine("{0}英语考试成绩为:{1}", name, z); Console.ReadLine(); } 4.运行与调试 通过“调试” →“启动调试”菜单命令运行程序,也可以通过快捷按钮F5或快捷工具栏的图标运行程序。运行结果如下图所示。 【知识讨论】 主要讨论如何使用Console类的ReadLine()和WriteLine()方法输入数据和输出数据,以及变量定义和数据转换。 1.ReadLine()和WriteLine()方法 (1)WriteLine()方法 观察运行结果图(上图),执行“Console.WriteLine("请输入学生姓名:");”这条语句后,Console类的WriteLine()方法会把字符串“请输入学生姓名:”输出到屏幕上,并换了一行。 格式如下: Console.WriteLine(输出项); 功能:把输出项在控制台上输出。 如: Console.WriteLine("{0}英语考试成绩为:{1}", name, z); 说明: l {0},{1}分别表示第一个和第二个参数,这里代表name和z; l Console.WriteLine()是Console类的一个方法重载,输入输出格式是方法来定义的。又如:Console.WriteLine("请输入学生姓名:");; l WriteLine()方法与C语言的printf()函数功能类似。 (2)ReadLine()方法 执行“x = Convert.ToDouble(Console.ReadLine());”这条语句后,Console类的ReadLine()方法就等待键盘输入成绩,成绩输入后,经过数据转换赋给变量,然后换行,运行结果如上图所示。 格式如下: Console.ReadLine(); 功能:从键盘上读取一行以Enter键为结束符的数据,并把读取的数据返回。 如: name = Console.ReadLine(); 说明:ReadLine()方法与C语言的scan()函数功能类似。 2.变量定义 在这里,定义了4个变量,分别表示学生的姓名、平时成绩、卷面成绩和考试成绩。定义变量语句是: string name; double x, y, z; 3.数据转换 由于键盘输入的是string类型的数据,而x和y是double类型的数据,它们的数据类型不一样,所以需要先进行数据类型转换,然后赋值。 在这里,使用了Convert类的ToDouble方法将输入的数据转换为double类型。数据转换语句是: x = Convert.ToDouble(Console.ReadLine()); y = Convert.ToDouble(Console.ReadLine()); 【技能训练2-1】 设计一个控制台应用程序求出学生的C#考试成绩,考试成绩由学生的平时成绩、上机成绩和卷面成绩按3:3:4得到。 二、变量与数据类型 1.变量与常量 (1)变量代表存储单元,变量名就是地址,通过变量名可以方便地找到内存中存储的数据; (2)每个变量都有一个类型,这决定了变量可以用来存储什么样的数据类型值。也就是说数据是各式各样,首先根据数据的类型为它在内存中分配一块空间,然后数据就可以放进这块空间里了; (3)在程序执行过程中,可以改变变量的值,而常量的值是始终不变的; (4)常量在程序执行过程中,其值是始终不变的。 2.变量命名规则 变量命名规则如下表所示表。 例如,以下变量名是正确的: intX _myFile 而下面的变量命名则是错误的: 863com string Str-Login 注意:C#对于大小写字母是敏感的,所以在声明变量时一定要注意,例如beer、Beer和BEER是三个不同的变量名。 3.变量的分类 在C#中,变量分成七种类型:静态变量、实例变量、数组变量、局部变量、值参数、引用参数、输出参数。下面我们看一个例子: 分析一下在下面代码中类内定义的变量。 class Program { public static int x; int y; int[] a=new int[4]; void MyMethod() { int i=6; a[0]=i; } } 在上面的变量声明中,x是静态变量,y是实例变量,a是数组变量,i是局部变量。 1)静态变量 带有“static”修饰符声明的变量称为静态变量。一旦静态变量所属的类被装载,直到包含该类的程序运行结束时它将一直存在。静态变量的初始值就是该变量类型的默认值。 2)实例变量(非静态变量) 不带有“static”修饰符声明的变量称为实例变量。例如: int x=0; 针对类中的实例变量而言,一旦一个类的新的实例被创建,直到该实例不再被应用而被释放所占空间为止,该实例变量将一直存在。 3)数组变量 数组元素也是一种变量,该变量随着数组实例的存在而存在。每一个数组元素的初始值是该数组元素类型的默认值。 4)局部变量 局部变量是指在一个独立的程序块(如方法)、if语句、switch语句、for语句等中声明的变量,它只在该范围中有效。当程序运行到这一范围时,该变量即开始生效,程序离开时变量就失效了。 在局部变量的有效范围内,变量未定义或未赋值就使用是不合法的,例如下面的程序段: int x=y; //非法,因为局部变量y没有定义 int y; int x=y; //非法,因为局部变量y没有赋值 y=5; x=y; //合法 4..NET 常用数据类型 所有变量都具有数据类型,变量的数据类型决定了如何将其值存储到计算机的内存中。.NET 常用数据类型如下表所示。 表 .NET 常用数据类型 数据类型 说明 例子 int 整型 学生人数、手机的待机时间  Double 浮点型 商品价格、员工工资 、分数 String 字符串型 姓名、产品型号、产品介绍 Char 字符型 ‘优’ 、‘良’ 、‘差’ bool 布尔型 True、false (1)int 整型,有符号32位整数,取值范围:-2,147,483,648~2,147,483,647。 (2)double 浮点型,即存储小数的类型,64位实数,取值范围:5.0*10-324~1.7*10308。在C#中实数还有float、decimal二种类型,它们的差别仅仅在于取值范围和精度不同。 默认情况下,赋值运算符右侧的实数被视为double类型。 (3)char 字符型,存储单个字符。 除了数字以外,计算机处理的信息,主要就是字符了,字符包括数字字符、英文字母、表达符号等。可以按以下方法给一个字符变量赋值,如: char c='A'; 在C#中可以把字符类型当作整数类型来操作。例如: int i='A'+5; //i的值为70 和C、C++中一样,在C#中仍然存在着转义符,以反斜杠(\)开头,将其后的字符转变为另外的含义,如下表所示。 表 转义字符及其含义 转义字符 字符名 \' 单引号 \" 双引号 \\ 反斜杠 \0 空 \a 警告 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平制表符 \v 垂直制表符 \x 使用1~4位十六进制数所表示的字符,如\x66 \u 使用4位十六进制数所表示的字符,如\u0061 例如: char c = '\x41'; //字符’A’ char c = '\u0041'; //字符’A’ (4)bool 布尔型,存储相反的两种状态,布尔型有true和false两个布尔值。如: bool b = (85 > 100); 与C和C++相比,在C#中,true值不再为任何非零值。 (5)String 字符串型,字符串型的数据在程序中都用双引号引起来,而字符型使用单引号。 【案例引入】 三、任务4 创建第二个C#的Windows窗体应用程序——C#成绩计算 【任务要求】 设计一个Windows窗体台应用程序,具有能输入C#的平时成绩、课程设计成绩和卷面成绩,并且能按3:3:4比例得到最终成绩。 【做中学】 1.启动Visual Studio 2008 2.新建项目 在Visual Studio 2008集成开发环境中,选择“文件”→“新建”→“项目”菜单命令,弹出【新建项目】对话框,如下图所示。 (1)选择C#的模板 在Visual C#的模板中选择【Windows窗体应用程序】,作为项目类型。 (2)确定项目的名称 项目的名称修改为“CSharpCJcount”(也可以采用默认名称)。 (3)确定项目存放的位置 通过“浏览”按钮选择项目存放的位置,最后单击“确定”即可。 3.界面设计 (1)添加控件(按要求拖动需要的控件到窗体) 添加一个按钮、四个标签和四个文本框控件。在工具箱的公共控件中,分别选中Button(按钮)控件、Label(标签)、TextBox(文本框)控件拖放到窗体上,并放置好相应位置,如下图所示。 (2)属性设置 1)设置Label1~ Label4控件的属性 在窗体中,分别选中Label1控件,然后在属性窗口中把Label1~ Label4的Text属性修改为“平时成绩:”、“课程设计:”、“卷面成绩:”和“最终成绩:”。 2)设置Button1控件的Text属性为“C#成绩计算”; 3)设置窗体的Text属性为“CSharpCJcount”。 属性设置完成如下图所示。 4.编写代码 打开C#的代码编辑器,在代码编辑器中输入和修改用于创建应用程序的C#源代码。 添加“C#成绩计算”按钮单击事件处理代码: private void button1_Click(object sender, EventArgs e) { double pscj, kcsjcj, qmcj, cj; pscj = Convert.ToDouble(textBox1.Text); kcsjcj = Convert.ToDouble(textBox2.Text); qmcj =Convert.ToDouble(textBox3.Text); cj = pscj * 0.3 + kcsjcj * 0.3 + qmcj * 0.4; textBox4.Text =cj.ToString(); } 完整代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CSharpCJcount { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { double pscj, kcsjcj, qmcj, cj; pscj = Convert.ToDouble(textBox1.Text); kcsjcj = Convert.ToDouble(textBox2.Text); qmcj =Convert.ToDouble(textBox3.Text); cj = pscj * 0.3 + kcsjcj * 0.3 + qmcj * 0.4; textBox4.Text =cj.ToString(); } } } 5.运行与调试 通过“调试” →“启动调试”菜单命令运行程序,也可以通过快捷按钮F5或快捷工具栏的图标运行程序,运行结果如下图所示。 【知识讨论】 主要通过本任务进一步讨论关于变量的使用以及数据类型的转换。 1.变量的使用 使用变量的一条重要原则是:变量必须先定义后使用。变量的使用,必须强调先后顺序,先声明,再赋值。 变量的声明同时规定了变量的类型和变量的名称。变量的声明采用以下的格式: 数据类型 变量名; (1)变量声明和赋值有两种方式 1)先声明后赋值 在本任务的button1_Click()中声明了如下4个变量,就是采用先声明后赋值方式。 double pscj, kcsjcj, qmcj, cj; 那么,这4个变量是属于哪种类型的变量呢?以及它们的数据类型? 2)声明的同时赋值 可以在声明的同时对变量进行初始化,如: int x = 1; //给变量x 赋值 1 (2)变量赋的值有三种类型; 1)常数,比如:Int i=1;string str=“test”; 2)变量,比如:Int i=0 ;int j=i; 3)表达式,比如:int total=score1+score2; 2.分析本任务的数据类型转换 为什么需要数据类型转换? 先结合生活案例讲解为什么要进行类型转换:比如2个客人先住了一个2人间的房间,后来想换个四人间的,他们需要到前台办手续换房。 不同类型的变量之间不能直接赋值,如果把一个不同类型的变量赋给另外一个变量同样需要某种手续,这就是调用类型转换方法。 下面结合本任务的代码讲解怎样进行数据类型转换的。 本任务的代码声明了4个浮点型变量: double pscj, kcsjcj, qmcj, cj; (1)使用ToDouble()方法把字符串型转换为浮点型 pscj = Convert.ToDouble(textBox1.Text); kcsjcj = Convert.ToDouble(textBox2.Text); qmcj =Convert.ToDouble(textBox3.Text); 由于在TextBox(文本框)控件上输入的数字是字符串型的,既TextBox.Text是String格式,所以在赋给浮点型变量之前,必须先进行数据类型转换。 (2)使用ToString() 方法把浮点型转换为字符串型。 cj = pscj * 0.3 + kcsjcj * 0.3 + qmcj * 0.4; textBox4.Text =cj.ToString();//将浮点型变量转换为字符串型变量 注意这个方法是不带参数的,前面说的方法是有参数列表的。 3.常见的数据类型转换 常见的数据类型转换如下表所示。 由于 C#变量在声明后就无法再次声明,也就是说无法用于存储其他类型的值。除非该类型可以转换为其他的类型。但是,在多数情况下都是不能进行强制转换的,如: int i; i = "Hello"; //错误,不能把类型 'string' 转换为 'int'" (1)隐式转换 由于该转换是一种安全类型的转换,不会导致数据丢失,因此不需要任何特殊的语法。 int num = 2147483647; long bigNum = num; //执行了隐式转换 (2)显式转换(强制转换): 显式转换需要强制转换运算符。源变量和目标变量兼容,但由于目标变量的类型大小比源变量小(或者目标变量是源变量的一个基类),因此存在数据丢失的风险。 double x = 1234.7; int a; a = (int)x; //强制转换double 为 int. System.Console.WriteLine(a); //输出: 1234 4.控件与变量 (1)控件是一种变量 控件是一种复杂类型的变量,一般在往窗体中拖入一个控件,就相当于给控件声明并赋值了,这样控件在程序中可当作变量使用。下表是前面学过的控件。 类型   用途   Label 标签,用来显示文本 TextBox 输入框,用来输入或显示文本 Button 按钮,用在窗体上提交数据 (2)控件的属性与变量 属性也是一种变量,可当作变量来使用,可看作已定义好的变量。Label 和TextBox(文本框)控件的部分属性如下表所示。 属性名称   类型 说明   Text string 文本 Visible bool 是否可见 BackColor Color 背景色 回顾前面的代码: 任务2中的代码: label1.Visible = false; label1.Visible = true; 技能训练1-2中的代码: Label1.text="你好,你单击了Button按钮!"; 任务4中的代码: textBox4.Text =cj.ToString(); 四、TextBox(文本框)控件 TextBox(文本框)控件主要用于获取用户输入或显示文本,通常用于可编辑文本,也可以设定其成为只读控件。文本框能够显示多行数据,并添加基本的格式设置。 1.TextBox控件的常用属性 2.Text属性 Text属性是TextBox(文本框)控件最重要的属性,要显示的文本就包含在Text属性中。 Text属性可以在设计时通过属性窗口设置,也可以在运行时用代码设置或者通过用户输入设置,同样也可以在运行时通过读取Text属性来获得文本框的当前内容。 3.Text属性的读写操作 在这里主要介绍项目在运行时,如何用代码对TextBox控件的Text属性进行读写操作。 (1)对Text属性进行写操作 1)在运行时,用代码设置Text属性,既对Text属性进行写操作,格式如下: 控件名.属性名=属性值; 如: 任务2中设置Text属性的代码: label1.Visible = false; label1.Visible = true; 技能训练1-2中设置Text属性的代码: Label1.text="你好,你单击了Button按钮!"; 任务4中设置Text属性的代码: textBox4.Text =cj.ToString(); 2)在运行时,通过用户输入来设置Text属性。例如:在任务4中通过用户输入成绩来设置TextBox控件的Text属性,如下图所示。 (2)对Text属性进行读操作 在运行时,用代码读取Text属性,既对Text属性进行读操作,格式如下: 变量名=控件名.属性名; 如: 任务4中读取Text属性的代码: pscj = Convert.ToDouble(textBox1.Text); kcsjcj = Convert.ToDouble(textBox2.Text); qmcj =Convert.ToDouble(textBox3.Text); 综上所述,具有Text属性的所有控件,都可以在程序运行中直接访问Text属性,用来获取和设置Text的值,这样就可以实现在程序运行过程中修改标题的名称,获取用户输入的数据等功能。同样,其他属性也可以进行读写操作。 【技能训练2-2】 在窗体中添加一个Button按钮、一个TextBox文本框和一个Label标签,通过属性窗口设置按钮的Text属性为“显示”、标签和文本框的Text属性为空。然后运行程序,在文本框中输入信息(用户自己随意输入),然后单击按钮,在标签上显示用户输入在文本框中的信息。 参考代码如下: private void btn_Example_Click(object sender, EventArgs e) { Label1.text= Text1.text; } 【项目小结】 本项目通过控制台应用程序《英语成绩计算》、Windows窗体应用程序《C#成绩计算》两个任务的完成,学会了变量声明、变量命名规则、变量类型之间的转换,掌握了Button按钮、TextBox文本框和Label标签控件的使用,并会使用ToString()、ToDouble()、WriteLine()和ReadLine()方法。能在C#控制台应用程序和Windows窗体应用程序中,实现数据的输入与输出程序设计。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服