C++学习笔记(七)——学生信息管理系统

简介: C++学习笔记(七)——学生信息管理系统

前言


前面已经学了C++的类和对象,对C++已经有了初步了解,为了加深对其应用,下面和大家一起学习编写学生信息管理系统。

大致功能概况


学生信息管理系统功能函数:

  • void menu();//主菜单
  • void CreatStuInfo();//创建学生信息
  • void GetStuFile();//将学生信息写入文件
  • void ShowStu();//显示全部学生信息
  • void PutStuFile();//将学生信息显示在终端上
  • void AddStu();//增加学生信息
  • void DeleteStu();//删除学生信息
  • void FindStu();//查找学生信息
  • void ModifyStu();//修改学生信息
  • void InsertStu();//插入学生信息
  • //void CountStu();//统计学生信息
  • void SortStu();//按照学生成绩排序      

image.png

单链表结点定义

struct Student_Node {
  int num;      //学号
  int age;      //年龄
  char name[20];//姓名
  char sex[10]; //性别
  char major[10];//专业
  char born[10]; //出生日期
  char address[20];//家庭住址
  int Math;       //数学成绩
  struct Student_Node* next;//指针域
};

学生类

class Student
{
public:
  Student()
  {
    head = new Student_Node;
    head->next = NULL;
  }
  void menu();//主菜单
  void CreatStuInfo();//创建学生信息
  void GetStuFile();//将学生信息写入文件
  void ShowStu();//显示全部学生信息
  void PutStuFile();//将学生信息显示在终端上
  void AddStu();//增加学生信息
  void DeleteStu();//删除学生信息
  void FindStu();//查找学生信息
  void ModifyStu();//修改学生信息
  void InsertStu();//插入学生信息
  //void CountStu();//统计学生信息
  void SortStu();//按照学生成绩排序
private:
  struct Student_Node* head;
};

具体代码实现


登录学生系统模块


首先看运行结果:这里登录系统做的有点草率,大家可以限制登录次数或者已经有的账号,不允许再次注册等约束条件。

89327d382f1a451a8d9c106f9c73ddc5.gif

代码示例:

//首页
void start_page()
{
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------欢迎使用学生信息管理系统--------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t|------------------------------------|" << endl;
  cout << "\t\t\t\t请按Enter进行下一步!!!" << endl << "\t\t\t\t";
  getchar();//停顿便于观察
  system("cls");//刷新界面
}
//登录注册界面
void login()
{
  char username[20], password[10];
  cout << "\t\t\t\t欢迎您进入学生基本信息管理软件的注册界面!" << endl << endl;
  cout << "\t\t\t\t【0】我已经注册过了!" << endl << endl;
  cout << "\t\t\t\t【1】未注册,现在注册!" << endl << endl;
  cout << "\t\t\t\t请按Entet键继续......";
  getchar();
  int i;
  cout << "\t\t\t\t" << "请输入......";
  cin >> i;
  if (i == 1)
  {
    cout << "\t\t\t\t" << "欢迎新用户注册!" << endl << endl;
    cout << "\t\t\t\t" << "请输入您的用户名:";
    cin >> username;
    cout << "\t\t\t\t" << "请输入您的密码:";
    cin >> password;
    system("pause");
    system("cls");
    ofstream regist(".login.txt");
    regist << username;
    regist << password;
    regist.close();
    cout << "注册成功!" << endl;
    getchar();
    system("cls");
  }
  cout << "\t\t\t\t" << "请输入您的用户名:";
  cin >> username;
  cout << "\t\t\t\t" << "请输入您的密码:";
  cin >> password;
  char str[20];
  FILE* fp = fopen(".login.txt", "r");
  if (!fp)
  {
    cout << "打开失败" << endl;
    return;
  }
  while (fgets(str, 20, fp))
  {
  }
  fclose(fp);
  if (strcmp(strcat(username, password), str) == 0)
  {
    cout << "登录成功";//登录成功后,在这里添加主菜单
    //main_function();
  }
  else {
    cout << "\t\t\t\t账号或密码错误,请输入正确的账号和密码!!!" << endl;
  }
  getchar();
  //system("cls");
}

创建学生信息模块


