黑马C++笔记(基础)

假期在家一直没网,是时候整理一下子笔记了

C++基础

02C++再出发

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world! " <<"  C++再出发"<< endl;
    return 0;
}

03注释

  1. 单行注释 //
  2. 多行注释 /**/

04 变量

05常量

1.#define宏常量
2. const 修饰的变量

#include <iostream>
#define Day 7
using namespace std;
int main()
{

    cout << "一周有" <<Day<<"天"<<endl;
    const int month=12;
    cout << "一年有" <<month<<"月"<<endl;
    return 0;
}

06–07

。。。

08整型

整型字节
short2
int4
long
long long8

09sizeof 关键字

计算统计数据类型大小

 cout <<sizeof(short)<<sizeof(int)<<sizeof(long)<<sizeof(long long)<<endl;

2448

10 实数

浮点型字节有效范围
float47位
double815-16位

科学计数法 3e2

11-12 字符型/转义字符

1.ASCII
2. 转义字符 \\ \n \t

13字符串类型

  1. C风格字符串
    char 变量名 []="字符串";
  2. C++风格
    string
#include <iostream>
#include <string>
using namespace std;

int main()
{
    char str[]="Hello World";
    cout <<str<<endl;
    string str1("Hello Boy");
	cout <<str1<<endl;
    return 0;
}

Hello World
Hello Boy

14 布尔类型

  1. bool true/false

15数据输入

  1. cin
    cin>>变量;
   int i;
   cin>>i;
   cout <<i<<endl;

45
45

16-23运算符

  1. 加减乘除 除数不能为0
  2. 取模运算 %
  3. ++ --
#include <iostream>

using namespace std;

int main()
{
    int a=0;
    a++;
    cout<<a<<endl;
    cout<<a++<<endl;
    cout<<++a<<endl;
    return 0;
}

  1. 幅值运算符
  2. 比较运算符
  3. 逻辑运算符
    ! && ||

24-41程序流程结构

  1. 选择结构
    if if else if elseif else
#include <iostream>

using namespace std;

int main()
{
    int num1=0;
    int num2=0;
    int num3=0;
    cout << "请输入小猪1" << endl;
    cin>>num1;
    cout << "请输入小猪2" << endl;
    cin>>num2;
    cout << "请输入小猪3" << endl;
    cin>>num3;
    if(num1>num2)
    {
        if(num1>num3)
            cout<<"1"<<endl;
        else
        cout<<"3"<<endl;
    }
    else
    {
        if(num2>num3)cout<<"2"<<endl;
        else cout<<"3"<<endl;
    }
    return 0;
}

  1. 三目运算符
    c=a>b:a?b
    (a>b:a?b)=100 返回变量可以做左值

  2. switch语句

break default
4. 循环结构

  • while循环(注意死循环)
#include <iostream>
#include<cstdlib>
#include<ctime>
using namespace std;

int main()
{
    //利用当前时间生成随机数
    srand((unsigned int)time(NULL));
    int num=rand()%100+1;
    cout<<num<<endl;
    int val;
    cin>>val;
    while(val!=num)
    {
        if(val>num)
            cout<<"大了"<<endl;
        else
            cout<<"小了"<<endl;
        cin>>val;
    }
    return 0;
}

  • do while
#include <iostream>

using namespace std;

int main()
{
    int i=100;
    while(i<1000)
    {
        int g=i%10;
        int s=i/10%10;
        int b=i/100;
        int p=g*g*g+s*s*s+b*b*b;
        if(p==i)
            cout<<p << "是水仙花数" << endl;
        i++;
    }


    return 0;
}

  • for 循环结构
#include <iostream>

using namespace std;

int main()
{
    for(int i=1;i<=100;i++)
    {

        if(i%7==0)
        {
            cout<<i<<"是七的倍数"<<endl;
            continue;
        }
        int s=i/10;
        int g=i%10;
        if(s==7||g==7)
        {
            cout<<i<<"是七的倍数"<<endl;
            continue;
        }
    }
    return 0;
}
//可以合并
  • 嵌套循环

