带你学会C++文字页面类项目——2.引子与首页部分制作

2023-11-22 11:40

本文主要是介绍带你学会C++文字页面类项目——2.引子与首页部分制作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

🔮前言

⭐声明部分

🌌引子部分制作 

🔋首页部分制作

🧳总结


 

🔮前言

        往期链接:1.初步引入与知识储备

        上一期我带大家认识了C++文字页面类项目和基础知识,这一次,我们来学习运用它们来进行运用。

⭐声明部分

        之前讲到,在做任何比较大且函数量多的项目,需要运用先声明再定义的函数定义方式,以便结构清晰,主函数为第一个定义函数。

        我们可以添加一些合适的注释,来增加可读性。这是一个范例:

//页面声明
void get_in();
void homepage();void page1_environment_protect();
void page1_centre1_ctell();
void page1_centre2_htell();
void page1_centre3_effect();void page2_make_changes();
void page2_centre1_pl();
void page2_centre2_eprp();
void page2_centre3_pt(); void page3_new_materials();
void page3_centre1_figure_out();
void page3_centre2_gn();
void page3_centre3_sp();void page4_questions(string);
void finish();
void chest(int,char);//小插件声明 
void alert(string);
void Slert(string);
void rgb_init();
void rgb_set(int wr,int wg,int wb,int br,int bg,int bb);

🌌引子部分制作 

        引子部分是最简单的。但是想做好也需要仔细阅读专栏中上一期内容。我们在引子部分可以运用alert函数进行。(上一篇提到过,不清楚请看上一篇)

        同时,我们也可以用Sleep语句来做分句。

        我们同时需要顾及到主函数的处理方法,主函数的写法是:

int main(){//主函数rgb_init();//初始化ANSI转义函数rgb_set(255,255,255,0,201,87);//配置颜色system("mode con cols=72 lines=28");//设置大小(可改变)get_in();//进入引子部分return 0;//主函数结束(没什么用,形式)
}

        这里再次强调,里面的子函数我们第一篇已经给到,如果不清楚请重新查阅。

        get_in就是引子部分。接着会跳转到引子部分。

        引子部分的结构简单:

void get_in(){system("cls");system("title 引子");/*文本,注意使用alert比cin更炫更美观*/homepage();//跳转到主页
}

        我们通过范例来学习,这是一个关于科技环保的引子素材(我自己编的,不涉嫌恶意搬运)

void get_in(){system("cls"); system("title 引子");cout<<"\t\t\t  ";rgb_set(200,255,255,0,201,87);alert("创未来·我的科技梦\n\n");rgb_set(255,255,255,0,201,87);alert("\t“科技是第一生产力”。自二十世纪开始,祖国的科学技术有了突破性的\n\n发展。\n\n");Sleep(500);alert("\t时至今日,科技仍是推动时代发展的利器。“科技梦”推动“中国梦”,\n\n祖国的科技日益渐进,成就了伟大壮举。\n\n\t我们作为新时代的接班人,也要掌握科技力量,为祖国的未来争光添彩。\n\n\t现在,许多科技内容高深莫测,我们没法掌握。但是关于环境保护,我们\n\n可以做到。\n\n\t让我们开始我们的生态科技学习之旅吧!");rgb_set(255,10,10,0,201,87);cout<<"\n\n\t3s后跳转到首页...";Sleep(1000);cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b2s后跳转到首页...";Sleep(1000);cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b1s后跳转到首页...";Sleep(1000);homepage();
}

        🔊重点详解:

        📀1.虽然引子部分在第一个,且不会重新出现,最初屏幕是空的。但是还需要加上清屏语句。虽然此处不加也没关系,但是需要注意的是:

        rgb_set运用到全屏幕(见下图,没运用好的现状)只有通过函数跳转或清屏构成。如果既没有跳转,又没有清屏,就会出现如下情况:

        所以,为了养成好习惯,我们最好添加system("pause");

        📀2.结构:

rgb_set(255,10,10,0,201,87);
cout<<"\n\n\t3s后跳转到首页...";
Sleep(1000);
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b2s后跳转到首页...";
Sleep(1000);
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b1s后跳转到首页...";
Sleep(1000);

        是我们制作过程中遇到最多的一种返回方式。能够成功模拟真实的跳转效果。

        📀3.双\n:

        可以看到,范例中运用了空行“\n\n”,是为了让用户看着舒服,一行换一下。我们可以先不添加,运行一遍后找到行末添加。

        现在,这就是我们的成果:

🔋首页部分制作

        首页的制作难度也比较低。通过switch加上getch()语句,分别添加小分支即可。

        直接上代码案例:

void homepage(){rgb_set(200,255,255,144,144,255);system("cls");system("title 首页");cout<<"\t\t\t\t";Slert("首页\n\n");rgb_set(255,255,0,144,144,255);cout<<"\t\t\t     ◎金币:"<<corn<<"\n";rgb_set(255,255,255,144,144,255);Slert(" 1. 环境保护\n\n");Slert(" 2. 改善生态环境\n\n");Slert(" 3. 开发新能源\n\n");Slert(" 4. 趣味答题\n\n");rgb_set(11,23,180,144,144,255);Slert("(*输入相应数字,前往平台,如想退出请按R)");
flag:	switch(getch()) {case '1':page1_environment_protect();break;case '2':page2_make_changes();break;case '3':page3_new_materials();break;case '4':page4_questions("");break;case 'r':finish();break;case 'R':finish();break;default:goto flag;break;}
}

        🔊重点详解:

        📀1.金币部分可有可无,看情况而定(自己制作主题)。

        📀2.flag与goto跳转的必要性是因为需要避免用户输错导致的卡壳或返回错误。

        📀3.颜色随你便,但是金币的颜色还是推荐255,255,0。

        📀4.之所以写r与R,是因为需要顾及到小写与大写的不同,后面多次都会用到。

🧳总结

        本期我带大家学了:

        声明的用法,主函数与引子,首页部分。

  

        下次我们学习答题器制作,十分精彩,不要错过,敬请期待。

这篇关于带你学会C++文字页面类项目——2.引子与首页部分制作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409877

相关文章

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文