运行结果示例:很明显发现年龄与出生日期不符合等与实际不符合问题,大家可以根据需求去添加一些必要的约束条件。

62dfaab2a85f47068b9b168b90c5bc03.gif

代码如下:

//创建学生信息
void Student::CreatStuInfo()
{
  cout << "\t\t\t\t请输入您要创建的学生的数量:" << endl << "\t\t\t\t";
  int i;
  cin >> i;
  struct Student_Node* p1 = head;
  struct Student_Node* p2;
  for (int j = 1; j < i + 1; j++)
  {
    p2 = new Student_Node;
    cout << "\t\t\t\t请输入第" << j << "个学生的学号:" << endl << "\t\t\t\t";
    cin >> p2->num;
    cout << "\t\t\t\t请输入第" << j << "个学生的年龄:" << endl << "\t\t\t\t";
    cin >> p2->age;
    cout << "\t\t\t\t请输入第" << j << "个学生的姓名:" << endl << "\t\t\t\t";
    cin >> p2->name;
    cout << "\t\t\t\t请输入第" << j << "个学生的性别:" << endl << "\t\t\t\t";
    cin >> p2->sex;
    cout << "\t\t\t\t请输入第" << j << "个学生的专业:" << endl << "\t\t\t\t";
    cin >> p2->major;
    cout << "\t\t\t\t请输入第" << j << "个学生的出生日期:" << endl << "\t\t\t\t";
    cin >> p2->born;
    cout << "\t\t\t\t请输入第" << j << "个学生的家庭地址:" << endl << "\t\t\t\t";
    cin >> p2->address;
    cout << "\t\t\t\t请输入第" << j << "个学生的数学成绩:" << endl << "\t\t\t\t";
    cin >> p2->Math;
    p2->next = NULL;
    p1->next = p2;
    p1 = p2;
  }
  getchar();
}
//主菜单
void Student::menu()
{
  cout << "\t\t\t\t------------------------------------" << endl;
  cout << "\t\t\t\t|            主菜单                 |" << endl;
  cout << "\t\t\t\t| 【1】创建学生的信息               |" << endl;
  cout << "\t\t\t\t| 【2】显示学生的信息               |" << endl;
  cout << "\t\t\t\t| 【3】将录入的学生信息进行保存     |" << endl;
  cout << "\t\t\t\t| 【4】将所保存的学生的信息进行读取 |" << endl;
  cout << "\t\t\t\t| 【5】增添学生的信息               |" << endl;
  cout << "\t\t\t\t| 【6】删除学生的信息               |" << endl;
  cout << "\t\t\t\t| 【7】查找学生的信息               |" << endl;
  cout << "\t\t\t\t| 【8】修改学生的信息               |" << endl;
  cout << "\t\t\t\t| 【9】插入学生的信息               |" << endl;
  cout << "\t\t\t\t| 【10】统计学生的信息              |" << endl;
  cout << "\t\t\t\t| 【11】退出学生基本信息管理软件    |" << endl;
  cout << "\t\t\t\t| 【12】 按照学生的数学成绩进行排序 |" << endl;
  cout << "\t\t\t\t------------------------------------|" << endl;
  cout << "\t\t\t\t请输入您的选择:" << endl << "\t\t\t\t";
}

显示学生信息模块


运行结果示例

51869b6de6434362a55461ff18d63e91.gif

代码如下:

//显示全部学生成绩
void Student::ShowStu()
{
  struct Student_Node* p1 = head->next;
  int i = 1;
  if (p1 == nullptr)
  {
    i = 0;
  }
  if (i == 0)
  {
    cout << "\t\t\t\t没有找到学生的信息!!!" << endl;
  }
  if (i == 1)
  {
    while (p1)
    {
      cout << endl;
      cout << "学生的学号:\t\t\t" << p1->num << endl;
      cout << "学生的年龄:\t\t\t" << p1->age << endl;
      cout << "学生的姓名:\t\t\t" << p1->name << endl;
      cout << "学生的性别:\t\t\t" << p1->sex << endl;
      cout << "学生的专业:\t\t\t" << p1->major << endl;
      cout << "学生的出生日期:\t\t\t" << p1->born << endl;
      cout << "学生的家庭住址:\t\t\t" << p1->address << endl;
      cout << "学生的英语成绩:\t\t\t" << p1->Math;
      p1 = p1->next;
    }
  }
  getchar();
}