乘法口诀表(行列分析)

#include <iostream>

using namespace std;

int main()
{
    for(int i=1;i<=9;i++)
    {
        //cout<<i<<endl;
        for (int j=1;j<=i;j++)
        {
            cout<<j<<"*"<<i<<"  ";
        }
        cout<<endl;
    }
    cout << "Hello world!" << endl;
    
    return 0;
}

  • break continue goto
goto FLAG

FLAG: 

42-49 数组

  1. 一维数组
  • 数据类型,连续空间
  • 定义(3种)
  • 数组名(长度,首地址,常量)
    长度=数组大小/元素大小
  • 练习
int weight[]={300,350,200,400,250};
    int m=0;
    for(int i=0;i<5;i++)
    {
        if(weight[i]>m)
            m=weight[i];
    }
    cout<<m<<endl;

#include <iostream>

using namespace std;

int main()
{
    int arr[]={1,3,2,5,4};
    int start=0,eend=4;
    int temp=0;
    for(int i=0;i<5;i++)
    {
        cout<<arr[i]<<endl;
    }
    while(start<eend)
    {
        temp=arr[start];
        arr[start]=arr[eend];
        arr[eend]=temp;
        start++;
        eend--;
    }
    for(int i=0;i<5;i++)
    {
        cout<<arr[i]<<endl;
    }
    return 0;
}

  • 冒泡算法
#include <iostream>

using namespace std;

