




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#程序设计基础教程(时间:(时间:1 15 5次课,次课,3030学时)学时)第四章第四章 学习情境:商品学习情境:商品采购管理系统发票金额采购管理系统发票金额计算计算C#程序设计基础教程第四章第四章 学习情境:商品采购管理系统发票金额计算学习情境:商品采购管理系统发票金额计算4.1 学习情境引入4.2 基础知识1 循环结构4.3 基础知识2 选择结构4.4 基础知识3 异常处理4.5 决策与计划:分析发票金额计算4.6 实施:实现发票金额计算4.7 训练4.8 小结C#程序设计基础教程 4.1 学习情境引入4.1.1 项目需求4.1.2 展示4.1.3 技术分解C#程序设计基础教程第四章第
2、四章 学习情境:商品采购管理系统发票金额计学习情境:商品采购管理系统发票金额计算算前面章节所涉及的应用程序相对比较简单,是按照程序语句的编写顺序依次执行的,用以进行简单的运算。但是应用程序不仅仅限于简单的运算,往往需要根据条件执行不同的代码或者反复执行相同代码。C#程序设计基础教程4.1.1 项目需求4.1.1 项目需求在商品采购管理系统中,计算发票金额是一个很重要的功能。系统根据每种商品的数量和单价,计算出每种商品的金额,然后将这若干商品的金额相加,计算出总金额(即发票金额)。C#程序设计基础教程4.1.1 项目需求1功能性需求 实现计算每种商品的金额。 实现计算发票的总金额。2非功能性需求
3、 界面设计是否合理。 是否有必要的提示信息对话框。C#程序设计基础教程4.1.2 展示发票金额计算界面如下图所示C#程序设计基础教程4.1.2 展示单击3个“计算”按钮后,显示计算结果,如下图所示。C#程序设计基础教程单击“计算总金额”按钮后,显示金额合计结果,如下图所示4.1.2 展示C#程序设计基础教程若有某种商品的金额未进行计算,就单击“计算总金额”按钮,系统会弹出提示对话框,如图下所示。4.1.2 展示C#程序设计基础教程4.1.3 技术分解前面章节所涉及的程序都是按照程序语句的编写顺序依次执行的,但在统计发票金额的时候,有时需要根据特定条件的成立与否,来决定是否执行某一段代码,有时又
4、需要反复执行某一段代码。要解决这两种情况,就需要用到本章将要介绍的选择结构和循环结构。C#程序设计基础教程4.1.3 技术分解1选择结构当需要根据特定条件的成立与否来决定是否执行某一段程序代码的时候,需要用到选择结构。选择结构主要包含if语句及switch语句。C#程序设计基础教程4.1.3 技术分解2循环结构当需要反复执行某段程序代码的时候,需要用到循环结构。循环结构包括for语句、foreach语句、while语句以及do-while语句。C#程序设计基础教程4.1.3 技术分解 3异常处理在C#中,异常处理机制是为处理错误情况提供的一种机制。它为每种错误情况提供了定制的处理方式,并且把标
5、识错误的代码与处理错误的代码分离开来。C#程序设计基础教程4.2 基础知识1:选择结构4.2.1 if语句4.2.2 switch语句4.2.3 演练4.2.4 自测C#程序设计基础教程4.2.1 if语句1简单的if语句2if else语句C#程序设计基础教程【例4-1】 输入两个整数的值,输出其中较大的值。运行结果如图下所示1 简单的if语句C#程序设计基础教程1 简单的if语句(1)设计窗体界面。从工具箱中拖曳4个Label控件、2个TextBox控件和1个Button控件放到窗体上,设置这些控件和窗体的属性值,如下表所示。C#程序设计基础教程控控 件件 类类 型型Name属性属性值值T
6、ext属性值属性值注释注释Label第一个整数:Label第二个整数:Label较大整数值:LabellabelDisplay(表示空)用于输出较大的整数值TextBoxtextBoxNum1用于输入第1个整数TextBoxtextBoxNum2用于输入第2个整数ButtonbuttonOutput输出较大的整数值Form输出较大的整数值C#程序设计基础教程1 简单的if语句(2)编写程序代码。双击“buttonOutput”按钮,在系统自动生成的“buttonOutput_Click”事件委托函数中输入以下代码,完成较大整数值的输出。C#程序设计基础教程1 简单的if语句private vo
7、id buttonOutput_Click(object sender, EventArgs e) int num1, num2, largerNumber; num1 = Convert.ToInt32 (textBoxNum1.Text); num2 = Convert.ToInt32 (textBoxNum2.Text); largerNumber = num1; if (num2 num1) largerNumber = num2; labelDisplay.Text = largerNumber.ToString();C#程序设计基础教程1 简单的if语句从上例中可以看出,在程序中可
8、以使用if语句来有条件地执行某一语句序列,其语法形式为if (条件表达式) 语句1 ; 语句n ;C#程序设计基础教程简单的if语句其中,条件表达式必须用“()”括起来。If语句执行过程是:首先计算条件表达式的值,若为true,表示条件为真,则执行语句序列;否则,就不执行该语句序列。如果语句序列中只有一条可执行语句,可以省略“”。C#程序设计基础教程2if else语句将例4-1中“buttonOutput_Click”事件委托函数中的if语句改用if else语句编写,程序代码如下。C#程序设计基础教程2if else语句private void buttonOutput_Click(obj
9、ect sender, EventArgs e) int num1, num2, largerNumber; num1 = Convert.ToInt32 (textBoxNum1.Text); num2 = Convert.ToInt32 (textBoxNum2.Text); if (num1 num2) largerNumber = num1; else largerNumber = num2; labelDisplay.Text = largerNumber.ToString(); C#程序设计基础教程2if else语句从上面的程序代码中可以看出,ifelse语句表示根据不同的条件分
10、别执行不同的语句序列,其语法形式为if (条件表达式) 语句1 ; else 语句2 ; C#程序设计基础教程2if else语句ifelse语句的执行过程是:首先计算条件表达式的值,当条件表达式的值为true时,执行以语句1开始的语句序列,否则执行以语句2开始的语句序列。当if else语句中的语句序列只有一条执行语句时,可以省略“”。C#程序设计基础教程【例4-2】 根据以下函数表达式,输入x的值,计算y的值。运行结果如图4-6所示。2if else语句C#程序设计基础教程2if else语句(1)设计窗体界面。从工具箱中拖曳3个Label控件、1个TextBox控件和1个Button控件
11、放到窗体上,设置这些控件和窗体的属性值,如表4-2所示。C#程序设计基础教程2if else语句控控 件件 类类 型型Name属性值属性值Text属性值属性值注注 释释Label输入x的值:Label函数值 y = LabellabelValueY(表示空)用于显示函数值TextBoxtextBoxValueX用于输入x的值ButtonbuttonCalculate计算Form计算函数值C#程序设计基础教程2if else语句(2)编写程序代码。双击“buttonCalculate”按钮,在系统自动生成的“buttonCalculate_ Click”事件委托函数中输入以下代码,完成函数值的计
12、算。C#程序设计基础教程2if else语句private void buttonCalculate_Click(object sender, EventArgs e) int x, y; x = Convert.ToInt32 (textBoxValueX.Text); if (x = 0) y = 4 * x; else y = 152 * x; labelValueY.Text = y.ToString();C#程序设计基础教程4.2.2 switch语句if语句每次最多只能判断两个分支,如果出现多重分支的情况,可以使用switch语句。【例4-3】 根据输入的数字,输出该数字对应的是星
13、期几。对应关系:0星期天;1星期一;2星期二;6星期六;其他数字未知。运行结果如图下所示。C#程序设计基础教程4.2.2 switch语句C#程序设计基础教程4.2.2 switch语句(1)设计窗体界面。从工具箱中拖曳3个Label控件、1个TextBox控件和1个Button控件放到窗体上,设置这些控件和窗体的属性值,如表4-3所示。C#程序设计基础教程4.2.2 switch语句控控 件件 类类 型型Name属性值属性值Text属性值属性值注注 释释Label请输入数字:Label对应星期几:LabellabelWeekday(表示空)用于显示星期几TextBoxtextBoxNumbe
14、r用于输入数字ButtonbuttonCheck查看星期几Form输出星期几C#程序设计基础教程4.2.2 switch语句(2)编写程序代码。双击“buttonCheck”按钮,在系统自动生成的“buttonCheck_Click”事件委托函数中输入以下代码,完成输出星期几的功能。C#程序设计基础教程4.2.2 switch语句private void buttonCheck_Click(object sender, EventArgs e) int number = Convert.ToInt32 (textBoxNumber.Text); switch (number) case 0:
15、labelWeekday.Text = 星期天星期天; break; case 1: labelWeekday.Text = 星期一星期一; break; case 2: labelWeekday.Text = 星期二星期二; break; case 3: labelWeekday.Text = 星期三星期三; break; C#程序设计基础教程4.2.2 switch语句case 4: labelWeekday.Text = 星期四星期四; break; case 5: labelWeekday.Text = 星期五星期五; break; case 6: labelWeekday.Text
16、= 星期六星期六; break; default: labelWeekday.Text = 未知未知; break; C#程序设计基础教程4.2.2 switch语句从上面的程序代码中可以看出,switch语句可以实现多分支结构,其语法形式为switch (条件表达式) case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; C#程序设计基础教程4.2.2 switch语句 case 常量表达式n: 语句n; break; default: 语句n+1; break;C#程序设计基础教程4.2.2 switch语句switch语句的执行过程是:首先计
17、算条件表达式的值,然后与每一个case后面的常量值进行比较,一旦发现某个能够匹配的值,就执行该case后面的语句序列,直到遇到break语句。如果表达式的值与所有case中的常量值都不匹配,则执行default后面的语句序列,default语句可有可无。C#程序设计基础教程4.2.2 switch语句说明: switch语句中,case后的常量表达式又称为开关常量,可以是一个整数或整型常量表达式,也可以是一个字符常量、字符串常量、枚举类型。 各常量表达式的类型必须与条件表达式的类型相同。 各常量表达式的值应该互不相同。 switch语句的各case子句的排放顺序是无关紧要的,甚至可以把defa
18、ult子句放在最前面。C#程序设计基础教程4.2.2 switch语句 在关键字case和常量表达式之间一定要有空格,如“case 5: ”,不能写成“case5: ”。 每个case子句必须有break语句,它起着退出switch结构的作用。如果分支中没有break语句,那么编译时会出错。但有一种例外情况,如果一个case子句为空,就可以从这个case跳到下一个case上,这样就可以用相同的方式处理两个或多个case子句了。 C#程序设计基础教程4.2.3 演练1实验题目:验证用户登录2实验目的(1)理解选择结构在程序设计中的作用。(2)掌握if语句的执行过程。(3)熟练应用if语句编写简单
19、的应用程序。C#程序设计基础教程3实验内容设计一个用户登录窗体,如图下所示。4.2.3 演练C#程序设计基础教程4.2.3 演练输入用户名和密码,然后单击“登录”按钮,当用户名为“Admin”,密码为“123456”时,弹出“登录成功”提示对话框,如图4-9所示;否则弹出“用户名或密码不正确!请核对后重新登录!”提示对话框,如图4-10所示。单击“取消”按钮时,程序结束。C#程序设计基础教程4.2.3 演练C#程序设计基础教程4.2.4 自测1选择题(1)已知a、b、c的值分别是4、5、6,执行下面的程序段后,变量n的值为 。if (c b) n = a + b + c;else n = a
20、+ b;A3 B3 C9 D15C#程序设计基础教程4.2.4 自测(2)执行下面的程序段后,变量a、b的值分别为 。int x = 1, a = 0, b = 0;switch (x) case 0: b+; break; case 1: a+; break;C#程序设计基础教程4.2.4 自测 case 2: a+; b+; break; A2,1 B1,1 C1,0 D2,2C#程序设计基础教程4.2.4 自测2填空题(1)执行以下程序段后,变量x的值为 ,变量y的值为 。int x = 10, y = 20;if (x = 10) x+; y += 10; else x; y;C#程序
21、设计基础教程4.2.4 自测(2)执行以下程序段后,变量c的值为 。int a = 2, b = 1, c = 3;if (a 0) c = 0; else c += 1;else c = a + b;C#程序设计基础教程4.2.4 自测3编程题(1)编写一个应用程序,输入圆锥体的半径和高度,计算圆锥体的体积。(2)编写一个应用程序,输入3个整数值,输出其中的最大值。C#程序设计基础教程 4.3 基础知识2:循环结构4.3.1 for语句4.3.2 break语句4.3.3 foreach语句4.3.4 演练4.3.5 自测C#程序设计基础教程4.3.1 for语句for语句是C#语言中使用最
22、广泛、最灵活的一种循环控制语句。for语句的语法形式为for (表达式1; 表达式2; 表达式3) 循环体for后面括号内的3个表达式之间用“;”隔开。C#程序设计基础教程4.3.1 for语句表达式1:一般为赋值表达式,为循环控制变量赋初值。表达式2:一般为关系表达式或逻辑表达式,作为控制循环体是否继续执行的条件。当表达式的值为“真”时,循环体继续执行;当表达式的值为“假”时,循环结束。表达式3:一般为赋值表达式,为循环控制变量增量或减量。C#程序设计基础教程4.3.1 for语句例如:int i, sum = 0;for (i = 1; i = 5; i+) sum = sum + i;
23、表达式1:i = 1设置循环变量i的初始值为1。 表达式2:i = 5是循环条件,当i 5时,时,循环结束。如果没有循环结束。如果没有“i+;”这一语句,这一语句,i的值始终不变,的值始终不变,循环将无限进行,即为死循环。循环将无限进行,即为死循环。C#程序设计基础教程4.3.1 for语句例如: for (j = 0; j 10; i+) sum = sum + j;在这一程序代码中,没有任何一条语句可使循环趋向结束,循环将无限地进行下去。C#程序设计基础教程【例4-4】 计算累加和。运行结果如下图所示。4.3.1 for语句C#程序设计基础教程4.3.1 for语句(1)设计窗体界面。从工
24、具箱中拖曳6个Label控件、2个TextBox控件和1个Button控件放到窗体上,设置这些控件和窗体的属性值,如下表所示。C#程序设计基础教程4.3.1 for语句控控 件件 类类 型型Name属性值属性值Text属性值属性值注注 释释Label初始值:Label结束值:Label累加和:Label最小值为1Label最大值为100000LabellabelSum(表示空)用于显示累加和TextBoxtextBoxInitialValue用于输入初始值TextBoxtextBoxEndValue用于输入结束值ButtonbuttonCalculateSum计算累加和Form计算累加和C#程
25、序设计基础教程4.3.1 for语句(2)编写程序代码。双击“buttonCalculateSum”按钮,在系统自动生成的“buttonCalculate Sum_Click”事件委托函数中输入以下代码,完成计算累加和的功能。C#程序设计基础教程4.3.1 for语句private void buttonCalculateSum_Click(object sender, EventArgs e) int initialValue, endValue, sum; initialValue = Convert.ToInt32 (textBoxInitialValue.Text); endValue
26、 = Convert.ToInt32 (textBoxEndValue.Text); sum = 0; for (int i = initialValue; i = endValue; i+) sum = sum + i; labelSum.Text = sum.ToString();C#程序设计基础教程【例4-5】 计算数组所有元素的和。运行结果如下图所示。4.3.1 for语句C#程序设计基础教程4.3.1 for语句(1)设计窗体界面。从工具箱中拖曳1个GroupBox控件、7个Label控件、5个TextBox控件和1个Button控件放到窗体上,设置这些控件和窗体的属性值,如表4-5
27、所示。C#程序设计基础教程控控 件件 类类 型型Name属性值属性值Text属性值属性值注注 释释GroupBox整型数组Label第1个元素的值:Label第2个元素的值:Label第3个元素的值:Label第4个元素的值:Label第5个元素的值:Label数组元素的和:LabellabelSum(表示空)用于显示数组元素的和TextBoxtextBoxValue1用于输入数组第1个元素的值TextBoxtextBoxValue2用于输入数组第2个元素的值TextBoxtextBoxValue3用于输入数组第3个元素的值TextBoxtextBoxValue4用于输入数组第4个元素的值Te
28、xtBoxtextBoxValue5用于输入数组第5个元素的值ButtonbuttonCalculateSum计算数组元素的和Form计算数组元素的和C#程序设计基础教程4.3.1 for语句(2)编写程序代码。 定义整型数组array。Int array = new int5; 双击“buttonCalculateSum”按钮,在系统自动生成的“buttonCalculateSum_Click”事件委托函数中输入以下代码,完成计算数组元素的和的功能。C#程序设计基础教程4.3.1 for语句private void buttonCalculateSum_Click(object sender
29、, EventArgs e) int sum = 0; array0 = Convert.ToInt32 (textBoxValue1.Text); array1 = Convert.ToInt32 (textBoxValue2.Text); array2 = Convert.ToInt32 (textBoxValue3.Text); array3 = Convert.ToInt32 (textBoxValue4.Text); array4 = Convert.ToInt32 (textBoxValue5.Text); for (int i = 0; i 5; i+) sum = sum +
30、arrayi; labelSum.Text = sum.ToString();C#程序设计基础教程4.3.2 break语句前面介绍的循环结构,只有当循环条件不成立时才结束。但有时希望在循环条件成立的情况下提前跳出循环,这就需要用到break语句了。C#程序设计基础教程【例4-6】 计算1到n(1n100)的和。运行结果如图所示。4.3.2 break语句C#程序设计基础教程4.3.2 break语句(1)设计窗体界面。从工具箱中拖曳5个Label控件、1个TextBox控件和1个Button控件放到窗体上,设置这些控件和窗体的属性值,如下表所示。C#程序设计基础教程控控 件件 类类 型型Na
31、me属性值属性值Text属性值属性值注注 释释Label请输入n的值:Label1n100Label1到n的值为:LabellabelPromptInfo(表示空)用于显示提示信息LabellabelSum(表示空)用于显示和TextBoxtextBoxValueN用于输入n的值ButtonbuttonCalculate计算Form计算1到n的和C#程序设计基础教程4.3.2 break语句(2)编写程序代码。双击“buttonCalculate”按钮,在系统自动生成的“buttonCalculate_ Click”事件委托函数中输入以下代码,完成计算1到n的和的功能。private void
32、 buttonCalculate_Click(object sender, EventArgs e) int n, sum; n = Convert.ToInt32 (textBoxValueN.Text); sum = 0;C#程序设计基础教程4.3.2 break语句 labelPromptInfo.Text = ; for (int i = 1; i 100) labelPromptInfo.Text=n的值超出上限,加到100后不再继续累加!; break; sum = sum + i; labelSum.Text = sum.ToString();C#程序设计基础教程4.3.3 fo
33、reach语句foreach循环语句可以遍历集合中的元素。foreach语句的语法格式如下。foreach (类型 变量 in 表达式) 循环执行语句块类型:变量的类型变量:能被集合元素赋值的循环变量,是一个只读的局部变量。表达式:对象集合或数组表达式。集合元素的类型必须可以显式转换为变量类型。C#程序设计基础教程4.3.3 foreach语句将例4-5“buttonCalculateSum_Click”事件委托函数中的for语句改用foreach语句编写,程序代码如下。C#程序设计基础教程4.3.3 foreach语句private void buttonCalculateSum_Click
34、(object sender, EventArgs e) int sum = 0; array0 = Convert.ToInt32 (textBoxValue1.Text); array1 = Convert.ToInt32 (textBoxValue2.Text); array2 = Convert.ToInt32 (textBoxValue3.Text); array3 = Convert.ToInt32 (textBoxValue4.Text); array4 = Convert.ToInt32 (textBoxValue5.Text); foreach (int num in arr
35、ay) sum = sum + num; labelSum.Text = sum.ToString();C#程序设计基础教程4.3.4 演练1实验题目:判断素数2实验目的(1)理解循环结构在程序设计中的作用。(2)掌握for语句的执行过程。(3)理解break语句在循环结构中的作用。(4)综合应用if语句与for语句,编写较为复杂的应用程序。C#程序设计基础教程3实验内容设计一个判断素数的窗体,如下图所示。4.3.4 演练素数又称素数又称为为质数质数,是,是指一个在大于指一个在大于1的自然数中,除了的自然数中,除了1和此数自身外,不能和此数自身外,不能被其他自然数整除的数。被其他自然数整除的数
36、。C#程序设计基础教程运行程序时,用户在文本框中输入要判断的数字,然后单击“确定”按钮,下面的Label中即可显示出该数字是否是一个素数,运行结果下4-15所示。4.3.4 演练C#程序设计基础教程4.3.5 自测1选择题(1)有如下程序段:int i, sum;sum = 0;for (i = 1; i = 3; sum+) sum += i;该程序段的执行结果是 。Asum = 6 Bsum = 3 C死循环 Dsum = 0C#程序设计基础教程4.3.5 自测(2)执行以下程序段后,变量x的值为 。int x, y;for (x = 2, y = 1; y = 10) break; x
37、+= 5;A2 B7 C12 D15C#程序设计基础教程4.3.5 自测2编程题(1)编写程序,使用for循环实现如下功能:用户输入一个整数n,若n为奇数,程序计算出数列1 + 3 + 5 + + n的和;若为偶数,程序计算出数列2 + 4 + 6 + + n的和。C#程序设计基础教程4.3.5 自测(2)编写程序,打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153=13+53+33。C#程序设计基础教程4.4 基础知识3:异常处理编写的程序再好,在运行时也会出现这样或那样的错误,如一个数被0除,无效的数据类型转
38、换等。程序在执行期间遇到的任何错误和意外行为称为异常。C#为用户提供了一种良好的处理异常的机制,即使用异常类System.Exception为每种错误情况提供了定制的处理方式,并且把标识错误的代码与处理错误的代码分离开来。C#程序设计基础教程【例4-7】 执行2个整数的整除运算,如有异常,则显示异常信息。运行结果如图下所示。4.4 基础知识3:异常处理C#程序设计基础教程4.4 基础知识3:异常处理(1)设计窗体界面。从工具箱中拖曳3个Label控件、2个TextBox控件和1个Button控件放到窗体上,设置这些控件和窗体的属性值,如下表所示。C#程序设计基础教程控控 件件 类类 型型Nam
39、e属性值属性值Text属性值属性值注注 释释Label/Label=LabellabelResult(表示空)用于显示整除结果TextBoxtextBoxDividend用于输入被除数TextBoxtextBoxDivisor用于输入除数ButtonbuttonCalculate计算Form整除运算C#程序设计基础教程4.4 基础知识3:异常处理(2)编写程序代码。双击“buttonCalculate”按钮,在系统自动生成的“buttonCalculate_ Click”事件委托函数中输入以下代码,完成整除运算的功能。C#程序设计基础教程4.4 基础知识3:异常处理private void b
40、uttonCalculate_Click(object sender, EventArgs e) int dividend, divisor, result; try dividend = Convert.ToInt32 (textBoxDividend.Text); divisor = Convert.ToInt32 (textBoxDivisor.Text); result = dividend / divisor; labelResult.Text = result.ToString(); catch (Exception ex) MessageBox.Show(ex.Message,
41、异常信息); C#程序设计基础教程4.4 基础知识3:异常处理从上例中可以看出,正常情况下,程序流进入try控制块,如果没有错误发生,就会正常操作;如果执行try时发生错误,程序流就会跳转到catch语句块。C#程序设计基础教程4.5 决策与计划:分析发票金额计算在商品采购管理系统中,需要计算出每种商品的金额以及所有商品的总金额(即发票金额)。由于还没有学习DataGridView的相关知识,所以目前只能在窗体上模拟一张发票,将每种商品的数量、单价、金额等信息分别存放在数组quantity、unitPrice、price中,并按照窗体上事先设置的内容为quantity数组、unitPrice数
42、组进行初始化,price数组的值由quantity数组及unitPrice数组的值计算得到。C#程序设计基础教程由下图可知,本例假定有3种商品,每种商品的数量和单价都已确定,需要计算出每种商品的金额,以及所有商品的总金额。计算的过程是:先计算出这3种商品各自的金额,再计算所有商品的总金额。如果在计算所有商品的总金额之前,没有计算完这3种商品各自的金额,就会弹出如图4-4所示的提示信息对话框。4.5 决策与计划:分析发票金额计算C#程序设计基础教程4.5 决策与计划:分析发票金额计算计算公式:商品金额=商品数量商品单价 发票金额=商品1金额+商品2金额+商品3金额由于商品1的数量存放在quant
43、ity0中,商品1的单价存放在unitPrice0中,商品1的金额计算后要存放在price0中,所以price0 = quantity0unitPrice0,依此类推。发票金额的值就为price0 + price1 + price2。C#程序设计基础教程4.6 实施:实现发票金额计算(1)设计窗体界面。从工具箱中拖曳若干控件放到窗体上,设置这些控件和窗体的属性值,如下表所示。C#程序设计基础教程控控 件件 类类 型型Name属性值属性值Text属性值属性值注注 释释GroupBox发票信息用于分组LabellabelSum1(表示空)用于显示第1种商品的金额LabellabelSum2(表示空
44、)用于显示第2种商品的金额LabellabelSum3(表示空)用于显示第3种商品的金额LabellabelSum0.00用于显示总金额ButtonbuttonCalculate1计算ButtonbuttonCalculate2计算ButtonbuttonCalculate3计算ButtonbuttonCalculate计算总金额Form发票金额统计C#程序设计基础教程4.6 实施:实现发票金额计算窗体中其他Label控件的Text属性值设置参考图4-1。(2)编写程序代码。 定义3个数组quantity、unitPrice、price,分别表示每种商品的数量、单价、金额的信息,对quanti
45、ty数组、unitPrice数组进行初始化。C#程序设计基础教程4.6 实施:实现发票金额计算/定义表示每种商品数量的数组,初始化后,3种商品的数量分别为:30、20、50int quantity = new int3 30, 20, 50 ;/定义表示每种商品单价的数组,初始化后,3种商品的单价分别为:15.00、25.00、2.50double unitPrice = new double3 15.00, 25.00, 2.50 ;/定义表示每种商品金额的数组double price = new double3;C#程序设计基础教程4.6 实施:实现发票金额计算 分别双击“buttonCalculate1”、“buttonCalculate2”、“buttonCalculate3”按钮,在系统自动生成的“buttonCalculate1_Click”、“buttonCalculate2_Click”、“buttonCalculate3_Click”事件委托函数中分别输入以下代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年传感器网络自组网技术在智能工厂设备状态监测与智能维护报告
- 网络治理中的政策工具探索试题及答案
- 2025年互联网金融平台合规整改与金融科技监管的可持续发展研究
- 网络流量分析与识别技术试题及答案
- 乡村振兴视角下2025年职业技能培训的农村青年创业培训报告
- 项目财务管理的重要性与技巧试题及答案
- 网络工程师考试政策解析试题及答案
- 安全法规培训试题及答案
- 西方国家的地方自治体制考题试题及答案
- 动态更新的软件设计师考试试题及答案
- 西藏自治区2022年事业单位考试真题与答案解析
- 第三单元+第2课+亲切的使者 人教版+七年级下册+
- 浙江农林大学2023
- 义务教育体育与健康课程标准(2022年版)
- 项目volume3修改版-旧20.commissioning servicing manualFMZ5000火灾探测和灭火系统控制盘安装调试维保手册
- 消防安全常识二十条系列挂图清晰版
- GB/T 23227-2018卷烟纸、成形纸、接装纸、具有间断或连续透气区的材料以及具有不同透气带的材料透气度的测定
- GB/T 18049-2017热环境的人类工效学通过计算PMV和PPD指数与局部热舒适准则对热舒适进行分析测定与解释
- 烟草专卖管理师岗位技能标准(2023版)
- 公司车辆驾驶扣分违章处理证明 模板
- 一次性赔偿协议书模板
评论
0/150
提交评论