保存学生信息模块


运行结果示例:

19069a4efea74d78a35d16eb08e88cd1.gif

在对应的路径下,可以找到创建的记事本

image.png

代码如下:

//将学生信息写入文件中
void Student::GetStuFile()
{
  ofstream outfile(".studentlist.txt");
  if (!outfile)
  {
    cout << "打开文件失败!\n" << endl;
  }
  struct Student_Node* p1 = head->next;
  while (p1)
  {
    outfile << "学号:" << p1->num << endl;
    outfile << "年龄:" << p1->age << endl;
    outfile << "姓名:" << p1->name << endl;
    outfile << "性别:" << p1->sex << endl;
    outfile << "专业:" << p1->major << endl;
    outfile << "出生日期:" << p1->born << endl;
    outfile << "家庭地址:" << p1->address << endl;
    outfile << "英语成绩:" << p1->Math << endl;
    p1 = p1->next;
  }
  outfile.close();
  cout << "保存成功!" << endl;
  getchar();
}

读取学生信息模块


运行结果示例:可以直接从文件中读取学生信息

fda9c0bf875b4ca28830597ab5b3d86e.gif

代码如下:

//将学生信息写到终端
void Student::PutStuFile()
{
  int count = 0;
  char str[1024];
  FILE* fp = fopen(".studentlist.txt", "r");
  if (!fp)
  {
    return;
  }
  while (fgets(str, 1024, fp))
  {
    if (count % 8 == 0)
    {
      cout << endl;
    }
    cout << str;
    count++;
  }
  fclose(fp);
  system("pause");
}

增添学生信息模块


//增加学生信息
void Student::AddStu()
{
  struct Student_Node* p1 = head->next;
  struct Student_Node* p2;
  int a = 1, b = 1;
  int c; //学生的学号                
  while (p1->next != NULL)
  {
    p1 = p1->next;
    a++;
  }
  cout << "\t\t\t\t请输入学生的学号:" << endl << "\t\t\t\t";
  cin >> c;
  p1 = head->next;
  for (int i = 1; i <= a; i++)//判断学生的学号是否重复 
  {
    if (p1->num == c)
    {
      cout << "\t\t\t\t出错:学号重复!!!" << endl;
      b = 0;
      break;
    }
    p1 = p1->next;
  }
  if (b != 0)//判断 
  {
    p1 = head;
    while (p1->next != NULL)
    {
      p1 = p1->next;
    }
    p2 = new Student_Node;
    p2->num = c;
    cout << "\t\t\t\t请输入学生的年龄:" << endl << "\t\t\t\t"; cin >> p2->age;
    cout << "\t\t\t\t请输入学生的姓名:" << endl << "\t\t\t\t"; cin >> p2->name;
    cout << "\t\t\t\t请输入学生的性别:" << endl << "\t\t\t\t"; cin >> p2->sex;
    cout << "\t\t\t\t请输入学生的专业:" << endl << "\t\t\t\t"; cin >> p2->major;
    cout << "\t\t\t\t请输入学生的出生日期:" << endl << "\t\t\t\t"; cin >> p2->born;
    cout << "\t\t\t\t请输入学生的家庭住址:" << endl << "\t\t\t\t"; cin >> p2->address;
    cout << "\t\t\t\t请输入学生的数学成绩:" << endl << "\t\t\t\t"; cin >> p2->Math;
    p2->next = NULL;
    p1->next = p2;
    p1 = p2;
  }
  getchar();
}

删除学生信息模块


void Student::DeleteStu()
{
  struct Student_Node* p1;
  p1 = head;
  struct Student_Node* p2;
  int i = 1;
  if (p1->next == NULL)
  {
    cout << "\t\t\t\t删除失败!!!" << endl;
    cout << "\t\t\t\t无可用的数据!!!" << endl;
    i = 0;
  }
  if (i == 1)
  {
    int j;
    cout << "\t\t\t\t请输入您想要删除的学生的学号:" << endl << "\t\t\t\t";
    cin >> j;
    while (p1->next != NULL)
    {
      if (p1->next->num == j)
      {
        cout << "\t\t\t\t******删除成功********" << endl;
        getchar();
        p2 = p1->next;
        p1->next = p2->next;
        delete p2;
        return;
      }
      p1 = p1->next;
    }
    cout << "\t\t\t\t删除错误!!!无法找到此学生的信息!!!" << endl;
  }
  getchar();
}

