From 7a146f45185d1e7b2f0960c11b90c67dd2d2d3fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=8E=E6=9C=88?= <8335338+wx_15377931643ace@user.noreply.gitee.com> Date: Thu, 3 Jun 2021 07:55:21 +0800 Subject: [PATCH] c+ --- .../Program.cs" | 62 ++++++++++ .../Program01.cs" | 113 ++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 "\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program.cs" create mode 100644 "\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program01.cs" diff --git "a/\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program.cs" "b/\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program.cs" new file mode 100644 index 0000000..386cc8e --- /dev/null +++ "b/\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program.cs" @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp1 +{ + //一个考试管理系统,需要录入考生成绩,只能录入数字,否则会报类型转换异常。 + //请编写相关代码, + //1、捕获FormatException异常,并打印输出“异常已处理; + //2、捕获OverflowException异常,数值超出double范围的异常,并打印输出“异常已处理; + //3、捕获一般异常Exception异常。 + //4、最终处理finally + //录入成绩结束后,请输出,总学生数,总分数,平均分。 + class Program + { + static void Main(string[] args) + { + int count = 0; + int sum = 0; + int avg = 0; + while (true) + { + try + { + Console.WriteLine("请输入考生成绩"); + int score = int.Parse(Console.ReadLine()); + count++; + sum += score; + avg = sum / count; + } + catch (FormatException e) + { + Console.WriteLine("异常已处理"); + Console.WriteLine(e.Message); + Console.WriteLine(e.Source); + Console.WriteLine(e.StackTrace); + } + catch (OverflowException s) + { + Console.WriteLine("异常已处理"); + Console.WriteLine(s.Message); + Console.WriteLine(s.Source); + Console.WriteLine(s.StackTrace); + } + catch (Exception f) + { + Console.WriteLine("异常已处理"); + Console.WriteLine(f.Message); + Console.WriteLine(f.Source); + Console.WriteLine(f.StackTrace); + + } + finally + { + Console.WriteLine("考生人数为"+count+"======"+"总分数为"+sum + "======" + "平均分为"+avg); + } + } + } + } +} diff --git "a/\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program01.cs" "b/\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program01.cs" new file mode 100644 index 0000000..808cfc2 --- /dev/null +++ "b/\347\254\2546\346\254\241\344\275\234\344\270\232/\351\230\256\345\273\272\351\234\226/Program01.cs" @@ -0,0 +1,113 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +//第二题: +//编写一个程序,用以接收用户输入的两个浮点型的数值,一个值表示用户想要存放在银行账户中的余额, +//另一个值表示用户想要从银行账户中提取的金额。 +//实现存取款功能, +//用户功能选择:1、存款,2、取款 +//取款时: +//当用户想要提取的金额大于余额时,请手动抛出一个ArgumentOutOfRangeException 参数超出范围的异常, +//异常信息可以写“取款金额大于余额,请重新输入” +//,如此以确保取款金额始终不大于当前余额。 +//操作结束,打印输出余额是多少。 +//最后再添加catch一般异常 Exception,使得数据类型转换的异常也能被捕获到。 +namespace ConsoleApp4 +{ + class Program + { + static void Main(string[] args) + { + + Console.WriteLine("用户功能选择:1、存款,2、取款"); + string str = Console.ReadLine(); + switch (str) + { + case "1": + Deposit(); + break; + case "2": + Withdrawal(); + break; + default: + Console.WriteLine("输入错误,请重新输入"); + break; + } + } + + private static void Withdrawal() + { + float money = 0; + float b; + while (true) + { + try + { + Console.WriteLine("请输入要取出的金额:(取出金额为0时结束取款)"); + b = float.Parse(Console.ReadLine()); + if (b == 0) + { + break; + } + if (b <= 0) + { + Console.WriteLine("输入错误,请重新输入:"); + continue; + } + else if (b > money) + { + throw new ArgumentOutOfRangeException(); + } + } + catch (ArgumentOutOfRangeException) + { + Console.WriteLine("取款金额大于余额,请重新输入"); + continue; + } + catch (Exception) + { + Console.WriteLine("输入错误,请重新输入:"); + continue; + } + break; + } + money -= b; + Console.WriteLine($"取款成功!余额为:{money}"); + } + + private static void Deposit() + { + float money = 0; + float b; + while (true) + { + Console.WriteLine("请输入要存的金额:(输入的存款为0时结束存款)"); + + try + { + b = float.Parse(Console.ReadLine()); + if (b == 0) + { + break; + } + } + catch (FormatException) + { + Console.WriteLine("输入错误,请重新输入"); + continue; + } + if (b <= 0) + { + Console.WriteLine("输入错误,请重新输入"); + continue; + } + break; + } + money += b; + Console.WriteLine($"存款成功!余额为:{money}"); + } + } +} + -- Gitee