int main()
{
    int arr[]={4,2,8,0,5,7,1,3,9};
    for(int i=0;i<9-1;i++)
    {
        for(int j=0;j<9-1-i;j++)
        {
            if(arr[j]>arr[j+1])
            {
                int temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
    for(int i=0;i<9;i++)
    cout << arr[i] << endl;
    return 0;
}

  1. 二维数组
  • 列必须指定
  • 数组名(内存(行列),首地址)
  • 例子
#include <iostream>

using namespace std;

int main()
{
    int arr2[][3]={100,100,100,90,50,100,60,70,80};
    int total[3]={0,0,0};
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            total[i] +=arr2[i][j];
        }
    }
    for(int i=0;i<3;i++)
    {
        cout<<total[i]<<endl;
    }
    return 0;
}

50-55 函数

  1. 定义 调用
  2. 值传递
  3. 声明 定义只能有一次

56-63 指针

  1. 定义 访问
  2. 指针内存
int a=5;
    int *p=&a;
    cout<<sizeof(p)<<endl;

< 4

  1. 空指针不能访问

  2. 野指针(非法空间)

  3. const
    const int * p --int是常量
    int * const p --p不能指向其他

  4. 指针 数组 --地址访问

  5. 指针 函数 --地址传递

  6. 指针 函数 数组–冒泡排序

64-71 结构体

  1. 自定义数据类型
  2. 定义与使用
  3. 结构体数组
  4. 结构体指针
  5. 结构体嵌套 --教师学生
  6. 结构体作为函数参数–值传递,地址传递
  7. 结构体 const使用场景(地址传递-限制修改)
  8. 例子
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
struct Student
{
    string sName;
    int score;
};
struct Tearcher
{
    string tName;
    struct Student sArray[5];
};

void allocatespace(struct Tearcher tArray[],int len)
{
    string nameseed="ABCDE";
    for(int i=0;i<len;i++)
    {
        tArray[i].tName="Teacher_";
        tArray[i].tName+=nameseed[i];
        for(int j=0;j<5;j++)
        {
            tArray[i].sArray[j].sName="Student_";
            tArray[i].sArray[j].sName+=nameseed[i];
            int random=rand()%61+40;
            tArray[i].sArray[j].score=random;
        }
    }
}
void PrintInfo(struct Tearcher tArray[],int len)
{
    for(int i=0;i<len;i++)
    {
        cout<<"老师姓名:"<<tArray[i].tName<<endl;
        for(int j=0;j<5;j++)
        {
            cout<<"\t学生姓名:"<< tArray[i].sArray[j].sName<<"考生分数:"<< tArray[i].sArray[j].score<<endl;
        }
    }
}
int main()
{
    srand((unsigned int)time(NULL));
    struct Tearcher tArray[3];
    allocatespace(tArray,3);
    PrintInfo(tArray,3);
    return 0;
}

#include <iostream>
#include <string>
using namespace std;

struct Hero
{
    string name;
    int age;
    string sex;
};
void bublesort(struct Hero arr[],int len)
{
    for(int i=0;i<len-1;i++)
    {
        for(int j=0;j<len-1-i;j++)
        {
            if(arr[j].age>arr[j+1].age)
            {
                Hero temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
}
int main()
{
    Hero heroArray[5]=
    {
        {"刘备",23,"男"},
        {"关羽",22,"男"},
        {"张飞",21,"男"},
        {"赵云",20,"男"},
        {"貂蝉",19,"女"},

    };
    int len =sizeof(heroArray)/sizeof(heroArray[0]);
    bublesort(heroArray,len);
    for(int i=0;i<len;i++)
    {
        cout<<"name"<<heroArray[i].name<<"age"<<heroArray[i].age<<"sex"<<heroArray[i].sex<<endl;
    }
    cout << "Hello world!" << endl;
    return 0;
}

基础-案例通讯录管理系统

系统需求

  1. 添加联系人
  • 添加新人,信息包含(姓名、性别、年龄、联系电话、家庭住址)最多纪录1000条
  1. 显示联系人
  • 显示通讯录中所有联系人信息
  1. 删除联系人
  • 按照姓名删除联系人
  1. 查找联系人
  • 按照姓名查找联系人
  1. 修改联系人
  • 按照姓名修改指定联系人
  1. 清空联系人

  2. 退出通讯录

  • 退出当前使用的通讯录

菜单功能

void showMenu()
{
    cout<<"**********************"<<endl;
    cout<<"*****1.添加联系人*****"<<endl;
    cout<<"*****2.显示联系人*****"<<endl;
    cout<<"*****3.删除联系人*****"<<endl;
    cout<<"*****4.查找联系人*****"<<endl;
    cout<<"*****5.修改联系人*****"<<endl;
    cout<<"*****6.清空联系人*****"<<endl;
    cout<<"*****0.退出通讯录*****"<<endl;
    cout<<"**********************"<<endl;
}

退出功能

int select=0; //用户选择输入
    
    while(true)
    {
        showMenu();
        
        cin>>select;
        
        switch(select)
        {
            case 1://1.添加联系人
                break;
            case 2://2.显示联系人
                break;
            case 3://3.删除联系人
                break;
            case 4://4.查找联系人
                break;
            case 5://5.修改联系人
                break;
            case 6://6.清空联系人
                break;
            case 0://0.退出通讯录
                cout<<"欢迎下次使用"<<endl;
                return 0;
                break;
            default:
                break;
        }
    }
	

添加联系人

  • 添加新人,信息包含(姓名、性别、年龄、联系电话、家庭住址)最多纪录1000条
  1. 设计联系人结构体
struct Person
{
    //姓名
    string m_name;
    //性别
    int m_Sex;
    //年龄
    int m_age;
    //联系方式
    string m_phone;
    //地址
    string m_adder;
};
  1. 设计通讯录结构体
#define MAX 1000
struct Addressbooks
{
    //联系人数组
    struct Person personArray[MAX];
    //当前人员个数
    int m_size;
};
  1. main中创建通讯录
Addressbooks abs;
    abs.m_size=0;
  1. 封装添加联系人函数
void addPerson(Addressbooks * abs)
{
    //是否满
    if(abs->m_size==MAX)
    {
        cout<<"通信录已满,无法添加!"<<endl;
        return;
    }
    else
    {
        //添加联系人

        //姓名
        string name;
        cout<<"请输入姓名:!"<<endl;
        cin>>name;
        abs->personArray[abs->m_size].m_name=name;
        //性别
        cout<<"请输入性别:!"<<endl;
        cout<<"1---男"<<endl;
        cout<<"2---女"<<endl;
        int sex=0;
        while(true)
        {
            cin>>sex;
            if(sex==1||sex==2)
            {
                abs->personArray[abs->m_size].m_Sex=sex;
                break;
            }
            cout<<"输入有误,请重新输入"<<endl;
        }
        //年龄
        cout<<"请输入年龄:!"<<endl;
        int age=0;
        cin>>age;
        abs->personArray[abs->m_size].m_age=age;
        //联系人
        string phone;
        cout<<"请输入联系电话:!"<<endl;
        cin>>phone;
        abs->personArray[abs->m_size].m_phone=phone;
        //家庭住址
        string address;
        cout<<"请输入家庭住址:!"<<endl;
        cin>>address;
        abs->personArray[abs->m_size].m_adder=address;

        abs->m_size++;
        cout<<"添加成功!"<<endl;
        system("pause");
        system("cls");

    }
}
  1. 测试添加联系人功能

显示联系人

void showPerson(Addressbooks* abs)
{
    if(abs->m_size==0)
    {
        cout<<"当前记录为空"<<endl;
    }
    else
    {
        for(int i=0;i<abs->m_size;i++)
        {
            cout<<"姓名"<<abs->personArray[i].m_name<<'\t';
            cout<<"性别"<<(abs->personArray[i].m_Sex==1?"男":"女")<<'\t';
            cout<<"年龄"<<abs->personArray[i].m_age<<'\t';
            cout<<"电话"<<abs->personArray[i].m_phone<<'\t';
            cout<<"住址"<<abs->personArray[i].m_adder<<endl;
        }
    }
    system("pause");
    system("cls");
}

删除联系人

  1. 是否存在
int isExist(Addressbooks* abs,string name)
{
     for(int i=0;i<abs->m_size;i++)
     {
         if(abs->personArray[i].m_name==name)
         {
             return i;
         }
     }
     return -1;
}
  1. 删除联系人
void deletePerson(Addressbooks* abs)
{
    cout<<"请输入您要删除的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        for(int i=ret;i<abs->m_size-1;i++)
        {
            abs->personArray[i]=abs->personArray[i+1];
        }
        abs->m_size--;
    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    cout<<"删除成功"<<endl;
    system("pause");
    system("cls");
}

查找联系人

void findPerson(Addressbooks* abs)
{
    cout<<"请输入您要查找的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        cout<<"姓名"<<abs->personArray[ret].m_name<<'\t';
        cout<<"性别"<<(abs->personArray[ret].m_Sex==1?"男":"女")<<'\t';
        cout<<"年龄"<<abs->personArray[ret].m_age<<'\t';
        cout<<"电话"<<abs->personArray[ret].m_phone<<'\t';
        cout<<"住址"<<abs->personArray[ret].m_adder<<endl;
    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    system("pause");
    system("cls");
}

修改联系人

void modifyPerson(Addressbooks * abs)
{
    cout<<"请输入您要修改的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        string name;
        cout<<"请输入姓名:!"<<endl;
        cin>>name;
        abs->personArray[ret].m_name=name;
        //性别
        cout<<"请输入性别:!"<<endl;
        cout<<"1---男"<<endl;
        cout<<"2---女"<<endl;
        int sex=0;
        while(true)
        {
            cin>>sex;
            if(sex==1||sex==2)
            {
                abs->personArray[ret].m_Sex=sex;
                break;
            }
            cout<<"输入有误,请重新输入"<<endl;
        }
        //年龄
        cout<<"请输入年龄:!"<<endl;
        int age=0;
        cin>>age;
        abs->personArray[ret].m_age=age;
        //联系人
        string phone;
        cout<<"请输入联系电话:!"<<endl;
        cin>>phone;
        abs->personArray[ret].m_phone=phone;
        //家庭住址
        string address;
        cout<<"请输入家庭住址:!"<<endl;
        cin>>address;
        abs->personArray[ret].m_adder=address;

    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    system("pause");
    system("cls");
}

清空联系人

void clearPerson(Addressbooks * abs)
{
    abs->m_size=0;
    cout<<"是否清空"<<endl;
    cout<<"1---是"<<endl;
    cout<<"2---否"<<endl;
    int temp=0;
    while(true)
    {
        cin>>temp;
        if(temp==1||temp==2)
        {
            if(temp==1)
            {
                abs->m_size=0;
                cout<<"通讯录已清空"<<endl;
            }
            break;
        }
        cout<<"输入有误,请重新输入"<<endl;
    }
    system("pause");
    system("cls");
}

代码汇总

#include <iostream>
#include<string>
#include<cstdlib>
using namespace std;
//菜单显示
void showMenu()
{
    cout<<"**********************"<<endl;
    cout<<"*****1.添加联系人*****"<<endl;
    cout<<"*****2.显示联系人*****"<<endl;
    cout<<"*****3.删除联系人*****"<<endl;
    cout<<"*****4.查找联系人*****"<<endl;
    cout<<"*****5.修改联系人*****"<<endl;
    cout<<"*****6.清空联系人*****"<<endl;
    cout<<"*****0.退出通讯录*****"<<endl;
    cout<<"**********************"<<endl;
}
//退出功能

//联系人结构体
struct Person
{
    //姓名
    string m_name;
    //性别
    int m_Sex;
    //年龄
    int m_age;
    //联系方式
    string m_phone;
    //地址
    string m_adder;
};
//通讯录结构体
#define MAX 1000
struct Addressbooks
{
    //联系人数组
    Person personArray[MAX];
    //当前人员个数
    int m_size;
};
//1.添加联系人
void addPerson(Addressbooks * abs)
{
    //是否满
    if(abs->m_size==MAX)
    {
        cout<<"通信录已满,无法添加!"<<endl;
        return;
    }
    else
    {
        //添加联系人

        //姓名
        string name;
        cout<<"请输入姓名:!"<<endl;
        cin>>name;
        abs->personArray[abs->m_size].m_name=name;
        //性别
        cout<<"请输入性别:!"<<endl;
        cout<<"1---男"<<endl;
        cout<<"2---女"<<endl;
        int sex=0;
        while(true)
        {
            cin>>sex;
            if(sex==1||sex==2)
            {
                abs->personArray[abs->m_size].m_Sex=sex;
                break;
            }
            cout<<"输入有误,请重新输入"<<endl;
        }
        //年龄
        cout<<"请输入年龄:!"<<endl;
        int age=0;
        cin>>age;
        abs->personArray[abs->m_size].m_age=age;
        //联系人
        string phone;
        cout<<"请输入联系电话:!"<<endl;
        cin>>phone;
        abs->personArray[abs->m_size].m_phone=phone;
        //家庭住址
        string address;
        cout<<"请输入家庭住址:!"<<endl;
        cin>>address;
        abs->personArray[abs->m_size].m_adder=address;

        abs->m_size++;
        cout<<"添加成功!"<<endl;
        system("pause");
        system("cls");

    }
}
//2.显示联系人
void showPerson(Addressbooks* abs)
{
    if(abs->m_size==0)
    {
        cout<<"当前记录为空"<<endl;
    }
    else
    {
        for(int i=0;i<abs->m_size;i++)
        {
            cout<<"姓名"<<abs->personArray[i].m_name<<'\t';
            cout<<"性别"<<(abs->personArray[i].m_Sex==1?"男":"女")<<'\t';
            cout<<"年龄"<<abs->personArray[i].m_age<<'\t';
            cout<<"电话"<<abs->personArray[i].m_phone<<'\t';
            cout<<"住址"<<abs->personArray[i].m_adder<<endl;
        }
    }
    system("pause");
    system("cls");
}
//3.删除联系人
int isExist(Addressbooks* abs,string name)
{
     for(int i=0;i<abs->m_size;i++)
     {
         if(abs->personArray[i].m_name==name)
         {
             return i;
         }
     }
     return -1;
}

void deletePerson(Addressbooks* abs)
{
    cout<<"请输入您要删除的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        for(int i=ret;i<abs->m_size-1;i++)
        {
            abs->personArray[i]=abs->personArray[i+1];
        }
        abs->m_size--;
    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    cout<<"删除成功"<<endl;
    system("pause");
    system("cls");
}

//4.查找联系人
void findPerson(Addressbooks* abs)
{
    cout<<"请输入您要查找的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        cout<<"姓名"<<abs->personArray[ret].m_name<<'\t';
        cout<<"性别"<<(abs->personArray[ret].m_Sex==1?"男":"女")<<'\t';
        cout<<"年龄"<<abs->personArray[ret].m_age<<'\t';
        cout<<"电话"<<abs->personArray[ret].m_phone<<'\t';
        cout<<"住址"<<abs->personArray[ret].m_adder<<endl;
    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    system("pause");
    system("cls");
}
//5.修改联系人
void modifyPerson(Addressbooks * abs)
{
    cout<<"请输入您要修改的联系人"<<endl;
    string name;
    cin>>name;
    int ret=isExist(abs,name);
    if(ret!=-1)
    {
        string name;
        cout<<"请输入姓名:!"<<endl;
        cin>>name;
        abs->personArray[ret].m_name=name;
        //性别
        cout<<"请输入性别:!"<<endl;
        cout<<"1---男"<<endl;
        cout<<"2---女"<<endl;
        int sex=0;
        while(true)
        {
            cin>>sex;
            if(sex==1||sex==2)
            {
                abs->personArray[ret].m_Sex=sex;
                break;
            }
            cout<<"输入有误,请重新输入"<<endl;
        }
        //年龄
        cout<<"请输入年龄:!"<<endl;
        int age=0;
        cin>>age;
        abs->personArray[ret].m_age=age;
        //联系人
        string phone;
        cout<<"请输入联系电话:!"<<endl;
        cin>>phone;
        abs->personArray[ret].m_phone=phone;
        //家庭住址
        string address;
        cout<<"请输入家庭住址:!"<<endl;
        cin>>address;
        abs->personArray[ret].m_adder=address;

    }
    else
    {
        cout<<"查无此人"<<endl;
    }
    system("pause");
    system("cls");
}
//6.清空联系人
void clearPerson(Addressbooks * abs)
{
    abs->m_size=0;
    cout<<"是否清空"<<endl;
    cout<<"1---是"<<endl;
    cout<<"2---否"<<endl;
    int temp=0;
    while(true)
    {
        cin>>temp;
        if(temp==1||temp==2)
        {
            if(temp==1)
            {
                abs->m_size=0;
                cout<<"通讯录已清空"<<endl;
            }
            break;
        }
        cout<<"输入有误,请重新输入"<<endl;
    }
    system("pause");
    system("cls");
}

int main()
{
    //创建通讯录结构体变量
    Addressbooks abs;
    abs.m_size=0;

    int select=0; //用户选择输入

    while(true)
    {
        showMenu();

        cin>>select;

        switch(select)
        {
            case 1://1.添加联系人
                addPerson(&abs);
                break;
            case 2://2.显示联系人
                showPerson(&abs);
                break;
            case 3://3.删除联系人
                deletePerson(&abs);
                break;
            case 4://4.查找联系人
                findPerson(&abs);
                break;
            case 5://5.修改联系人
                modifyPerson(&abs);
                break;
            case 6://6.清空联系人
                clearPerson(&abs);
                break;
            case 0://0.退出通讯录
                cout<<"欢迎下次使用"<<endl;
                system("pause");
                return 0;
                break;
            default:
                break;
        }
    }

    cout << "Hello world!" << endl;
    return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值