查找学生信息模块


void Student::FindStu()
{
  int  i = 0;
  struct Student_Node* p1 = head->next;
  int j;
  cout << "\t\t\t\t|--------------------------|" << endl;
  cout << "\t\t\t\t|                          |" << endl;
  cout << "\t\t\t\t|【1】请输入学生的学号查询 |" << endl;
  cout << "\t\t\t\t|【2】请输入学生的姓名查询 |" << endl;
  cout << "\t\t\t\t|                          |" << endl;
  cout << "\t\t\t\t|--------------------------|" << endl;
  cout << "\t\t\t\t";
  cin >> j;
  switch (j)
  {
  case 1:
    int a;
    cout << "\t\t\t\t请输入学生的学号:" << endl << "\t\t\t\t";
    cin >> a;
    while (p1 != NULL)
    {
      if (p1->num == a)
      {
        cout << "\t\t\t\t该学生的学号:\t\t\t\t";
        cout << p1->num << endl;
        cout << "\t\t\t\t该学生的年龄:\t\t\t\t";
        cout << p1->age << endl;
        cout << "\t\t\t\t该学生的姓名:\t\t\t\t";
        cout << p1->name << endl;
        cout << "\t\t\t\t该学生的性别:\t\t\t\t";
        cout << p1->sex << endl;
        cout << "\t\t\t\t该学生的专业:\t\t\t\t";
        cout << p1->major << endl;
        cout << "\t\t\t\t该学生的出生日期:\t\t\t";
        cout << p1->born << endl;
        cout << "\t\t\t\t该学生的家庭住址:\t\t\t";
        cout << p1->address << endl;
        cout << "\t\t\t\t该学生的数学成绩:\t\t\t";
        cout << p1->Math << endl;
        i++;
      }
      p1 = p1->next;
    }
    if (i == 0)
    {
      cout << "\t\t\t\t查询错误!!!" << endl;
      cout << "\t\t\t\t没有此学生的数据!!!" << endl;
    }
    break;
  case 2:
    char xingming[20];
    cout << "\t\t\t\t请输入学生的姓名:" << endl;
    cout << "\t\t\t\t";
    cin >> xingming;
    while (p1 != NULL)
    {
      if (strcmp(p1->name, xingming) == 0)
      {
        cout << "\t\t\t\t该学生的学号:\t\t\t\t";
        cout << p1->num << endl;
        cout << "\t\t\t\t该学生的年龄:\t\t\t\t";
        cout << p1->age << endl;
        cout << "\t\t\t\t该学生的姓名:\t\t\t\t";
        cout << p1->name << endl;
        cout << "\t\t\t\t该学生的性别:\t\t\t\t";
        cout << p1->sex << endl;
        cout << "\t\t\t\t该学生的专业:\t\t\t\t";
        cout << p1->major << endl;
        cout << "\t\t\t\t该学生的出生日期:\t\t\t";
        cout << p1->born << endl;
        cout << "\t\t\t\t该学生的家庭住址:\t\t\t";
        cout << p1->address << endl;
        cout << "\t\t\t\t该学生的数学成绩:\t\t\t";
        cout << p1->Math;
        i++;
      }
      p1 = p1->next;
    }
    if (i == 0)
    {
      cout << "\t\t\t\t查询错误!!!" << endl;
      cout << "\t\t\t\t没有此学生的数据!!!" << endl;
    }
    break;
  default:
    cout << "\t\t\t\t信息错误!!!" << endl;
  }
  getchar();
}

修改学生信息模块


