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 键退出");
                }
            }
        }
    }
}
相关推荐
猿长大人1 天前
C# | JSON 序列化中的多态接口处理:基于 Attribute 实现精准 $type 控制
c#·json
一位狮子座的程序员1 天前
如何用RAG解决AI智能体的知识盲区?
开发语言·c#
Nemo_XP1 天前
C# gridlookupedit选中内容重复还原操作
服务器·前端·c#
猿长大人1 天前
C# | 函数式编程入门
开发语言·c#·.net
unityのkiven1 天前
C# 中的奇异递归模板模式:MonoSingleton<T> 的实现
java·开发语言·c#
雪隐1 天前
WPF + MVVM 实战系列02-告别 INPC 手写时代,做个体面的现代 WPF 人
前端·后端·c#
笨鸟先飞,勤能补拙1 天前
密码学深度指南 — SecOps 工程师实战手册
人工智能·vscode·python·安全·github·密码学·visual studio
我是苏苏1 天前
WPF开发01:基础控件及常用模板篇
开发语言·c#·html·wpf
cgsthtm1 天前
visual studio 2022 安装 .net framework 4.5
visual studio·vs2022·.net framework·.net 4.5
BerrySen1781 天前
现代 C# 全栈与高性能编程实战指南:从 CLR 底层机制到 AI Agent 智能体架构
人工智能·架构·c#