很多网站在访问时都要登陆或注册,今天,小编教大家做一个特别简单的注册系统。

首先在注册时先会让你设置用户名,我们用一个字符串存储并输入它:

int main(){string name;getline(cin,name);return 0;
}

然后就是最关键的一步了——判断名称是否合法

我的判断是按我的思路来的,大家可以自行改编:

1、大于8位

2、小于11位

3、开头是字母

4、开头是大写字母

5、结尾是数字

这里要用到新的函数:assert

它的定义:void assert(int expression);

assert的用法有两种,这里先讲一种:

assert(<条件> && "错误反馈");

例如判断一个数是否大于2:

int a;
cin>>a;
assert(a>2 && "a必须大于二!");

效果:

|

利用这个函数,我们就可以做个判断:

assert(st.size()>=4 && "名字必须大于四位数!");
assert(st.size()<=11 && "名称必须小于10位数!");
assert(isalpha(st[0]) && "开头应是字母!");
assert(isupper(st[0]) && "开头需是大写字母!");
assert(isdigit(st[st.size()-1]) && "末尾需是数字!");

用户名bu'feng'r

然后,用户名好了,我我们就可以搞密码了:

先存储并输入一个整数:

int key;
cin>>key;

然后按照我的思路判断:

1、大于8位

2、小于16位

3、前两位是字母

首先,要想判断位数,可以用一个循环:

int len;
while(key>0){key=key/10;len++;}

然后要判断前两位,我们可以用求余分别求出第一位和第二位:

int front = key%(len-1);
int secondFront = key%(len-2);

求出位数,就可以开始判断了:

assert(len < 16 && "密码必须小于16位数!");
assert(len > 8 && "密码必须大于8位数!");
assert((isalpha(front) && isalpha(secondFront)) && "密码前两位需是字母!");

密码部分如下:

再加上一个提示:

cout<<"注册成功!";

完整代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){//读取字符串'st'string st;getline(cin,st);//判断'st'是否合法assert(st.size()>=4 && "名字必须大于四位数!");assert(st.size()<=11 && "名称必须小于10位数!");assert(isalpha(st[0]) && "开头应是字母!");assert(isupper(st[0]) && "开头需是大写字母!");assert(isdigit(st[st.size()-1]) && "末尾需是数字!");//--设置成功--cout<<"名字有效"<<endl;cout<<"请设置密码"<<":";//读取Int整型'key'int key,len;cin>>key;//判断'key'的位数while(key>0){key=key/10;len++;}//获取'key'的前两位int front = key%(len-1);int secondFront = key%(len-2);//判断'key'是否合法assert(len < 16 && "密码必须小于16位数!");assert(len > 8 && "密码必须大于8位数!");assert((isalpha(front) && isalpha(secondFront)) && "密码前两位需是字母!");//--设置成功--cout<<"设置成功!"<<"用户名:"<<st<<endl<<"密码:"<<key;}

教你用C++做一个简单的用户名以及密码注册系统相关推荐

  1. JSP+Mysql 做一个简单的学生成绩查询web系统

    IDEA基于JSP+Mysql 做一个简单的学生成绩查询web系统 目录 一.相关软件的下载和配置环境 Java环境的下载和配置 (1)IDEA的下载和安装 ​ (2)JdK的安装 Tomcat的下载 ...

  2. 教你用Vue 做一个简单的比较两个数字的大小的页面

    一.案例描述 1. 考核知识点 创建vue实例和对v-model内置指令的使用 2. 练习目标 创建vue实例. 掌握v-model内置指令的使用. 3. 需求分析 用户输入的两个数据,得到其大小返回 ...

  3. 教你用Vue做一个简单网页计算器

    二.案例描述 1. 考核知识点 2. 创建vue实例和对v-model内置指令的使用 3. 练习目标 创建vue实例. 掌握v-model内置指令的使用. 4. 需求分析 用户通过选择计算方法和数据输 ...

  4. eclipse基于 JSP+Mysql 做一个简单的学生成绩查询web系统

    文章目录 一.配置环境 一.eclipse的下载和安装 二.JDK的安装和配置 三.tomcat的下载安装和环境配置 四.eclipse下载插件 二.eclipse将项目部署到tomcat上 三.连接 ...

  5. 做一个简单的学生成绩查询web系统

    需要准备: myeclipse MYSQL:参考链接 下载配置tomat 使用Navicat实现创建数据库 Nacicat连接Mysql 首先用管理员身份打开命令提示符 Windows10系统打开管理 ...

  6. 干货 | 如何做一个简单的访谈研究?

    Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 心理学中研究中,大家常用的研究方法大多是实验法.问卷调查法等,这些均是定量研究. 其实,作为质性研究中常用的访谈法,可对个体的内心想法进行较为 ...

  7. extjs 在textfield后面加一个button_用python 做一个简单的MP3

    本节将教大家如何做一个简单的mp3,希望大家能有所收获,写的不足之处望大家谅解. 废话少说,直接上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- i ...

  8. 做一个简单网页(做一个简单网页多少钱)

    怎样做一个简易的网页?做一个简单网页多少钱 做一个简易的普通网页比较容易.当然,制作的方法有好几种,有的是直接写代码.有的是用绘图软件绘制页面再导出网页.常用的是使用网页制作软件做网页.下面以普通静态 ...

  9. 三步教你用Node做一个微信哄女友(基友)神器,小白可上手

    前言 不知道大家最近有没有被python版的<微信每日说>刷屏呢,他可是霸占了github的python热门快两周了.我们前端的小伙伴是不是也看着有点眼馋呢,因为毕竟是不那么熟悉的pyth ...

最新文章

  1. 图森无人车官宣D轮2.15亿美元融资,成卡车货运估值No.1
  2. 微服务,微架构[五]之springboot读取properties文件
  3. 构造全自动计算的CPU
  4. UTF8 匹配汉字,字母,数字
  5. Java 修改文件最后的创建日期
  6. 4 关卡流 进阶_赛博朋克2077:实用玩法攻略,技术流玩法攻略
  7. 【推荐】Zeal 离线API文档浏览器
  8. python数据类型—字符串
  9. shell取得文件行数6法
  10. MFC调用dos窗口使用printf,cout打印输出
  11. iOS开发之NSData和NSString相互转换
  12. sci期刊投稿指南 计算机科学 人工智能方向 145本sci期刊目录 从一区到四区(2022年 最新影响因子更新了)
  13. unityShader
  14. 2021年华为杯数学建模竞赛
  15. 单片机c语言msb全称,51单片机英文缩写全称(整理最全)
  16. Windows中的SID详解
  17. c#窗体应用程序:100以内的素数,每8个数为一行
  18. Holt-Winters模型原理分析及代码实现(python)
  19. python日期间隔天数_Python编程题5--计算两个日期之间相隔的天数
  20. HNU君陌:写点其他的

热门文章

  1. Log sum inequalit 对数和不等式的证明
  2. SonTek -Argonaut-SL500流量计适配调试说明
  3. SAP MM 无价值物料管理的一种实现思路
  4. android iphone6 同步短信,如何将Android手机短信备份到iPhone6
  5. 利用G25祖源计算器坐标画PCA散点图
  6. 智慧停车场综合解决方案
  7. java获得指定时间的时间戳
  8. 使用Android Studio做一个简易进制转换计算器
  9. 使用UltraISO刻录DMG光盘映像
  10. extern volatile struct GPIO_DATA_REGS GpioDataRegs什么意思