void Student::ModifyStu()
{
  struct Student_Node* p1 = head->next;
  struct Student_Node* p2 = head->next;
  cout << "\t\t\t\t请输入需要修改的学生的学号:" << endl;
  int i;
  int j = 0;
  int k = 1;
  cout << "\t\t\t\t";
  cin >> i;
  while (p1)
  {
    if (p1->num == i)//对是否有该生的信息进行判断 
    {
      j = 1;
    }
    p1 = p1->next;
  }
  if (j == 0)
  {
    cout << "\t\t\t\t错误!!!" << endl;
    cout << "\t\t\t\t没有该生的信息!!!" << endl;
  }
  if (j == 1)
  {
    p1 = head->next;
    while (p1)
    {
      if (p1->num == i)
      {
        cout << "\t\t\t\t-----------------------------" << endl;
        cout << "\t\t\t\t|---【1】修改学生的学号------" << endl;
        cout << "\t\t\t\t|---【2】修改学生的姓名------" << endl;
        cout << "\t\t\t\t|---【3】修改学生的性别------" << endl;
        cout << "\t\t\t\t|---【4】修改学生的专业------" << endl;
        cout << "\t\t\t\t|---【5】修改学生的出生日期--" << endl;
        cout << "\t\t\t\t|---【6】修改学生的家庭住址--" << endl;
        cout << "\t\t\t\t|---【7】修改学生的数学成绩--" << endl;
        cout << "\t\t\t\t|---【8】修改学生的年龄------" << endl;
        cout << "\t\t\t\t|----------------------------" << endl;
        int x;
        cout << "\t\t\t\t";
        cin >> x;
        switch (x)
        {
        case 1:
          cout << "\t\t\t\t请输入修改后的学号:" << endl;
          int y;
          cout << "\t\t\t\t";
          cin >> y;
          while (p2)
          {
            if (p2->num == y)
            {
              cout << "\t\t\t\t出错!!!" << endl;
              cout << "\t\t\t\t学号重复!!!" << endl;
              break;
              k = 0;
            }
            p2 = p2->next;
          }
          if (k != 0)
          {
            p1->num = y;
          }
          break;
        case 2:
          cout << "\t\t\t\t请输入姓名:" << endl << "\t\t\t\t";
          cin >> p1->name;
          break;
        case 3:
          cout << "\t\t\t\t请输入性别:" << endl << "\t\t\t\t";
          cin >> p1->sex;
          break;
        case 4:
          cout << "\t\t\t\t请输入专业:" << endl << "\t\t\t\t";
          cin >> p1->major;
          break;
        case 5:
          cout << "\t\t\t\t请输入出生日期:" << endl << "\t\t\t\t";
          cin >> p1->born;
          break;
        case 6:
          cout << "\t\t\t\t请输入家庭住址:" << endl << "\t\t\t\t";
          cin >> p1->address;
          break;
        case 7:
          cout << "\t\t\t\t请输入数学成绩:" << endl << "\t\t\t\t";
          cin >> p1->Math;
          break;
        case 8:
          cout << "\t\t\t\t请输入年龄:" << endl << "\t\t\t\t";
          cin >> p1->age;
          break;
        }
        break;
      }
    }
  }
  getchar();
}

插入学生信息模块


void Student::InsertStu()
{
  struct Student_Node* p1, * p2;
  struct Student_Node* p3;
  int i;
  cout << "\t\t\t\t请输入要在哪个学号之后插入学生信息:" << endl << "\t\t\t\t";
  cin >> i;
  p1 = new Student_Node;
  cout << "\t\t\t\t请输入待插入学生的学号:" << endl << "\t\t\t\t";
  cin >> p1->num;
  cout << "\t\t\t\t请输入待插入学生的年龄:" << endl << "\t\t\t\t";
  cin >> p1->age;
  cout << "\t\t\t\t请输入待插入学生的姓名:" << endl << "\t\t\t\t";
  cin >> p1->name;
  cout << "\t\t\t\t请输入待插入学生的性别:" << endl << "\t\t\t\t";
  cin >> p1->sex;
  cout << "\t\t\t\t请输入待插入学生的专业:" << endl << "\t\t\t\t";
  cin >> p1->major;
  cout << "\t\t\t\t请输入待插入学生的出生日期:" << endl << "\t\t\t\t";
  cin >> p1->born;
  cout << "\t\t\t\t请输入待插入学生的数学成绩:" << endl << "\t\t\t\t";
  cin >> p1->Math;
  cout << "\t\t\t\t请输入待插入学生的家庭住址:" << endl << "\t\t\t\t";
  cin >> p1->address;
  p2 = head->next;
  p3 = head;
  while (p2)
  {
    p3 = p2;
    if (p3->num == i)
    {
      break;
    }
    p2 = p2->next;
  }
  p1->next = p3->next;
  p3->next = p1;
  getchar();
}

