课程设计选题管理系统C++大作业源码和报告


目录

摘 要1

第1章 绪论2

1.1 课程设计的目的与要求2

1.2 课程设计的背景和意义2

1.2.1课程设计的背景22

1.2.2 课程设计的意义22

1.3 课程设计环境33

第2章 需求分析33

2.1 问题描述33

2.2 功能要求33

2.3 问题的解决方案44

第3章 系统设计44

3.1 数据设计44

3.1.1 类设计44

3.1.2 类之间的关系66

3.1.3 函数设计77

3.2 结构设计77

3.2.1 系统流程图77

3.2.2 界面设计77

第4章 系统实现1010

4.1 类实现1010

4.2 函数实现1616

第5章 系统测试2626

5.1 模块测试2626

5.2 课程设计过程中遇到的问题3131

总 结3232

致谢3333

参考文献3434

摘 要

关键词:添加功能、查询功能、显示功能、编辑功能、删除功能、统计功能、保存功能、读取功能。

第1章 绪论
我们小组成员共有三名,分别是胡安会,陈琼,宁昊为了能按时圆满的完成这次C++课程设计,我们小组进行了详细的分工,以确保设计能按时完成。经过周密的考虑和详细的调查最终确定该学生信息管理系统需要以下几个功能模块:

(1)添加功能:程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。添加记录时,要求学号和编号要唯一。如果添加了重复记录,则提示数据添加重复并取消添加。

(2)查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能:可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。

