[计算机软件及应用]C.doc

上传人:sccc 文档编号:4561482 上传时间:2023-04-27 格式:DOC 页数:51 大小:346KB
返回 下载 相关 举报
[计算机软件及应用]C.doc_第1页
第1页 / 共51页
[计算机软件及应用]C.doc_第2页
第2页 / 共51页
[计算机软件及应用]C.doc_第3页
第3页 / 共51页
[计算机软件及应用]C.doc_第4页
第4页 / 共51页
[计算机软件及应用]C.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《[计算机软件及应用]C.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]C.doc(51页珍藏版)》请在三一办公上搜索。

1、实验一C+的初步知识(一)一、实验目的1了解和使用VC集成开发环境;2熟悉VC环境的基本命令和功能键;3熟悉常用的功能菜单命令;4学习使用VC+环境的帮助;5学习完整的C+程序开发过程;6理解简单的C+程序结构;7. 掌握函数重载二、实验要求1掌握Visual C+ 6.0的开发环境的使用方法;2独立完成程序的编辑、编译、调试及运行;3对于程序编译及运行中出现的错误,能够进行改正;4完成实验报告。三、实验内容1. 分析下面程序运行的结果。请先阅读程序写出程序运行时应输出的结果,然后上机运行程序,验证自己分析的结果是否正确。 #include using namespace std;int ma

2、in()int a,b,c;int f(int x,int y,int z);cinabc;c=f(a,b,c);coutcendl;return 0; int f(int x,int y,int z)int m; if (xy) m=x;else m=y; if (za+b=a+b;3. 编写一个程序,求2个数或3个正整数中的最大数。1) 用不带默认参数的函数实现2) 用带有默认参数的函数实现四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0五、实验步骤和方法1Visual C+ 6.0启动后的用户界面

3、 选择菜单“开始/程序/Microsoft Visual Studio 6.0/Microsoft Visual C+ 6.0”,得到Visual C+ 6.0启动后的用户界面,如图1-1所示。 图1-1 Visual C+ 6.0用户界面 2创建新工程(1) 单击菜单“文件/新建”,显示“新建:对话框,如图1-2所示。(2) 在此对话框的列表栏中,选择“Win32 Console Application”(Win32控制台应用程序”)。在“工程”栏中输入一个工程名,如实验一。在位置文本框中选择工程所在的路径,如图中所示H:C+实验实验一。单击“确定”按钮。图1-2 “新建”对话框(3)在强击

4、的“Win32 Consol Application-Step 1 of 1” 对话框中选择An empty project单选项。然后单击“Finish”按钮,如图1-3所示。图1-3 “Win32 Consol Application-Step 1 of 1” 对话框(4)在“新建工程信息”对话框中单击“确认”按钮,完成工程创建过程。3创建C+源程序文件(1) 编辑C+源程序 编辑C+源程序时,选择“文件”菜单项,出现一个下拉式菜单,如图1-4所示,再选择该菜单中的“新建”选项(热键为Ctrl+N)。打开“新建”窗口,在“新建”窗口。 图1-4 “新建”窗口(2) 选择“文件”,在它的下拉

5、列表框中选择“C+ Source File”,如图1-4所示,再按击“确定”,出现编辑屏幕,如图1-5所示。图1-5 “C+”源程序编辑(3)在“C+源程序编辑”窗口下编辑C+源程序。在编辑窗口键入C+源程序。如图1-6所示,键入如下源程序:图1-6 编辑C+源程序4编译连接和运行源程序(1) 选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译 eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的“编译”窗口中。所显示的错误信息中指出该错误所在行号和该错误的性质。用户可根据这些错误信息进行修改。上述程序的“编译”窗口,

6、如图1-7所示。图1-7 “编辑”窗口(2)编译无错误后,可进行连接生成可执行文件(.exe),这时选择“编译”下拉菜单中的“构件 eg1-1.exe”选项。“编译”窗口出现如图1-8所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(eg1-1.exe)。图1-8 编译连接信息(3)执行可执行文件的方法是选择“编译”菜单项中“执行 eg1-1.exe”选项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图1-9所示。图1-9 运行C+程序结果5关闭打开工作区、打开工作区单击菜单“文件关闭工作区”,关闭工作区。单击菜单“文件打开工作区”,在弹出的对话

7、框中选定“H:C+实验实验一实验一.dsw”,单击“打开”按钮,则可打开工作区,对已建立的工程文件进行修改。6根据实验步骤15,建立、编译并运行实验程序2。六、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。七、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实

