带你学会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

相关文章

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模