VS2022实战测试题——2

一、题目要求

Console 类综合应用(15 分)
编写程序实现一个简单的用户交互界面:

  1. 使用 Console 类的不同方法实现:
  • 设置控制台背景色为深蓝色,前景色为白色
  • 输出带颜色的欢迎语(如绿色的 "欢迎使用 XX 系统")
  • 使用 ReadKey () 实现按任意键继续的功能
  • 使用 SetCursorPosition () 将光标定位到指定位置输出提示信息
  1. 接收用户输入的姓名和年龄,格式化输出如下内容:

姓名:XXX

年龄:XX岁

出生年份:XXXX年(根据当前年份计算)

  1. 程序结束前要求用户按 ESC 键退出,其他键则提示 "请按 ESC 键退出"
    评分标准
  • Console 类颜色设置(3 分)
  • 光标定位与 ReadKey 使用(4 分)
  • 输入输出格式化(4 分)
  • ESC 键退出逻辑(2 分)
  • 代码规范(2 分)

二、参考程序

cs 复制代码
using System;

namespace Console类综合应用
{
    class Program
    {
        private static void Main(string[] args)
        {
            // 1. 设置控制台背景色为深蓝色,前景色为白色
            Console.ForegroundColor = ConsoleColor.White;
            Console.BackgroundColor = ConsoleColor.DarkBlue;
            Console.Clear(); // 清屏,让颜色设置立即生效(优化点)

            // 2. 输出带颜色的欢迎语(绿色)
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("欢迎使用出生年份查询系统");
            Console.ResetColor(); // 重置颜色,不影响后续输出

            // 3. 使用 ReadKey() 实现按任意键继续(拦截按键,不回显)
            Console.WriteLine("\n按任意键继续...");
            Console.ReadKey(true);

            // 4. 使用 SetCursorPosition() 定位到指定位置(第5行、第10列,指定坐标)
            Console.SetCursorPosition(10, 5);
            Console.WriteLine("请输入姓名:");
            string name = Console.ReadLine();

            Console.SetCursorPosition(10, 7); // 定位到第7行,避免内容重叠
            Console.WriteLine("请输入年龄:");
            int age = int.Parse(Console.ReadLine());

            // 5. 格式化输出结果
            Console.SetCursorPosition(10, 9); // 定位到结果区
            Console.WriteLine($"姓名:{name}");
            Console.WriteLine($"年龄:{age} 岁");
            int birthYear = DateTime.Now.Year - age;
            Console.WriteLine($"出生年份:{birthYear} 年");

            // 6. ESC 键退出逻辑
            Console.SetCursorPosition(10, 13); // 定位到提示区
            Console.WriteLine("按下 ESC 键退出程序...");
            while (true)
            {
                ConsoleKeyInfo keyInfo = Console.ReadKey(intercept: true);
                if (keyInfo.Key == ConsoleKey.Escape)
                {
                    Console.WriteLine("\n检测到 ESC 键,程序即将退出...");
                    Environment.Exit(0);
                }
                else
                {
                    Console.WriteLine("请按 ESC 键退出");
                }
            }
        }
    }
}
相关推荐
咕白m6252 小时前
使用 C# 将 TIFF 转换为 PDF
前端·c#
JQLvopkk3 小时前
HslCommunication,一个工具测遍所有 PLC
开发语言·人工智能·c#·交互
下页、再停留3 小时前
【C#桌面客户端系列学习-7】数据查询展示
开发语言·c#·visual studio
QQ14220784494 小时前
从 C# WinForms 到 Flask + SQLite:期刊出版 XML 生成器(JATS)重构实践
sqlite·flask·c#
半亩码田5 小时前
C#转Python第4.7篇:logging:Python 的标准日志库
开发语言·python·c#
宝桥南山5 小时前
.NET 11 - 尝试创建一下AGUIServer和AGUIClient(基于新版.NET SDK for AG-UI)
microsoft·ai·微软·c#·aigc·.net
czhc11400756635 小时前
加在入口还是出口 —— 以及一个“看着像文件夹“的文件
c#
波力海苔夹心脆6755 小时前
C# LINQ 入门到上手:一篇讲透查询语法、常用操作符与延迟执行(含示例与速查表
经验分享·c#·.net·solr·linq
daxiangxm1 天前
GEO策略:让AI直接引用你的内容
开发语言·团队开发·运维开发·个人开发·数据库开发