8、践等。若最终未完成调试,要认真找出错误并分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_2012年9月5日_ 地点_综c_ 指导教师_朱德新_ 成绩 程序一:(最后的大括号没有用英文的)#include using namespace std;int main()int a,b,c;int f(int x,int y,int z);cinabc;c=f(a,b,c);coutcendl;return 0; int f(int x,int y,int z)int m; if (xy) m=x;else m=y; if (za+b=a+b错了,a,b没有初始化,c没有定义就用上了,

9、解决办法,先定义,在使用c,或者直接去掉c)#include using namespace std;int main()int a=1,b=2,c;c=a+b;couta+b=cendl;return 0;程序三:#include using namespace std;int main()int a,b,c;int f(int x,int y,int z);cinabc;c=f(a,b,c);coutcy) m=x;else m=y; if (zm) m=z;return(m); 运行结果:用带有默认参数的函数实现#include using namespace std;int main(

10、)int a=1,b=2,c=3;int f(int x,int y,int z);c=f(a,b,c);coutcy) m=x;else m=y; if (zm) m=z;return(m); 实验二 C+的初步知识(二)一、实验目的1掌握变量的引用2掌握C+对字符串的操作二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。 #include using namespace std; int m

11、ain() int a,b;c=add(a,b)cout a+b=cendl;return 0; int add(int x,int y); z=x+y;retrun(z);2对3个变量按由小到大顺序排序,要求使用变量的引用。3输入一个字符串,把其中的字符按逆序输出。如输入LIGHT,输出THGIL。要求用string方法。四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直

12、到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 程序一:(大括号没有用英文,c没有定义,没有标明调用函数)#include using namespace std;int a

13、dd(int x,int y);int main()int a,b,c;cinab;c=add(a,b);cout a+b=cendl;return 0; int add(int x,int y) return (x+y);程序二:实验三 类和对象(一)一、实验目的1掌握类的对象的声明方法;2理解类的成员的访问控制的含义,公有、私有和保护成员的区别;二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1按下列要求编程:(1)定义一个描述矩形的类Rectangle,包括的数据成员有宽(width)和长(length);(

14、2)计算矩形周长;(3)计算矩形面积;(4)改变矩形大小。通过实例验证其正确性。2. 有以下程序#include using namespace std;class Timepublic:int hour;int minute;int sec;int main( )Time t;cint.hour;cint.minute;cint.sec;coutt.hour:t.minute:t.secendl;return 0;要求: (1) 将数据成员改为私有的;(2) 将输入和输出的功能改为由成员函数实现;(3) 在类体内定义成员函数。四、实验环境 系统环境:Windows95 / 98 / ME /

15、 NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并分析原因等

16、。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验四 类和对象(二)一、实验目的1掌握对象成员的引用;2掌握类声明和成员函数定义的分离。二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1创建一个employee类,该类中有姓名、城市、邮政编码等数据成员。成员函数setValue设定对象数据,display函数输出对象数据。具体要求如下:(1)数据成员设定成private(2)成员函数设定成public(3)建立指针对象,利用指针对象对成员进行引用(4)将类声明和成员函数的定义分开

17、,放到.h和.cpp中2创建student类,在main函数中输入3个学生数据,包括学号,姓名和成绩,要求只输出成绩在8090分数段的学生数据。具体要求如下:(1)数据成员设定成private(2)成员函数设定成public(3)将类声明和成员函数的定义分开,放到.h和.cpp中四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可

18、能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验五 类和对象进一步讨论(一)一、实验目的1掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员

19、函数;二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1阅读下面程序,分析其执行过程,写出输出结果。#include using namespace std;class Datepublic:Date(int,int,int);Date(int,int);Date(int);Date( );void display( ); private:int month;int day;int year;DateDate(int m,int d,int y):month(m),day(d),year(y) DateDate(i

20、nt m,int d):month(m),day(d)year=2005; DateDate(int m):month(m)day=1;year=2005;DateDate( )month=1;day=1;year=2005;void Datedisplay( )coutmonth/day/yearendl;int main( )Date d1(10,13,2005);Date d2(12,30);Date d3(10);Date d4;d1.display( );d2.display( );d3.display( );d4.display( );return 0;2创建一个学生类,该类有姓名

21、、学号、语文成绩数据成员。构造函数初始化每一个数据成员,成员函数changeValue是改变该学生的语文成绩,然后利用display将数据输出出来。程序要求:(1)对构造函数进行重载(2)建立作用域不同的类对象,查看其析构函数的析构顺序。四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序