(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。

(5)删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。

(6)统计功能:能根据多种参数进行统计。能按课程设计题目名称统计出学生选择该题目的人员的信息。

(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。

(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。

经过小组成员的讨论,并根据个人的特长和具体爱好做如下具体分工:

胡安会具体完成以下模块的设计与实现:

) 添加功能
) 查询功能
) 显示功能
陈琼具体完成以下模块的设计与实现:
删除功能
统计功能
保存功能
宁昊具体完成以下模块的设计与实现:
(1) 编辑功能
(2) 读取功能
第2章 需求分析
2.1 问题描述
课程设计题目包括:编号、名称、关键词、实现技术、人员数(由几个人来完成)等信息。
学生信息包括:学号、姓名、性别、年龄、班级、专业等信息。
2 .2功能要求
(1)添加功能:程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。添加记录时,要求学号和编号要唯一。如果添加了重复记录,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能按课程设计题目名称统计出学生选择该题目的人员的信息。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用
2.3 问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
第3章 系统设计
3.1 数据设计
3.1.1 类设计
定义一个学生类Student,类中包括学号stuid,姓名stuname,性别sex,年龄age,班级clas,专业specialty,及所选课程的课程编号couid,课程名称couname,关键词keyword,实现技术technology;定义一个管理类Guanli,其成员函数包括向文件输入函数void write(int n);从文件读取函数,int read();添加学生信息函数void add(),查询信息函数void search (),按学号查询函数void searchsid(),按姓名查询函数void searchsname(),按题目编号查询函数void searchcid(),按题目名称查询函数void searchcname();修改信息函数void alter() ;删除信息函数void del();统计信息函数void total();显示函数void display()以及一个数据成员Student stu[50]。
3.1.2 函数设计
void write(int n),向文件中写入数据,打开文本文档,并将数据输入到文本文档中;int read(),向文件中写入数据从文件中读数据,打开文本文档,并将文本文档中的数据输出;void add(S),添加学生信息;void search()查询信息(可根据学生的学号、姓名、所选课程编号、课程名称进行信息查询);void alter(),修改学生信息;void del()删除学生信息,根据输入的学生学号通过调用函数实现;void total(),统计学生信息(根据学生所选课程名称进行统计);void display(),显示函数用来显示所有学生信息;int main()主函数,显示主菜单,调用各个函数实现所有功能。
3.2 结构设计
3.2.1 系统流程图
课程设计学生选课系统设计结构图:进入功能界面后,可以进行多项功能选择,如添加、查询、显示、修改、删除、统计,将数据写入文件以及从文件读取数据等;而查询功能又可以分为按学号、姓名、题目编号、题目名称等方式进行查询。如图3-1示。
主菜单
图3-1课程设计学生选课系统设计结构图
3.2.2 界面设计
主界面是“欢迎使用课程设计选课系统”,下面是所要使用的功能:
1.添加新的纪录
2.查询记录信息
3.修改学生信息
4.删除学生信息
5.统计所有记录
6.显示所有记录
0.退出系统
其中,查询记录又可以弹出一个界面分别有以下几个功能:
.根据学号查询
.根据姓名查询
.根据编号查询
.根据题目名称查询
每实现一个功能,重新弹出主界面,进行下一个的功能选择。
第4章 系统实现
4.1 类实现
class Student
{
public:
int stuid; //学号
char stuname[10]; //姓名
char sex[2]; //性别
int age; //年龄
char clas[10]; //班级
char specialty[10]; //专业
int couid; //题目编号
char couname[10]; //题目名称
char keyword[20]; //关键词
char technology[30]; //实现技术
}stu[50]; //定义对象
class Guanli
{
private:
Student stu[50];
public:
void add(); //添加学生信息
void search(); //查询信息
void searchsid(); //按学号查询信息
void searchsname(); //按名字查询信息
void searchcid(); //按题目编号查询信息
void searchcname(); //按题目名称查询信息
void alter(); //修改信息
void del(); //删除信息
void total(); //统计信息
void display(); //显示信息
void write(int n); //向文件中写入数据
int read(); //从文件中读数据
};
4.2 函数实现
void Guanli::write(int n)
{
fstream myfile;
myfile.open("student.txt",ios::out|ios::binary);
if(!myfile)
{
cout<<"该文件不能打开!"<<endl;
abort();
}
int count=n;
myfile<<count<<endl<<endl;
for(int i=0;i<=count;i++)
{
myfile<<stu[i].stuid<<" "<<stu[i].stuname<<" "<<stu[i].sex<<" "<<stu[i].age<<" "<<stu[i].clas<<" "<<stu[i].specialty<<" "<<stu[i].couid<<" "<<stu[i].couname<<" "<<stu[i].keyword<<" "<<stu[i].technology<<" "<<endl;
}
myfile.close();
}
int Guanli::read()
{
fstream myfile;
myfile.open("student.txt",ios::in|ios::binary);
if(!myfile)
{
cout<<"该文件不能打开!"<<endl;
abort();
}
int count;
myfile.seekg(0);
myfile>>count;
for(int i=0;i<=count;i++)
{
myfile>>stu[i].stuid>>stu[i].stuname>>stu[i].sex>>stu[i].age>>stu[i].clas>>stu[i].specialty>>stu[i].couid>>stu[i].couname>>stu[i].keyword>>stu[i].technology;
cout<<endl;
}
myfile.close();
return count;
}
void Guanli::add()
{
int n=read();
int i=0;
char sign;
cout<<endl<<"请输入增加的学生的相关信息: "<<endl;
while(sign!='N')
{
loop:
cout<<"学号:";
cin>>stu[i].stuid;
cout << endl;
int c=0;
while(c<i)
{
c++;
if(stu[i].stuid==stu[i-c].stuid)
{
cout<<"你输入的学号已经存在!请重新输入"<<endl;
goto loop;
}
}
cout<<"姓名:";
cin>>stu[i].stuname;
cout<<endl;
cout<<"性别:";
cin>>stu[i].sex;
cout<<endl;
cout<<"年龄:";
cin>>stu[i].age;
cout<<endl;
cout<<"班级:";
cin>>stu[i].clas;
cout<<endl;
cout<<"专业:";
cin>>stu[i].specialty;
cout<<endl;
cout<<"题目编号:";
cin>>stu[i].couid;
cout<<endl;
cout<<"题目名称:";
cin>>stu[i].couname;
cout<<endl;
cout<<"关键词:";
cin>>stu[i].keyword;
cout<<endl;
cout<<"实现技术:";
cin>>stu[i].technology;
cout<<endl;
cout<<"提示:是否继续写入学生信息?(Y/N)";
cin>>sign; //输入判断
i++;
}
write(i);
}
void Guanli::search()
{
int n=read();
cout<<"** (1)根据学号查询 **"<<endl;
cout<<"** (2)根据姓名查询 **"<<endl;
cout<<"** (3)根据编号查询 **"<<endl;
cout<<"** (4)根据名称查询 **"<<endl;
cout<<endl;
int c;
Guanli g;
cout<<"请输入选择:";
cin>>c;
switch(c)
{
case 1:
g.searchsid();
break;
case 2:
g.searchsname();
break;
case 3:
g.searchcid();
break;
case 4:
g.searchcname();
break;
default:
cout<<"输入错误,请重新输入!"<<endl;
}
g.write(n);
}
void Guanli::searchsid()
{
int n=read();
int s;
int i=0;
cout<<endl<<"查找学生信息:"<<endl;
cout<<"请输入需要查找学生的学号:"<<endl;
cin>>s;
while((stu[i].stuid-s)!=0&&i<n) i++; //查找判断
if(i==n)
{
cout<<"提示:对不起,无法找到该学生的信息!"<<endl;
}
else
{
cout<<"******************************"<<endl;
cout<<"学号: "<<stu[i].stuid<<endl;
cout<<"姓名: "<<stu[i]. stuname<<endl;
cout<<"性别: "<<stu[i].sex<<endl ;
cout<<"年龄: "<<stu[i]. age<<endl;
cout<<"班级: "<<stu[i].clas<< endl;
cout<<"专业: "<<stu[i]. specialty<<endl;
cout<<"题目编号: "<<stu[i].couid<<endl;
cout<<"题目名称: "<<stu[i].couname<<endl;
cout<<"关键词: "<<stu[i].keyword<<endl;
cout<<"实现技术: "<<stu[i].technology<<endl;
}
}
void Guanli::searchsname()
{
int n=read();
char a[10];
cout<<"请输入需要查找学生的姓名:"<<endl;
cin>>a;
for(int i=0;i<n;i++)
if(strcmp(stu[i].stuname,a)==0)
{
cout<<"******************************"<<endl;
cout<<"学号: "<<stu[i].stuid<<endl;
cout<<"姓名: "<<stu[i]. stuname<<endl;
cout<<"性别: "<<stu[i].sex<<endl ;
cout<<"年龄: "<<stu[i]. age<<endl ;
cout<<"班级: "<<stu[i].clas<<endl;
cout<<"专业: "<<stu[i]. specialty<<endl;
cout<<"题目编号: "<<stu[i].couid<<endl;
cout<<"题目名称: "<<stu[i].couname<<endl;
cout<<"关键词: "<<stu[i].keyword<<endl;
cout<<"实现技术: "<<stu[i].technology<<endl;
}
}
void Guanli::searchcid()
{
int n=read();
int b;
int i=0;
cout<<"请输入需要查找的题目编号:"<<endl;
cin>>b;
while((stu[i].couid-b)!=0&&i<n) i++; //查找判断
if(i==n)
{
cout<<"提示:对不起,无法找到该信息!"<<endl;
}
else
{
cout<<"******************************"<<endl;
cout<<"学号: "<<stu[i].stuid<<endl;
cout<<"姓名: "<<stu[i]. stuname<<endl;
cout<<"性别: "<<stu[i].sex<<endl ;
cout<<"年龄: "<<stu[i]. age<<endl ;
cout<<"班级: "<<stu[i].clas<< endl;
cout<<"专业: "<<stu[i]. specialty<<endl;
cout<<"题目编号: "<<stu[i].couid<<endl;
cout<<"题目名称: "<<stu[i].couname<<endl;
cout<<"关键词: "<<stu[i].keyword<<endl;
cout<<"实现技术: "<<stu[i].technology<<endl;
}
}
void Guanli::searchcname()
{
int n=read();
char c[10];
cout<<"请输入需要查找的题目名称:"<<endl;
cin>>c;
for(int i=0;i<n;i++)
if(strcmp(stu[i].couname,c)==0)
{
cout<<"******************************"<<endl;
cout<<"学号: "<<stu[i].stuid<<endl;
cout<<"姓名: "<<stu[i]. stuname<<endl;
cout<<"性别: "<<stu[i].sex<<endl ;
cout<<"年龄: "<<stu[i]. age<<endl ;
cout<<"班级: "<<stu[i].clas<< endl;
cout<<"专业: "<<stu[i]. specialty<<endl;
cout<<"题目编号: "<<stu[i].couid<<endl;
cout<<"题目名称: "<<stu[i].couname<<endl;
cout<<"关键词: "<<stu[i].keyword<<endl;
cout<<"实现技术: "<<stu[i].technology<<endl;
}
}
void Guanli::alter()
{
int n=read();
int s;
int i=0;
cout<<endl<<"修改学生信息:"<<endl;
cout<<"请输入需要修改学生的学号:"<<endl;
cin>>s;
while((stu[i].stuid-s)!=0&&i<n) i++; //查找判断
if(i==n)
{
cout<<"提示:对不起,无该学生的信息!!!"<<endl; //输入失败信息
}
else
{
cout<<"该学生的信息:"<<endl;
cout<<"学号"<<stu[i].stuid<<'\n'<<"姓名"<<stu[i].stuname<<'\n'<<"性别"<<stu[i].sex<<'\n'<<"年龄"<<stu[i].age<<'\n'<<"班级"<<
stu[i].clas<<'\n'<<"专业"<<stu[i].specialty<<'\n'<<"题目编号"<<stu[i].couid<<'\n'<<"题目名称"<<stu[i].couname<<'\n'
<<"关键词"<<stu[i].keyword<<'\n'<<"实现技术"<<stu[i].technology<<'\n'<<endl;
cout<<"请重新输入该学生的信息"<<endl;
cout<<"学号:";
cin>>stu[i]. stuid ;
cout<<endl;
cout<<"姓名:";
cin>>stu[i]. stuname;
cout<<endl;
cout<<"性别:";
cin>>stu[i].sex;
cout<<endl;
cout<<"年龄:";
cin>>stu[i].age;
cout<<endl;
cout<<"班级:";
cin>>stu[i].clas ;
cout<<endl;
cout<<"专业:";
cin>>stu[i]. specialty;
cout<<endl;
cout<<"题目编号:";
cin>>stu[i].couid;
cout<<endl;
cout<<"题目名称:";
cin>>stu[i].couname;
cout<<endl;
cout<<"关键词:";
cin>>stu[i].keyword;
cout<<endl;
cout<<"实现技术:";
cin>>stu[i].technology;
cout<<endl;
char c;
cout<<"是否保存数据?(y/n)"<<endl;
cin>>c;
if(c='y')
cout<<"修改成功!"<<endl;
write(n);
}
}
void Guanli::del()
{
int n=read();
int s;
int i=0,j;
cout<<endl<<"删除学生信息:"<<endl;
cout<<"请输入需要删除学生的学号:"<<endl;
cin>>s;
while((stu[i].stuid-s)!=0&&i<n) i++; //查找判断
if(i==n)
{
cout<<"提示:记录为空!!!"<<endl; //返回失败信息
}
else
{
for(j=i;j<n-1;j++) //删除操作
{
stu[j].stuid=stu[j+1].stuid;
strcpy(stu[j].stuname,stu[j+1].stuname);
strcpy(stu[j].sex,stu[j+1].sex);
stu[j].age=stu[j+1].age;
strcpy(stu[j].clas,stu[j+1].clas);
strcpy(stu[j].specialty,stu[j+1].specialty);
stu[j].couid=stu[j+1].couid;
strcpy(stu[j].couname,stu[j+1].couname);
strcpy(stu[j].keyword,stu[j+1].keyword);
strcpy(stu[j].technology,stu[j+1].technology);
}
cout<<"提示:已成功删除!"<<endl; //返回成功信息
}
cout<<"你要删除的信息如下:"<<endl;
cout<<"姓名:"<<stu[i].stuname<<endl;
cout<<"学号:"<<stu[i].stuid<<endl;
cout<<"性别:"<<stu[i].sex<<endl;
cout<<"年龄:"<<stu[i].age<<endl;
cout<<"班级:"<<stu[i].clas<<endl;
cout<<"专业:"<<stu[i].specialty<<endl;
cout<<"题目编号:"<<stu[i].couid<<endl;
cout<<"题目名称:"<<stu[i].couname<<endl;
cout<<"关键词:"<<stu[i].keyword<<endl;
cout<<"实现技术:"<<stu[i].technology<<endl;
write(n-1);
}
void Guanli::total()
{
{
int n=read();
char c[10];
cout<<"请输入需要查找的题目名称:"<<endl;
cin>>c;
for(int i=0;i<n;i++)
if(strcmp(stu[i].couname,c)==0)
{
cout<<"你要统计的信息如下:"<<endl;
cout<<"姓名:"<<stu[i].stuname<<endl;
cout<<"学号:"<<stu[i].stuid<<endl;
cout<<"性别:"<<stu[i].sex<<endl;
cout<<"年龄:"<<stu[i].age<<endl;
cout<<"班级:"<<stu[i].clas<<endl;
cout<<"专业:"<<stu[i].specialty<<endl;
cout<<"题目编号:"<<stu[i].couid<<endl;
cout<<"题目名称:"<<stu[i].couname<<endl;
cout<<"关键词:"<<stu[i].keyword<<endl;
cout<<"实现技术:"<<stu[i].technology<<endl;
}
else
{
cout<<"没有此条记录!"<<endl;
}
}
}
void Guanli::display()
{
int n=read();
cout<<endl<<"显示全部学生信息:"<<endl;
if(!stu)
cout<<"没有记录"<<endl;
else
{
for(int i=0;i<n;i++) //循环输入
cout<<"学号"<<stu[i].stuid<<'\n'<<"姓名"<<stu[i].stuname<<'\n'<<"性别"<<stu[i].sex<<'\n'<<"年龄"<<stu[i].age<<'\n'<<"班级"<<
stu[i].clas<<'\n'<<"专业"<<stu[i].specialty<<'\n'<<"题目编号"<<stu[i].couid<<'\n'<<"题目名称"<<stu[i].couname<<'\n'<<
"关键词"<<stu[i].keyword<<'\n'<<"实现技术"<<stu[i].technology<<'\n'<<endl;
}
}
4.3 主函数实现
int main()
{
char choice;
cout<<"\n\n\t **欢迎使用课程设计选题管理系统**\n\n";
cout<<"\t 1.********添加新的记录********\n";
cout<<"\t 2.********查询记录信息********\n";
cout<<"\t 3.********修改学生信息********\n";
cout<<"\t 4.********删除学生信息********\n";
cout<<"\t 5.********统计所有记录********\n";
cout<<"\t 6.********显示所有记录********\n";
cout<<"\t 0.******** 退出系统 ********\n";
cout<<"\t 请输入您的选择:";
cin>>choice;
Guanli g;
if(choice=='0')
{
cout<<"\n\t\t 谢谢您使用本系统!\n\n"<<endl;
exit(0);
}
else if(choice=='1')
{
g.add();
system("pause");
main();
}
else if(choice=='2')
{
g.search();
system("pause");
main();
}
else if(choice=='3')
{
g.alter();
system("pause");
main();
}
else if(choice=='4')
{
g.del();
system("pause");
main();
}
else if(choice=='5')
{
g.total();
system("pause");
main();
}
else if(choice=='6')
{
g.display();
system("pause");
main();
}
else
{
cout<<"\t 输入错误,请重新输入您的选择:";
main();
}
return 0;
}
系统测试
 

