文档库 最新最全的文档下载
当前位置:文档库 › c++实验四

c++实验四

c++实验四
c++实验四

实验四:静态成员和友元的使用

实验学时:2

实验类型:验证

实验要求:必修

一、实验目的

1、理解静态成员在数据共享中的作用。

2、掌握友元的定义和使用方法。

二、实验内容

1、输入下面的程序(教材第131页例5-5),体会静态数据成员的特点。

#include

class Test

{ private:

int k;

public:

static int n;

Test (int kk)

{ k=kk; n++; }

void Display( )

{ cout<<"n="<

}

3、编写一个程序:声明一个Cat类,拥有静态数据成员HowManyCats,用以记录Cat 的个体数目;拥有静态成员函数GetHowMany(),用以存取HowManyCats。设计程序并测试这个类,体会静态数据成员好静态成员函数的用法。

4、编写一个程序:输入几个学生的姓名、英语和计算机成绩,然后按照总分从高到低排序。要求定义一个student类,用友元函数实现排序。

三、实验原理

1、静态成员:在编译时创建,一直到程序结束,任何对象都可以访问。对静态数据成员要进行引用性声明和定义性声明。定义形式为:static 数据类型数据成员名静态成员函数调用格式:类名∷静态成员函数名()

2、友元:外部函数可以例外地访问类的任何私有成员。在类定义外定义,使用类对象引用作参数,可以访问对象的公开、私有成员。

友元关系是单向的、不具有交换性、不具有传递性。

四、程序清单

1、实验内容3的参考程序如下:

#include

#include

class Cat

{ char names[10];

public:

static int HowManyCats;

static int GetHowMany( )

{ return HowManyCats; }

Cat(char n[])

{ strcpy(names,n);HowManyCats++; }

};

int Cat::HowManyCats=0;

void main( )

{ Cat c1("aaa"),c2("bbb");

cout<<"the number is:"<

}

2、实验内容4的参考程序如下:

#include

#include

class Student

{ char names[10];

int math,computer;

public:

void copy(char n[],int m,int c)

{ strcpy(names,n); math=m; computer=c; }

void display( )

{ cout<

friend void mysort(Student st[],int n);

};

void mysort(Student st[],int n)

{ int i,j,m,c;

char name[10];

for (i=0; i

for (j=i; j

if (st[i].computer+st[i].math

{ strcpy(name,st[i].names); m=st[i].math; c=st[i].computer;

strcpy(st[i].names,st[j].names);st[i].math=st[j].math;

st[i].computer=st[j].computer;

strcpy(st[j].names,name); st[j].math=m; st[j].computer=c;

}

}

void main( )

{ int n,i,m,c;

char name[10];

Student st1[10];

cin>>n;

for (i=0; i

{ cin>>name>>m>>c;

st1[i].copy(name,m,c);

}

cout<<"before sort:"<

for(i=0;i

st1[i].display( );

mysort(st1,n);

cout<<"after sort:"<

for(i=0;i

st1[i].display( );

}

五、思考题

将实验内容1中的main函数改成如下形式,程序的执行结果又会怎样。

void main( )

{ Test t1(10);

Test t2(20);

t1.Display( );

t2.Display( );

Test::n++;

t2.Display( ); }

北邮数据库实验四数据库模式的设计

北邮数据库实验四数据 库模式的设计 Revised by Chen Zhen in 2021

北京邮电大学 实验报告 课程名称数据库 实验名称数据库模式的设计班级 姓名 学号 指导老师 成绩_________ 实验

.1.实验目的 1.了解E-R图的基本概念和根据数据需求描述抽象出E-R图并将其转换为数据库逻辑模式进而实现数据库中的表和视图。 2.通过进行数据库表的建立操作,熟悉并掌握Power designer数据库表的建立方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句。 3.通过对Power designer中建立、维护视图的实验,熟悉Power designe中对视图的操作方法和途径,理解和掌握视图的概念。 .2.实验内容 1 针对以下需求信息,尽可能全面地给出各个实体的属性和实体之间的系。 在线考试系统需求信息如下: 在线考试系统是关于一门课程的授课教师安排自己的学生在线参加各种考试的应 用,如果阶段性考试,期中考试和期末考试等。在线考试系统要求有用户的登录和登出。在线考试系统主要包括用户管理、试题管理、试卷管理和考试管理功能。需要实现教师输入试题,从试题生成试卷;学生参加考试获取试卷,提交答案和给出考试成绩等主要逻辑功能。 系统的用户包括教师、学生角色,一个用户有且只有一种角色。 鉴于在线考试的客观条件限制,试题完全采用单项选择形式。试题有所属知识点、内容、分值、备选答案和唯一正确答案等属性组成。课程的知识点是确定的,可以扩展,一道试题只能考察一个知识点。

教师录入各种试题构成题库,并根据考察的知识点不同生成试卷,相同知识点的试题只能在一张试卷中出现一次,试卷由试卷标题和一定数量(即知识点的数量)的试题组成。试卷生成后,教师指定某次考试使用的试卷,学生参加考试使用统一的试卷,考试信息还包含考试标题、任教老师、考试时间。 学生登录后,可以参加考试并在提交答案后立刻得到自己的考试成绩,也可以查看自己的考试历史记录。教师登录后可以查看学生的成绩。 ?2将E-R图输入Power Designer形成概念模型 ? 3 使用Power Designe将输入的E-R图转换成数据库物理模型 ? 4 使用Power Designe将输入的数据库物理模型转化为生成数据库中的表和视图的脚 本 ? 5 执行SQl脚本,生成表和视图 ? 6 成功后,查看生成的表和视图的情况 .3.实验环境 普通PC、Windows系列操作系统、IBM DB2 数据库管理系统 .4.实验步骤、结果与分析 1)五个实体: 用户: 用户ID( UserID )、用户名(UserName)、角色(Role)、密码(Password). 试题库(ItemBank): 题目代码(ItemID)、题目内容(Icontent)、分数(Iscore)、选项(Ioption)、正确答案(Ianswer)、知识点代码(PointID)(froeign). 知识点(KonwledgePoint): 知识点代码(PointID)、知识点内容(Pcontent)、知识点学科(Psubject). 试卷(Paper):

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

C语言程序设计实验手册

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记, 上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 实验结束后填写通过后的源程序和对实验的总结。 通过后的源程序可以手写也可以打印粘贴。 实验项目一览表

实验一熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、等) 2.了解C程序的基本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开) 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ 调试示例 改正下列程序中的错误,在屏幕上显示“Welcome to You !”。(掌握找错、改错的方法) 源程序: # include <> int mian(void) { printf(Welcome to You! \n") getchar(); return 0; } 注:需要修改的语句直接在程序上标注并修改 实验总结:

实验二用C语言编写简单程序 实验目的: 1.掌握算术表达式和赋值表达式的使用 2.掌握基本输出函数的使用 3.能够自己编程实现简单的数据处理 4. 熟练掌握简单if语句使用 5. 熟练掌握for语句的使用 6. 掌握简单C程序的查错方法、单步调试 实验内容: 调试以下程序,求华氏温度对应的摄氏温度。计算公式为:C=5*(f-32)/9 #include <> int main(void) { int celsius; fahr; scanf("%d ",fahr); celsius = 5 * (fahr - 32) / 9; printf("fahr = d, celsius = %d\n", fahr, celsius); return 0; } 注:需要修改的语句直接在程序上标注并修改 编写程序计算定期存款本利之和: 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital 元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入,输出时保留两位小数。计算公式为:deposit=capital(1+rate)n

北邮大三数据库实验六数据查询分析实验

实验六数据查询分析实验 实验目的 通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解Sybase中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。 实验内容 1.索引对查询的影响 (1)对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信息):不建立索引,(学号上)建立非聚集索引,(学号上)建立聚集索引。 建立聚集索引: create clustered index student on student(student_id) go 建立非聚集索引: create nonclustered index student_index on student(student_id) go 用查询分析器的执行步骤和结果对执行进行分析比较。 select*from student where student_id='30201' 不建立索引 建立聚集索引

建立非聚集索引 (2)对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似(1)的三种情况进行执行比较。 select*from student where student_id>'30401' 不建立索引:

建立聚集索引: 建立非聚集索引: (3)对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。 select*from student where student_id between'31201'and'31415' 不建立索引:

图论实验代码

图论实验报告(代码) 学号:1241902129 姓名:肖尧

1.写一个程序,输入一个图,一对顶点和通路长度,输出两个顶点间 指定长度的通路。 程序代码: #include #include #include using namespace std; #define MAX 20 typedef struct ArcNode{ int adjvex; struct ArcNode *nextarc; }ArcNode; typedef struct VNode{ char data; ArcNode *firstarc; }VNode,AdjList[MAX]; typedef struct{ AdjList vertices; int n,e; }MGraph; int path[MAX]; int visited[MAX]; //返回字符v 在图中的位置 int LocateV ex(MGraph G, char v) { int i; for(i=0;i

{ return (i>=0 && i>G.n>>G.e; cout<20) { cout<<"输入的数字不符合要求,请重新输入: "; cin>>G.n>>G.e; } while(G.e>((G.n-1)*G.n/2)) { cout<<"输入的数字不符合要求,请重新输入: "; cin>>G.e; } cout<<"请输入各顶点的名称: "; //建立顶点表 for(i=0;i>G.vertices[i].data; G.vertices[i].firstarc=NULL;//初始化图 } cout<

《Java语言程序设计》实验指导手册

Java语言程序设计实验指导手册 班级:_______________ 学号:_______________ 姓名:_______________ 电子与信息工程学院计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 《Java语言程序设计》是计算机专业的主要选修课。Java语言是目前广为流行的程序设计语言之一,适用于网络上编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专业课程。通过学习本课程,应能准确完整地理解Java语言的语法、语义规则;掌握Java语言的数据类型、表达式及控制流程;运用面向对象程序设计思想,正确的阅读、分析程序和设计程序,掌握面向对象程序设计方法,提高程序设计能力,以适应计算机学科不断发展的需要。 通过系统地上机练习,力求能够达到以下三个目的: 1、课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。 2、上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java 语言程序设计的规律与技巧。 3、在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: 1、复习和掌握与本实验有关的教学内容; 2、实验前对每次上机需要完成的题目进行认真的分析,列出实验具体步骤; 3、写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 4、对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。 三、上机实验的步骤 上机实验一般应包括以下几个步骤: 1、进入Java工作环境(例如命令提示符或MyEclipse集成开发环境)。 2、配置JDK的环境变量。 3、编译并调试Java源程序。如果在编译过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到程序顺利通过编译为止。

数据库实验四

西南石油大学实验报告 注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:2 二、实验目的 (1) 掌握使用T-SQL语句创建登录帐户的方法。 (2) 掌握使用T-SQL语句创建数据库用户的方法。 (3) 掌握使用T-SQL语句创建数据库角色的方法。 (4) 掌握使用T-SQL语句管理数据库用户权限方法。 三、实验要求 (1) 使用SQL Server 2008查询分析器。 (2) 严格依照操作步骤进行。 四、实验环境 (1) PC机。 (2) SQL Server 2008。 五、实验内容及步骤 注意事项: (1)首先在C盘根目录创建文件夹Bluesky,执行脚本文件“PracticePre-第11章安全管理.sql”,创建数据库BlueSkyDB和表; (2)如何建立“数据库引擎查询”;

(3)使用“select user_name()”可查询当前登录账号在当前数据库中的用户名。 步骤1 使用Transact-SQL创建三个SQL Server登录账户TUser1、TUser2、TUser3,初始密码均为“123456”。 --SA CREATE LOGIN TUser1 WITH PASSWORD='123456' CREATE LOGIN TUser2 WITH PASSWORD='123456' CREATE LOGIN TUser3 WITH PASSWORD='123456' 步骤2 使用TUser1建立一个新的数据库引擎查询,在“可用数据库”下拉列表框中是否能看到并选中BlueSkyDB数据库?为什么?

实验一代码及截图

实验一基础 实验目的 1、掌握Visual Studio运行环境的配置方法。 2、通过编写简单的页面,掌握网页的编写和运行方法。 实验内容 一、创建文件系统网站; 1. 在D盘新建文件夹03soft,作为网站目录; 2. 在网站的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) { ("欢迎光临学习天地!"); } 3. 运行这个页面,写出这个页面运行时的页面地址。 实验截图:

二、创建HTTP网站 1、打开IIS管理器,进入管理页面,添加网站名称mysite,并设置物理路径; 2、创建HTTP网站,并选取mysite作为网站目录; 3、在的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) { ("欢迎光临学习天地!"); } 4、运行这个页面,写出这个页面运行时的页面地址。

实验截图: 三、创建单一文件模式网页 1、打开第一题中的文件系统网站,新建一个名为的单一文件模式的网页,并在网页中添加Label控件和Button控件,双击Button控件,添加如下代码: = "Clicked at " + 、运行这个页面,写出单击Button时的运行结果 实验截图:

四、打开第一题中的文件系统网站,在网页的Page_Load事件中编写代码,实现在ListBox1中填充选项,并且单击按钮时不重复加载。 实验截图:

北邮数据库实验报告

数据库原理与应用 实验报告 实验指导教师:袁宝库 课程主讲教师: 袁宝库 报告提交日期: 2012 年10 月18 日 北京邮电大学

目录 实验任务 (3) 实验任务一 (4) 实验任务二 (5) 实验任务三 (7) 实验任务四 (8) 实验任务五 (9) 实验任务六 (12) 实验任务七 (20) 思考题 (22) 实验总结 (24)

实验任务 1、安装SQL Server 2008 2、使用SQL Server 配置管理器 3、使用SQL Server Management Studio 4、分别使用对象资源管理器和T-SQL创建一个实验数据库 5、使用对象资源管理器修改数据库的相关参数并将一个实验数据库删除 6、分别使用对象资源管理器和T-SQL创建、删除和修改表 7、分别使用对象资源管理器和T-SQL向表中插入、修改和删除数据 思考题: 1、配置SQL Server 2008 以允许远程连接 使用SQL Server 外围应用配置器配置SQL Server 2008 允许远程连接。 经过前几步的实验,现在已经可以通过远程客户端访问SQL Server 2008数据库服务器了,这里要求2个人一组,互相用自己的客户端(SQL Server Management Studio)连接并访问对方的数据库系统。

实验任务一:安装SQL Server 2008 1、实验设计 使用SQL Server 2008安装光盘将SQL Server 2008开发版安装到本地计算机,使本地计算机成为服务器和客户端工具; 选择Windows 7为操作系统,安装开发版SQL Server 2008; 安装数据库服务、客户端组件、文档、示例和示例数据库; 命名实例为shijing; 使用混合模式进行身份验证; 2、实验过程 使用SQL Server 2008安装介质将SQL Server 2008安装到本地计算机,使本地计算机成为服务器和客户端工具

:C语言实验报告册-2016.3资料

学生实验报告册 (理工类) 课程名称:C语言程序设计实验专业班级: 16数字媒体技术学生学号: 1613031008 学生姓名:李翔 所属院部:计算机工程学院指导教师:吕艳林 20 16 ——20 17 学年第一学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6 实验地点: A107 实验日期: 2016年10月13,20,27 实验成绩: 批改教师:批改时间:

实验1 初级程序设计 一、实验目的和要求 (1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试; (2)掌握C语言中各种运算符的使用; (3)掌握C语言中各种数据类型的区别与应用; (4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用; (5)掌握C语言中输入/输出函数的使用; (6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。 三、实验内容与过程 1、程序调试 (1)#include main() { int s,t,p,sum; scanf(“%d%d%d”,&s,&t,&p); sum=s+t+p; printf(“sum=%d\n”,sum); } (2)#include main() { int k=3; if(k=3) printf(“***”); else printf(“###”); } (3)#include main() {int k=0; do { printf(“k=%d\n”,k); }while(k++>0); } 2、程序改错

C语言程序设计实验指导书

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

北邮数据库实验报告

数据库实验报告(四) 姓名:学号:班级: 1.简单查询: (1) 查询“数据库开发技术”课程的学分; SQL语句: select credit from course where course_name='SQL Server数据库开发技术'; 或者模糊查询: select credit from course where course_name like'%数据库开发技术'; 执行结果: (2) 查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出; SQL语句: select student_id,grade from student_course where course_id='dep04_s003' order by grade desc; 执行结果:

(3) 查询学号为“g9940205”的学生选修的课程编号和成绩; SQL语句: select course_id,grade from student_course where student_id='g9940205'; 执行结果: (4) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。 SQL语句: select student_id,grade from student_course where course_id='dep04_s001'and grade>'85'; 执行结果:

2.在多表连接的查询实验中,用Transact SQL语句完成以下查询操作: (1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩; SQL语句: select student.student_id,student_name,grade from student,student_course where student.student_id=student_course.student_id and student_course.course_id='dep04_s002' and student_course.grade>'85'; 执行结果: (2)查询所有学生的学号、姓名、选修的课程名称和成绩; SQL语句: select student.student_id,student_name,course_name,grade from student,course,student_course where student.student_id=student_course.student_id and student_course.course_id=course.course_id; 执行结果:

数据结构图及其应用实验报告+代码

附件2: 北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 实验题目图及其应用实验时间 2011.5.10 一、实验目的、意义 (1)熟悉图的邻接矩阵(或邻接表)的表示方法; (2)掌握建立图的邻接矩阵(或邻接表)算法; (3)掌握图的基本运算,熟悉对图遍历算法; (4)加深对图的理解,逐步培养解决实际问题的编程能力 二、实验内容及要求 说明1:学生在上机实验时,需要自己设计出所涉及到的函数,同时设计多组输入数据并编写主程序分别调用这些函数,调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解。 具体要求: (1)建立图的邻接矩阵(或邻接表); (2)对其进行深度优先及广度优先遍历。 三、实验所涉及的知识点 1.创建一个图: CreateUDN(MGraph &G) 2.查找v顶点的第一个邻接点: FirstAdjVex(MGraph G,int v) 3. 查找基于v顶点的w邻接点的下一个邻接点: NextAdjVex(MGraph G,int v,int w) 4.图的矩阵输出: printArcs(MGraph G) 5:顶点定位: LocateVex(MGraph G,char v) 6. 访问顶点v输出: printAdjVex(MGraph G,int v) 7. 深度优先遍历: DFSTraverse(MGraph G,Status (*Visit)(MGraph G,int v)) 8. 广度优先遍历BFSTraverse(MGraph G,Status (*Visit)(MGraph G,int v)) 9. DFS,从第v个顶点出发递归深度优先遍历图G: DFS(MGraph G,int v) 四、实验记录 1.对顶点的定位其数组下标,利用了找到之后用return立即返回,在当图顶点 多的情况下节省了搜索时间,程序如下 //对顶点v定位,返回该顶点在数组的下标索引,若找不到则返回-1 int LocateVex(MGraph G,char v){ for (int i=0;i

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

《C语言程序设计》上机实验指导手册

C语言程序设计 上机实验指导手册 电子与信息工程学院 计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 学习《C语言程序设计》课程不能满足于“懂得了”,满足于了解了语法和能看懂书上的程序,而应当掌握程序设计的全过程,即能独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。 “程序设计”是一门实践性很强的课程,必须十分重视实践环节。许多实际的知识不是靠听课和看书学到手的,而是通过长时间的实践积累的。要提倡通过实践去掌握知识的方法。必须保证有足够的上机实验时间,学习本课程应该至少有30 小时的上机时间,最好能做到与授课时间之比为1:1 。除了学校规定的上机实验以外,应当提倡学生自己课余抽时间多上机实践。 上机实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的是: (1)加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们是很重要的,初学者的程序出错往往错在语法上。通过多次上机,就能自然地、熟练地掌握。通过上机来掌握语法规则是行之有效的方法。 (2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。一个程序必须在一定的外部环境下才能运行,所谓“环境”,就是指所用的计算机系统的硬件和软件条件,或者说是工作平台。使用者应该了解为了运行一个C程序需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一两种计算机系统的使用,再遇到其他系统时便会触类旁通,很快就能学会。 (3)学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。经验丰富的人,在编译连接过程中出现“出错信息”时,一般能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的“出错提示”下也往往找不出错误而求助于别人。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,还要求自己动手实现。对程序设计来说,则要求会编程序并上机调试通过。因此调试程序不仅是得到正确程序的一种手段,而且它本身就是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调试程序固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来累积经验,而且有些经验是只能“会意”难以“言传”。别人的经验不能代替自己的经验。调试程序的能力是每个程序设计人员应当掌握的一项基本功。 因此,在做实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在己通过的程序基础上作一些改动(例如修改一些参数、增加程序的一些功能、改变某些语句、改变输入数据的方法等),再进行编译、连接和运行。甚至于“自设障碍”,即把正确的程序改为有错的(例如语句漏写分号;用scanf函数输入变量时,漏写“&”符号;比较符“= =”错写为赋值号“=”;使数组下标出界;使整数溢出等),观察和分析所出现的情况。这样的学习才会有真正的收获,是灵活主动的学习而不是呆板被动的学习。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: (1)了解所用的计算机系统(包括C编译系统和工作平台)的性能和使用方法; (2)复习和掌握与本实验有关的教学内容; (3)准备好上机所需的程序。由于计算机实验室给每个学生安排的时间是有限的,要珍惜时间,充分利用。应当在上机前按指定的题目编写好程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。初学者切忌不编程序或抄别人程序去上机,应从一开始就养成严谨的科学作风; (4)对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意; (5)准备好调试和运行时所需的数据。 三、上机实验的步骤 上机实验时一人一组,独立上机,复杂分组进行,相互讨论完成任务。上机过程中出现的问题,除了是系统的问题以外,一般应自己独立处理,不要轻易举手问教师。尤其对“出错信息”,应善于自己分析判断。这是学习调试程序的良好机会。 上机实验一般应包括以下几个步骤: (1)进入C工作环境(Dev-C++ 5.8.3)。 (2)输入自己所编好的程序。 (3)检查一遍已输入的程序是否有错(包括输入时打错的和编程中的错误),如发现有错,及时改正。 (4)进行编译和连接。如果在编译和连接过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到顺利通过编译和连接为止。 (5)运行程序并分析运行结果是否合理和正确。在运行时要注意当输入不同数据时所得到的结果是否正确。 (6)输出程序清单和运行结果。 四、实验验收 (1)现场验收,学生讲解、提问、答辩的方式,通过三方面的表现给出实验成绩; (2)提交程序清单(电子版)。

北邮大数据库实验三

实验三完整性及视图、索引 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。 【实验目的】 掌握MySQL视图、索引的使用,理解什么是数据库的完整性。 【实验要求】 1、每完成一个任务,截取全屏幕快照1~3作为中间步骤和结果的贴图,粘贴在最后的实验报告中。 2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。 3、思考题可以选做,作为优秀加分的依据。 【实验任务】 1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号 及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、 课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

3、为院系代码表(dept_code)创建基于“院系代码”列的索引。 4、为教室信息表(classroom_info)创建基于room_id列的惟一索引并插入一 条room_id列与表中已有的值重复的数据,观察系统的反馈。

5、重新修改表stud_info、lesson_info及stud_grade,修改的容为: ①为三表增加主码约束,stud_info的主码为stud_id,lesson_info的主码为 course_id,stud_grade的主码为stud_id、course_id。

数字信号处理第三次实验代码及波形图

数字信号处理第三次实验 一、实验目的: 1、掌握离散时间系统的DFT的MATLAB实现; 2、熟悉DTFT和DFT之间的关系。 3、了解信号不同变形的DFT与原信号DFT之间的关系 二、实验内容: 1.开发一个时域圆周移位的matlab函数cirshift.m并测试:设x(n)=[9 8 7 6 5 4 3],求x((n-4))8R8(n)以及x((n+5))8R8(n)。 function y=cirshift(x,m,N) %长度为N的x序列(时域)作m点圆周位移 %------------------------------------- %[y]=cirshift(x,m,N) %y=包含圆周位移的输出序列 %x=长度<=N的输入序列 %m=移位样点数 %N=圆周缓冲器长度 %方法:y(n)=x((n-m)mod N) %check for length of x if length(x)>N error('N必须>=x的长度') end x=[x zeros(1,N-length(x))];%将x补零到长度为N n=[0:1:N-1]; n=mod(n-m,N); y=x(n+1); %主函数.m clc;clear all; x=[9 8 7 6 5 4 3]; y1=cirshift(x,4,8); y2=cirshift(x,-5,8);

2. 开发一个圆周翻转的matlab函数cirflip.m并测试:设x(n)=[9 8 7 6 5 4 3 2 1],求x(n)的16点圆周翻转x((-n))16R16(n)。 function y=cirfilp(x,N) nx=[0:1:N-1]; y=x(mod(-nx,N)+1); %主函数.m clc;clear all; x=[9 8 7 6 5 4 3 2 1]; N=16; x=[x zeros(1,N-length(x))]; nx=0:N-1; y=cirfilp(x,16);

北邮数据库实验三-实验报告

题目:数据库实验三:嵌入式SQL 完成日期:2014.5.22 操作环境:Microsoft Visual C++ 6.0 SQL server 2008 R2 1 实验目的 1、熟悉在Visual Studio C++环境中通过ODBC实现数据库互连; 2、熟悉通过嵌入式SQL对数据库进行操作; 3、掌握数据库应用程序界面开发基本流程。 2 实验内容及要求 1、在Visual Studio C++环境中通过ODBC实现与实验1建立的数据库StuManagement的互联,进行实验要求的各种操作,关系模式和数据的操作均通过应用程序界面完成; 2、根据以下要求认真进行实验,记录所有的实验用例,填写实验报告。 2.1 数据库连接 2.1.1 通过ODBC实现与实验1数据库互连; 2.2 关系模式定义 2.2.1创建1个基本表,并插入2行数据; 2.2.2修改及删除基本表; 2.3 数据操作 2.3.1 数据查询操作; 2.3.2 数据删除操作;( 2.3.3 界面执行SQL语句操作 2.4 界面要求: 2.4.1 查询结果的多行显示(至少支持5行以上查询结果的显示) ;(2分) 2.4.2 界面美观,操作简单。 3 操作环境 Microsoft Visual C++ 6.0 Sql server 2008 R2 4 实验步骤 (1)ODBC与数据库互联

找到控制面板——管理工具 打开数据源(ODBC) 点击【添加】,选择SQL server

填写名称和描述,选择自己机器的服务器 按照默认就可以

点击【完成】,数据源就创建好了 5 实验内容与完成情况 (1)整体外观 本次实验,完成了记录的查询(按主键、按内容),记录的添加与删除,新建表,删除表,添加数据,修改表;执行SQL语句,并将查询结果显示出来。 (2)添加记录

相关文档
相关文档 最新文档