22、的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验六 类和对象进一步讨论(二)一、实验目的1掌握对象数组和对象指针的使用方法2. 掌握共用数据的保护二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1建立一个对象数组,内放5个学生的数据(

23、学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。2建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正

24、确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验七 类和对象进一步讨论(三)一、实验目的1掌握对象的动态建立和释放2. 掌握类的静态成员和类的友元二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1商店销售某一商品,商店每天公布统一的折扣(discou

25、nt)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3名销货员的销售情况为: 销货员号(num) 销货件数(quantity) 销货单价(price)101 5 23.5102 12 24.56103 100 21.5请编程序,计算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(提示: 将折扣discount、总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。2类student,包含三个数据成员eng

26、lish,math,chinese,其中chinese是静态成员。以及一个show函数,显示其数据成员的值(1)建立student构造函数,对数据成员进行赋值(2)动态创建对象,并利用delete释放(3)建立友元函数disPrivate,用于在类外输出student类的数据成员四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可

27、能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验八 运算符重载(一)一、实验目的1进一步了解运算符重载的概念和使用方法2掌握不同形式的运算符重载二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容

28、1定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如: c1+c2,i+c1,c1+i均合法(设i为整数,c1,c2为复数)。编程序,分别求两个复数之和、整数和复数之和。2有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如: c=a+b。四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写

29、程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验九 运算符重载(二)一、实验目的1掌握转换构造函数的使用方法2. 了解在Visual C+6.0环境下进行运算符重载要注意的问题二

30、、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1请编写程序,处理一个复数与一个double数相加的运算,结果存放在一个double型的变量d1中,输出d1的值,再以复数形式输出此值。定义Complex(复数)类,在成员函数中包含重载类型转换运算符: operator double( )return real;2定义一个Teacher(教师)类和一个Student(学生)类,二者有一部分数据成员是相同的,例如num(号码),name(姓名),sex(性别)。编写程序,将一个Student对象(学生)转换为Teache

31、r(教师)类,只将以上3个相同的数据成员移植过去。可以设想为: 一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师的数据的一部分。四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。

32、六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验十 继承与派生(一)一、实验目的1理解继承的含义,掌握派生类的定义方法和实现;2理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;3解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员。二、实验要求1独立完成程序的编辑、编译、调

33、试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1有以下程序结构,请分析访问属性。class A/A为基类public: void f1( ); int i; protected: void f2( ); int j;private:int k;class B: public A /B为A的公用派生类public: void f3( ); protected: int m; private:int n;class C: public B /C为B的公用派生类public:void f4( );private: int p;int main( ) A a1;

34、 /a1是基类A的对象B b1; /b1是派生类B的对象 C c1; /c1是派生类C的对象return 0;问: (1) 在main函数中能否用b1.i,b1.j和b1.k引用派生类B对象b1中基类A的成员?(2) 派生类B中的成员函数能否调用基类A中的成员函数f1和f2?(3) 派生类B中的成员函数能否引用基类A中的数据成员i,j,k?(4) 能否在main函数中用c1.i,c1.j,c1.k,c1.m,c1.n,c1.p引用基类A的成员i,j,k,派生类B的成员m,n,以及派生类C的成员p?(5) 能否在main函数中用c1.f1(),c1.f2(),c1.f3()和c1.f4()调用f

35、1,f2,f3,f4成员函数?(6) 派生类C的成员函数f4能否调用基类A中的成员函数f1,f2和派生类中的成员函数f3?2设计父类长方形(rectangle),数据成员“长”、“宽”为私有成员。子类长方体(cuboid),继承父类的成员,并增加“高度”数据成员。要求:(1) 计算长方形的面积以及长方体的体积(2) 长宽高利用cin输入(3) 继承方式利用:public、protected、private四、实验环境 系统环境:Windows95 / 98 / ME / NT4.0 / 2000 / XP 开发环境:Visual C+ 6.0/CodeBlocks 8.02五、实验预习要求根据

36、问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。六、实验报告要求1算法说明。要求用文字或流程图说明。2运行结果。给出原始数据、相应的运行结果和必要的说明。3分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并分析原因等。4程序清单。长春大学计算机科学技术学院实验报告日期_ 地点_ 指导教师_ 成绩 实验十一 继承与派生(二)一、实验目的1理解

37、继承的含义,掌握派生类的定义方法和实现;2理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;3解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员。二、实验要求1独立完成程序的编辑、编译、调试及运行;2对于程序编译及运行中出现的错误,能够进行改正;3完成实验报告。三、实验内容1有以下程序,请完成下面工作: (1) 阅读程序,写出运行时输出的结果。(2) 然后上机运行,验证结果是否正确。(3) 分析程序执行过程,尤其是调用构造函数和析构函数的过程。#include using namespace std;class Apublic: A( )coutconstructing A endl; A( )coutdestructing A endl;class B : public Apublic: B( )coutconstructing B endl; B( )coutdestructing

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号