5.1 模块测试
添加功能
添加学生信息界面如图5-1示。

图5-1 添加学生信息

查询功能
查询学生信息的界面如图5-2示。

图5-2 查询学生信息
(1)根据学生学号进行查询,界面如图5-3示。


图5-3根据学生学号查询学生信息
(2)根据学生姓名进行查询,界面如图5-4示。


图5-4根据学生姓名查询学生信息
(3)根据题目编号进行查询,界面如图5-5示。


图5-5根据题目编号查询学生信息
(4)根据题目名称进行查询,界面如图5-6示。


图5-6根据题目名称查询学生信息

修改功能
修改学生的相关信息,界面如图5-7示。

图5-7修改学生的相关信息

删除功能
删除学生的信息,界面如图5-8示。

图5-8删除学生的信息

统计功能
根据题目名称统计学生的信息,界面如图5-9示。

图5-9根据题目名称统计学生的信息

显示功能
显示全部学生的信息,界面如图5-10示。

图5-10显示全部学生的信息

退出系统
退出使用系统,界面如图5-11示

图5-10退出使用系统

5.2 课程设计过程中遇到的问题
类的定义时要声明对象,另外,在调用类中定义的成员函数时,要通过类的对象进行调用。另外,写入文件的数据在显示时只能显示第一个数据,需要用到for循环语句。注意数据成员的类型,字符串型或整形等,一定要注意数据类型的匹配,否则会报错,对文件的操作不熟悉,文件的读写操作不熟悉,对文件所存储的内容删除与修改不会。