学生成绩排序模块


void Student::SortStu()
{
  //由高分到低分排列  
  {
    int i = 1;
    if (head->next == NULL)
    {
      i = 0;
    }
    if (i == 0)
    {
      cout << "\t\t\t\t出错!!!" << endl;
      cout << "\t\t\t\t没有找到学生的数据!!!" << endl;
    }
    if (i == 1)
    {
      struct Student_Node* p1, * p2;
      int num_1;
      int age_1;
      char name_1[20];
      char sex_1[10];
      char major_1[10];
      char born_1[10];
      char address_1[10];
      int Math_1;
      int num_2;
      int age_2;
      char name_2[20];
      char sex_2[10];
      char major_2[10];
      char born_2[10];
      char address_2[10];
      int Math_2;
      for (p1 = head->next; p1 != NULL; p1 = p1->next)
      {
        for (p2 = p1->next; p2 != NULL; p2 = p2->next)
        {
          if (p1->Math < p2->Math)
          {
            num_1 = p1->num;
            age_1 = p1->age;
            strcpy(name_1, p1->name);
            strcpy(sex_1, p1->sex);
            strcpy(major_1, p1->major);
            strcpy(born_1, p1->born);
            strcpy(address_1, p1->address);
            Math_1 = p1->Math;
            num_2 = p2->num;
            age_2 = p2->age;
            strcpy(name_2, p2->name);
            strcpy(sex_2, p2->sex);
            strcpy(major_2, p2->major);
            strcpy(born_2, p2->born);
            strcpy(address_2, p2->address);
            Math_2 = p2->Math;
            p1->num = num_2;
            p1->age = age_2;
            strcpy(p1->name, name_2);
            strcpy(p1->sex, sex_2);
            strcpy(p1->major, major_2);
            strcpy(p1->born, born_2);
            strcpy(p1->address, address_2);
            p1->Math = Math_2;
            p2->num = num_1;
            p2->age = age_1;
            strcpy(p2->name, name_1);
            strcpy(p2->sex, sex_1);
            strcpy(p2->major, major_1);
            strcpy(p2->born, born_1);
            strcpy(p2->address, address_1);
            p2->Math = Math_1;
          }
        }
      }
      cout << "\t\t\t\tWonderful*****排序成功*****" << endl;
    }getchar();
  }
}
相关文章
|
4月前
|
C++
c++学习笔记07 结构体
C++结构体的详细学习笔记07,涵盖了结构体的定义、使用、数组、指针、嵌套、与函数的交互以及在结构体中使用const的示例和解释。
40 0
|
3月前
|
安全 C语言 C++
C++学习笔记
C++学习笔记
|
4月前
|
C++
c++学习笔记02 运算符
C++学习笔记,介绍了C++中的运算符,包括基本的加减乘除、求模、前后置递增递减、赋值运算符、比较运算符和逻辑运算符的使用及其注意事项。
42 6
|
4月前
|
C++
c++学习笔记01 基本知识与数据类型
C++学习笔记,涵盖了C++中的常量定义、数据类型、变量内存大小计算、基本数据类型(整型、实型、字符型、字符串型、布尔型)以及转义字符的使用。
48 4
|
4月前
|
算法 C++
c++学习笔记04 数组
这篇文章是C++学习笔记4,主题是数组。
46 4
|
4月前
|
C++
【学习笔记】【C/C++】 c++字面值常量
【学习笔记】【C/C++】 c++字面值常量
44 1
|
4月前
|
存储 C++
c++学习笔记05 函数
C++函数使用的详细学习笔记05,包括函数的基本格式、值传递、函数声明、以及如何在不同文件中组织函数代码的示例和技巧。
36 0
c++学习笔记05 函数
|
4月前
|
编译器 C++
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
56 0
|
4月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
45 0
|
4月前
|
C++
c++学习笔记09 引用
C++引用的详细学习笔记,解释了引用的概念、语法、使用注意事项以及引用与变量的关系。
44 0