20250304-Rain

1. 查找和替换

/*
*5. 查找与替换
文本编辑器通常都拥有查找/替换的功能, 该功能的快捷键是ctrl+f.
现在 需要你设计一个替换功能, 输入原文S 以及A,B两个子串, 用B替换掉S中的A
输入:
第一行: 字符串S
第二行: 子串A
第三行: 子串B
(S长度<100, A,B长度<10)
样例输入:
把你的心 我的心 串一串

鸡翅
样例输出:
把你的鸡翅 我的鸡翅 串一串
*/

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
  string S;
  cout << "Please input 'S': ";
  getline(cin, S);

  string A;
  cout << "Please input 'A': ";
  getline(cin, A);

  string B;
  cout << "Please input 'B': ";
  getline(cin, B);

  // find(): 返回找到的下标
  // 如果有多个, 返回最后一个;
  // 如果没有, 返回string::npos
  while (S.find(A) != string::npos)
  {
    // replace(): 将S中的 下标 S.find(A) 处开始的 A.length() 个字符 替换成 B
    S.replace(S.find(A), A.length(), B);
  }
  cout << S;
  return 0;
}

2. 登录

三层架构

  1. UI(表现层): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。

  2. BLL:(业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。

  3. DAL:(数据访问层): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)

上面

  • 属于 UI 的接口是 showLoginPage()

    • 提示用户输入,做一些简单的检查

    • 然后显示用户需要的数据

  • 属于 BLL 的接口是 login()

    • 提供验证服务,接触用户的输入 与 数据库查找

    • 连接 UI 接口和 DAL 接口

  • 属于 DAL 的接口是 selectUserById(), selectPassById()

    • 直接与全局变量接触,这里进行查找操作

    • 查找结果返回给 BLL

3. 注册

综合代码

写到这才发现原来一直写的都是C式的C++...原本可以将几个属性合起来称为对象的。然后对对象进行相关操作。这次就先这样写了,下次不会局限在C了...

Last updated