您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记(一):模拟用户登录项目完整实战

2019-08-18 13:46 316 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_43647192/article/details/99703666

文章目录

声明

本文为B站的网课笔记(网课链接:C/C++经典项目开发:C++模拟用户登录系统),up主为:跟无言学编程。
笔记对原代码做出了一定的修改,注释,添加,删减。

一、介绍

本项目生成一个可执行文件,当输入正确的邮箱与密码时会播放音乐。
当输入的邮箱名称不合法时,会提示“不是邮箱”

二、项目建立

STEP1:打开Visual Studio:“文件>新建>项目”,命名。

STEP2:“源文件 > 添加 > 新建项”

STEP3:命名为“EmailConfirmation”

三、代码

#include <iostream> //C++引用C中的标准,一般要用‘C’+原来的名字
#include <conio.h>
#include <string>
#include <Windows.h>  //#include <cstdio> //C语言:#include <stdio.h>
#include <regex>  //正则库是std里面的
#include <mmsystem.h>
#pragma comment( lib, "ws2_32.lib " )  //添加本句可以使得编译结果在未安装VS的电脑上运行,另外要注意在生成可执行文件的时候使用下面方式二
#pragma comment(lib,"winmm.lib")

/*
1.构造正则表达式
2.调用regex_match(输入字符,要求);
*/
using namespace std;   //命名空间

/*
第一步:调整窗口格式
system函数+dos命令
第二步:利用正则表达式判断邮箱格式是否合法
第三步:进度条
第四步:音乐
*/

void setwindowsstyle()
{
//调整窗口格式
system("title 邮箱验证");
system("color f0");
system("mode con cols=60 lines=8");
}
/*system的用处:
1.防止闪屏:system("pause");
2.清屏
3.运行可执行文件,如打开计算器:system("calc");
使用该函数可以写一个wifi助手,或者自动关机
*/

bool CheckEmail(char *username)
{
//jfghadh @163.com
//jfghadh @163.com.cn
regex object("(\\w+)@(\\w+)(\\.(\\w+))+");
/*
(\\w+): a-z A-Z 0-9 _
(\\.(\\w+))+: 点加数字、字母、下划线
+:表示多个
*/
bool result = regex_match(username, object);
return result;
}

void proc()
{
string str("■");
for (int i = 0; i <= 20; i++)
{
system("cls");
cout << str << endl;
cout << i * 5 << "%" << endl;
str += "■";
Sleep(50);
}
}

int main()
{
setwindowsstyle();
//用户名+密码
char username[20] = "";
char password[7] = "";
cout << "\t用户名:";
cin >> username;

//字符串结束标记需要进行处理
if (CheckEmail(username))
{
cout << "\t密  码:";
//cin >> password;
//密码不可见:将字符串当作字符处理
char key;
int i = 0;
while ((key = _getch()) != '\r')   //注意要使用‘_getch’这个函数而非‘getchar’
{
if (i < 6)
{
password[i++] = key;
putchar('*');
}
else
{
cout << "密码过长" << endl;
system("pause");
return 0;
}
}
password[i] = '\0';
cout << endl;

if (strcmp(username, "18810715911@163.com") && !strcmp(password, "123456"))
{
//弹出进度条
proc();
cout << "Music begin" << endl;
//播放音乐,不可以是网易云音乐,可以是酷狗
mciSendString("open 1.mp3 alias music", 0, 0, 0); //打开音乐
mciSendString("play music from 8900", 0, 0, 0); //播放音乐
}
else
{
cout << "用户名或者密码出错" << endl;
}
}
else
{
cout << username << "不是邮箱" << endl;
}
system("pause");
return 0;
}

四、编译

STEP1:生成可执行文件
方式一:右键“EmailConfirmation” > 生成。可在DEBUG中找到可执行文件。

方式二:将下图的debug换为release,再执行程序即可。可在release文件夹中找到可执行文件。

STEP2:将音乐文件与可执行文件放至同一目录下,然后更名为“1.MP3”

五、查看效果

(一)输入错误邮箱

(二)输入密码654321

(三)输入密码1234567

(四)输入密码123456
进度条开始滚动:

进度条滚动完毕之后播放音乐:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: