cc++语⾔实现登陆界⾯
C/C++语⾔实现登陆界⾯
整体功能介绍
/***********************************************************
实现⼀个登陆界⾯
1 输出⼀个登陆界⾯
2 ⽤户名能够实现邮箱验证,regex库,密码要不可见
3 进度条的模拟实现
4 ⾳乐播放
***************************************************************/
分步实现
1.输出⼀个登陆界⾯
⾸先对此功能使⽤到的函数进⾏简单的介绍。
(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
system的头文件regex 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("!\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")&&strcmp(userpassword,"12345"))) {
//弹出进度条
proc();
cout <<"music begin"<< endl;
//在播放⾳乐
palyMusic();
}
else
{
cout <<"⽤户名或者密码错误"<< endl;
}
}
else
{
printf("inpute email name no standard\n");
}
system("pause");
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论