点击蓝字
关注我们
来源自网络,侵删
一.整体功能介绍
实现一个登陆界面
1 输出一个登陆界面
2 用户名能够实现邮箱验证,regex库,密码要不可见
3 进度条的模拟实现
4 音乐播放
二.分步实现
1.输出一个登陆界面
首先对此功能使用到的函数进行简单的介绍。
system();
int system(const char *command) 把 command 指定的命令名称或程序名称传给要被命令处理器执行的主机环境,并在命令完成后返回。使用此函数需要包含头文件:#include <stdlib.h>
*<1>调整窗口
system函数+dos指令
标题:title 标题名
颜色:color f0
大小:mode con cols = 40 lins =8;//此处可自己定义cols和lins大小
例如:
system("calc");打开计算器“”里面是计算机的命令。
system("pause");//防止闪屏
实现
void setWindosStyle(void)
{system("title 邮箱验证");system("color f0");system("mode con cols=40 lines=8");
}
2.用户及密码
此处要实现密码不可见,故使用到了_getch()函数
void setUserNamPass(uin8_t* username, uin8_t* userpassword)
{cout << "\t用户名:";cin >> username;cout << "\t密 码:";//cin >> userpassword;
// 密码不可见:字符串当做字符处理
// 每次按键输出一个*号就可以,然后把所有按键保存到password里面char key;uin32_t i = 0;while ((key = _getch()) != '\r'){if (i < 6){userpassword[i++] = key;putchar('*');}else{cout << "密码过长" << endl;system("pause");return;}}//字符串结束标记:\0;userpassword[i] = '\0';
}
3.邮箱验证
此功能是用来判断输入需要构造正则表达式对象,然后调用regex_match()函数来判断输入字符串是否满足要求;使用到C++头文件#include 。
bool checkEmail(uin8_t* username)
{bool result = false;//ctb @163 .com.cnregex object("(\\w+)@(\\w+)(\\.(\\w+))+");/*1. 字母a-z A-Z 或者下划线或者0-9,正则表达式*///+ 多个result = regex_match(username, object);return result;
}
4. 进度条的模拟实现
此功能使用到了#include <Windows.h>头文件的Sleep()函数。
void proc(void)
{string str("-");for (uin32_t i = 0; i <= 20; i++){system("cls");cout << str << endl;cout << i * 5 << "%" << endl;str += "-";Sleep(500);}printf("sucess....!\n");
}
5 .播放音乐
此功能使用到 #include(mmsystem.h)头文件里的mciSendString()函数。
首先下载一个音乐MPS文件,然后将其拷贝到此过程工程目录下。注意:实现此功能需加载静态包,
#pragma comment(lib,“winmm.lib”)//加载静态包
void palyMusic(void)
{mciSendString("open 1.mp3 alias music", 0, 0, 0);mciSendString("play music repeat", 0, 0, 0);
}
6.测试
<1>.头文件
//#pragma once
#ifndef _TEST_H_
#define _TEST_H_typedef int uin32_t;
typedef char uin8_t;#include<iostream>
#include <cstdio>//c++引用中标准,一般是c+原来的文件名字
#include <conio.h>//_getch()
#include <regex>//正则表达式
#include <string>
#include <Windows.h>
#include <mmsystem.h>
using namespace std;void setWindosStyle();
void setUserNamPass(uin8_t* username, uin8_t*userpassword);
bool checkEmail(uin8_t* username);
void proc(void);
void palyMusic(void);#endif // !_TEST_H_
<2>.main函数
#include "test.h"uin32_t main(void)
{//用户名+密码uin8_t username[20] = "";uin8_t userpassword[7] = "";setWindosStyle();setUserNamPass(username, userpassword);if ((checkEmail(username)) == true){if (!(strcmp(username, "ctb@163.com.cn")&&strcmp(userpassword,"12345"))){//弹出进度条proc();cout << "music begin!!!" << endl;//在播放音乐palyMusic();}else{cout << "用户名或者密码错误" << endl;}}else{printf("inpute email name no standard\n");}system("pause");return 0;
}
如果你年满18周岁以上,又觉得学【C语言】太难?想尝试其他编程语言,那么我推荐你学Python,现有价值499元Python零基础课程限时免费领取,限10个名额!
▲扫描二维码-免费领取
戳“阅读原文”我们一起进步