带你学会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调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

详解C++中类的大小决定因数

《详解C++中类的大小决定因数》类的大小受多个因素影响,主要包括成员变量、对齐方式、继承关系、虚函数表等,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 非静态数据成员示例:2. 数据对齐(Padding)示例:3. 虚函数(vtable 指针)示例:4. 继承普通继承虚继承5.

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