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 键退出");
                }
            }
        }
    }
}
相关推荐
政企项目老覃15 小时前
边缘 AI 推理部署:安防零售场景下的模型裁剪与端侧落地实践
人工智能·程序人生·算法·性能优化·vllm
唐青枫15 小时前
别急着拆服务:C#.NET 微服务架构从边界设计到实战
c#·.net
SendTomo19 小时前
.ico透明图标在线生成下载平台深度解析
大数据·数据结构·数据库·数据仓库·个人开发
czhc114007566319 小时前
从一份运行日志还原一次生产卡死:三个信号与一场“假卡死“
c#
Jazz_z19 小时前
如何用 C# 读取 Word 中的表格数据
开发语言·c#
郝学胜-神的一滴20 小时前
C++20模板元编程 04:变量模板 别名模板与模板Lambda实战
服务器·开发语言·数据结构·c++·程序人生
VIP_CQCRE20 小时前
在 Visual Studio 里接入 Ace Data Cloud:用 LMLocal 快速获得 AI 编程能力
openai·ai编程·visual studio·ace data cloud·lmlocal
Eypsn20 小时前
金蝶KIS专业版开发-生成任务单的配套任务单
个人开发·金蝶二次开发
可爱系程序猿21 小时前
libeay32.dll 入口点错误排查:旧版 OpenSSL 依赖、PATH 顺序与程序位数
程序人生·电脑
阿松爱学习21 小时前
【Unity开发】FileStream 详解及用法指南
unity·c#·unity开发