总 结
经过这几天的课程设计的训练,我们学到了很多知识,可以熟练的应用所学的知识,遇到不会的问题时通过与同学们交流,查找书籍,上网检索来解决问题。在做课程设计部时,首先对系统要求进行分析,根据要求设计类,设计函数,理解了面向对象的编程思想。

通过这次课设,让我们进一步掌握了C++程序设计语言,更好的理解了面向对象的程序设计思想。我们相信这会对以后的学习有帮助作用。在以后的学习中应当继续努力。

致谢
经过几天的合作,感谢各个成员的相互配合,以及老师的指点!

参考文献

[1]耿祥义,张跃平. JSP实用教程. 北京:清华大学出版社,2003

[2]王珊,萨师煊. 数据库系统概论. 北京:高等教育出版社,2006

[3]李春葆. C++语言——习题与解析. 北京:清华大学出版社,2001

[4]张岳新. Visual C++程序设计基础. 苏州:苏州大学出版社,2000

[5]陈清华, 朱红. Visual C++程序设计案例精选与编程指导. 南京:东南大学出版社,2003

[6]祁云嵩. Visual C++程序设计.南京:东南大学出版社,2003

[7]周霭如, 林伟健. C++程序设计基础. 北京:电子工业出版社,2003

[8]谭浩强. C程序设计. 北京:清华大学出版社,2005

[9]谭浩强. C++面向对象程序设计. 北京:清华大学出版社,2006

[10]Decoder. C/C++程序设计. 北京:中国铁道出版社,2002

指导小学生评语及设计成绩    评 语
课程设计成绩: 指导小学生: 日期: 年 月 日
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/m0_66999594/article/details/139582343

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值