2014太原理工大学C++实验报告

合集下载

2014程序设计技术实验报告

2014程序设计技术实验报告

实验一顺序结构程序设计
时间:2014.11.08 1-2节地点:博学楼大机房学号:201200 姓名:
实验二选择结构程序设计
时间:2014.11.08 5-6节地点:博学楼大机房学号:201200 姓名:
实验三循环结构程序设计
时间:2014.11.15 3-4节地点:博学楼大机房学号:201200 姓名:
实验四数组程序设计
时间:2014.11.22 1-2节地点:博学楼大机房学号:201200 姓名:
实验五函数程序设计
时间:2013.11.22 7-8节地点:博学楼大机房学号:201200 姓名:
实验六指针程序设计
时间:2014.12.06 1-2节地点:博学楼大机房学号:201200 姓名:
实验七结构体与共用体程序设计
时间:2014.12.06 7-8节地点:博学楼大机房学号:201200 姓名:
实验八文件程序设计
时间:2014.12.13 5-6节地点:博学楼大机房学号:201200 姓名:
3.算法说明
《程序设计技术》实验报告----班级:2013计算机双学位。

太原理工大学数据结构实验报告

太原理工大学数据结构实验报告

数据结构实验报告课程名称:数据结构实验项目:线性表、树、图、查找、内排序实验地点:***********************专业班级:物联网**** 学号:********* 学生姓名:指导教师:周杰伦2014年*月*日实验一线性表目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。

要求仔细阅读并理解下列例题,上机调试并编译执行通过,并观察其结果,然后独立完成后面的实验内容,写出完整的实验报告。

编写程序过程中注意养成良好的编程风格与习惯,要求程序结构清晰,程序缩进,适当注释。

实验仪器使用的计算机联想:硬件配置cpu-i3等、软件环境win7实验内容问题描述:1.设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。

输入:插入见的顺序表,插入的数,插入后的顺序表输出:插入前的顺序表,插入的数,插入后的顺序表存储结构:顺序表存储数据算法基本思想:这里采用了顺序表来存储数据,主要就是考虑插入的位置是不是在最后一个,如果不是在最后一个,那么就要移动数据了,算法很简单就不在这里的数据都看成是整型的实验代码#include<stdio.h>#include<stdlib.h>void Insert(int* p,int length,int n){int i,j;int flag=0;if(n>=p[length-1]){p[length]=n;flag=1;}else{for(i=length-2;i>=0;i--){if(n>=p[i]){for(j=length;j>=i+2;j--){p[j]=p[j-1];}p[i+1]=n;flag=1;break;}}}if(flag==0){for(j=length;j>=1;j--){p[j]=p[j-1];}p[0]=n;}}int main(){int L[10]={2,5,8,11,14,17,20};int length=7;int i,x;printf("cha ru qian de shun xu biao wei :\n");for(i=0;i<length;i++){printf("%4d",L[i]); }printf("\nqing shu ru yao cha ru de zheng shu:\n");scanf("%d",&x);Insert(L,length,x);printf("charu%dhoudeshunxubiaowei:\n",x);for(i=0;i<=length;i++){printf("%4d",L[i]);}printf("\n"); system("pause");return 0;}实验结果实验心得与体会本次实验是数据结构的第一个实验,虽然已经学过C语言,也用过vc++6.0,但是实验中还是不可避免的遇到许多问题,不过经过自己上网了解和同学与老师的帮助,问题都得到了解决,其中在运行代码后出现了“预编译头文件找不到”的错误,多次运行都出现这种错误,于是上网查询后,才知道是头文件错误,加上“#include<stdio.h>”之后程序顺利运行。

(完整版)c实验报告

(完整版)c实验报告

(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。

通过实验的设计和完成,检验和加深对C语言的理解和应用能力。

实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。

这样可以在终端或命令提示符中执行相关的C程序。

3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。

根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。

4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。

编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。

编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。

5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。

可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。

6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。

同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。

实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。

通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。

在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。

太原理工大学Web系统和技术实验报告

太原理工大学Web系统和技术实验报告

课程项目报告书课程名称:Web系统和技术项目题目:_____勤工助学中心系统______ 学院:计算机科学与技术专业班级:计Z1101姓名:莫家威学号:2011001496指导教师:马垚2014年 6 月 5 日三、数据库设计勤工助学系统数据库由3张表构成,分别是岗位表(jobs),勤工新闻表(qnews),用户表(users).(1)E-R图岗位表分E-R图如下所示.勤工新闻表分E-R图如下所示.用户表分E-R图如下所示.汇总后略去各实体属性之后,勤工助学系统的总E-R图如下所示,其中管理员和用户这两个实体属于用户实体.(2)数据表结构本系统采用的数据库系统为MySQL5.5,在数据库中新建一个名为myweb的数据库,该数据库中包含的3个表如下所示.岗位表:勤工新闻表:用户表:四、详细设计(1)前台功能设计勤工助学系统的前台主要为广大普通用户服务.系统前台主页为FirstPage.jsp.其界面如图所示.主要为用户提供用户注册,登录,找回密码,查看新闻,查看岗位等功能.图例:FirstPage.jsp1.登录功能.登录界面主要实现用户的登录操作,采用一个check.jsp来实现,有一些简单的逻辑校验,当用户点击登录按键的时候系统会弹出一个登录框,如下所示.填写完用户密码之后就会跳转到check.jsp,通过对数据库进行交互后登录成功,则跳转至登录成功页面Success.jsp页面.图例:登录界面图例:Check.jsp部分代码2.注册功能注册界面主要实现用户的注册操作,采用MVC的servlet RegisterAction.java来实现注册功能,当用户点击用户注册的时候会进入用户注册页面Register.jsp如下所示.之后会将数据传到RegisterAction.java中,跟数据库进行交互后将数据写入到数据库中,注册不成功会提示重新填写,注册成功则会跳转到注册成功页面.图例:Register.jsp图例:RegisterAction.jsp部分代码3.查看勤工新闻用户通过快速通道,bannal面板和主页的动态现实面板均可以查看勤工新闻,动态面板通过一个JS代码嵌入到div中实现,当鼠标移动到相应分类的时候会动态的从数据库中提取出相应的分类数据到页面上显示出来,如下图所示.用户点击相应分类之后就会进入具体的查看页面qnews.jsp,页面现实每条新闻的简略信息,用户点击每条信息就会进入具体显示页面,根据传参的不同现实不同的新闻,用户也可通过左边的分类切换不同的分类新闻.当新闻数过多时还可自动进行分页显示.图例:动态显示1. 图例:动态显示2.图例:分类现实新闻图例:详细新闻显示图例:详细新闻现实newsdetails.jsp部分代码4.查看岗位查看岗位部分与参看新闻部分相同,在部分现实页面加入显示已招聘人数和招聘人数,在详细显示中加入了报名模块和显示已报名同学部分,通过jobsdetails.jsp实现.图例:报名模块图例:详细岗位查看图例:jobsdetails.jsp部分代码5.岗位报名岗位报名由一个servlet:Stusignup.java和若干jsp页面组合实现.当用户点击岗位详细显示页面下的我要报名按钮的时候,即可进入岗位报名界面,首先进入的是用工协议界面,由Signup.jsp实现,用户点击不同意本协议则跳转回原岗位详细显示页面,点击同意本协议则讲用户信息保存至一个用户session,并跳转至Stusignup.java,在这个servlet完成用户信息的读取和对岗位当前相关状态的修改,在对数据库进行交互之后弹出”报名成功”的提示框,并跳转至原岗位详细显示页面,并且页面会动态更新当前用户的报名信息,若岗位招聘人数已满则会显示报名关闭,并返回上一级.图例:用工协议部分图例:报名成功增加一个学生信息图例:Stusignup.java部分代码5.用户个人操作用户在个人信息显示模块上点击”当前状态”即可查看当前状态,点击注销则会退出登录并退回到主页,点击修改密码则会进入修改密码部分,其他部分同上.图例:个人操作模块图例:具体实现代码(2)后台管理功能后台管理功能主要针对管理员,管理员登录成功后可以进行新闻发布,新闻管理,岗位发布,岗位管理,用户管理等功能.如下所示,重点说明发布部分.1.管理员登录管理员通关管理员登录通道之后可以进入管理界面,在这里可以选择相应的功能进行操作,也可以点击返回首页退出管理界面.图例:教师登录通道图例:管理员管理页面2.岗位,新闻发布岗位发布由一个servlet:AddjobsAction.java和若干jsp页面组合实现,新闻发布由一个servlet:AddnewsAction.java和若干jsp页面组合实现.当管理员点击发布功能是,会进入一个填写发布内容的jsp页面,若填写不规范则提示错误返回提示修改,按规范填写之后系统将数据传递至功能对应的javabean,并跳转至对应的servlet后,servlet取出javabean中保存的数据与数据库进行交互后将信息写入至数据库,并将返回的确认信息写如用户session,跳转至回执页面confirm.jsp,管理员可在此页面看到刚才发布的信息.图例:勤工新闻与岗位发布显示图例:confirm.jsp回执页面图例:AddnewsAction.java部分代码图例:AddjobsAction.java部分代码(3)其他代码包括数据库连接配置以及其他页面实现文件.图例:其他数据代码文件五、心得总结(1)项目缺点未能实现新闻,与岗位的删除功能,用户名之前被注册的还能再次注册,会更新掉原有的用户信息,新闻显示界面不够美观,底部的版权模块未部署到每一个页面上.(2)改进方案后续增加完善管理员界面的”内容管理”模块,并加入新闻,与岗位的删除功能,在用户注册是数据写入数据库之前应先与数据库进行交互判断用户名是否已经被注册,并提示用户进行对应修改.系统后续将改为Struts2框架,在此基础上对所有页面进行显示以及界面的优化,并部署版权模块.(3)遇到的困难及解决途径1.快速通道无法固定在页面的一个位置,在页面拖动的时候消失,后采用了CSS的方法来实现即可,会固定在页面的右下角.2.首页的面试通知过多后显示不美观,采用了滚动显示的方法,在原DIV上新建一个DIV,将数据写在新DIV上,并加入一段JS代码,可使页面进行滚动,代码如下所示.图例:页面滚动代码。

太原理工单片机实验报告1

太原理工单片机实验报告1

太原理工大学现代科技学院单片机原理与应用技术课程实验报告专业班级学号姓名指导教师实验名称双字节BCD加法同组人专业班级学号姓名成绩一、实验目的:1、通过常用指令的编辑练习,进一步理解并掌握MCS-51单片机的指令系统。

2、学习并掌握双字节BCD加法的程序设计3. 学习汇编语言的程序设计基本方法二、实验内容:将两个双字节十进制数机加,相加所得和个位放入R0中,十位放入R1中,若有进位则百位放入R2中。

三、实验设备:计算机一台应用软件:W AVE6000四、实验步骤:上机调试程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV R0,#12HMOV R1,#06HMOV R2,#08HMOV R3,#11HMOV A,R0ADD A,R2DA AMOV R2,AANL A,#0FHMOV R0,A ;将结果的个位放在R0中MOV A,R2ANL A,#0F0HSWAP AADD A,R1ADD A,R3DA AMOV R3,AANL A,#0FHMOV R1,A ;将结果的十位放在R1中MOV A,R3MOV R3,#0HANL A,#0F0HSWAP AMOV R2,A ;将结果的百位放在R2中RETEND五、实验心得与总结通过本次实验,我学到了很多知识,对我今后的学习有了很大的帮助,同时,在做实验的过程中,我遇到的一些问题也使我对思考问题的方法,有了新的认识,还让我深刻体会到实验前的理论知识准备的重要,并且在做实验时最好先预习一下实验内容,这样更有利于实验的操作。

太原理工大学程序设计技术实验报告

太原理工大学程序设计技术实验报告
串,例如:“121”“abcba” “ABCCBA”。在主函数中输入字符串并输出判断结果。 5. 编写一个程序,由主函数和如下函数构成。
⑴设计函数:input(),输入 n 个无序的整数存储在一个数组中; ⑵设计函数:sort(),用起泡法对数组中的 n 各数据从大到小排序; ⑶设计函数:search(),用折半查找法在已排序的 n 个数种查找指定的数据,若存在, 返回其所处的位置,否则,将其插入适当位置使数据仍有序。 在主函数中调用上述函数,验证函数的功能。 6. 输入并运行第 6 章例 6-27 中的程序,根据输出结果总结局部静态变量的特点。
实验内容
1. 下载并安装 C,语言编译系统,设置编辑。
2. 输入并运行第 1 章例 1-1 和例 1-2 中程序,并记录遇到的问题和解决方法。
3. 输入并运行第 2 章例 2-2 和例 2-3 中程序,并记录遇到的问题和解决方法。
4. 求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。
课程名称:
本科实验报告
程序设计技术 B
实验地点:
明相校区软件学院机房 208
专业班级: 软件 1409 学号: 2014005763
学生姓名:
王璐
指导教师:
曹棣
实验名称
2014 年 12 月
实验一 C 语言的运行环境和运行过程
1
实验二 C 语言运算符和表达式
实验目的和要求
1. 学会安装 C 语言编译系统,如:Turbo C、Win-TC、Visual C++等; 2. 学会在上述某种编译系统中程序的编辑、编译、连接和运行; 3. 通过运行简单的 C 程序,初步了解 C 源程序的特点; 4. 理解 C 语言的数据类型,掌握各种常量的表示方法,变量的定义、初始化和赋值; 5. 学会使用 C 语言的算术运算符以及表达式的求值过程。

太原理工大学学生实验报告

太原理工大学学生实验报告

太原理工大学学生实验报告图1-1太原理工大学学生实验报告图2-2 应变式传感器安装示意图金属丝在外力作用下发生机械形变时,其电阻值会发生变化,这就是金属的电阻应变效应。

金属的电阻表达式为:lSρ= (1) 当金属电阻丝受到轴向拉力F 作用时,将伸长l ∆,横截面积相应减小S ∆,电阻率因晶格变化等因素的影响而改变ρ∆,故引起电阻值变化R ∆。

对式(1)全微分,并用相对变化量来表示,图2-1应变式传感器信号调理实验电路图图2-3 应变式传感器单臂电桥实验接线图计算系统灵敏度W∆=/(US∆U∆输出电压的变化量,∆(多次测量时为平均值)为输出值与拟合直线的最大×100%式中m满量程输出平均值,此处为200g。

要在砝码盘上放置超过1kg的物体,否则容易损坏传感器。

,绝不可错接成±15V,否则可能烧毁应变片。

太原理工大学学生实验报告图3-1 应变式传感器半桥实验接线图太原理工大学学生实验报告图4-1 应变式传感器全桥实验接线图五、实验注意事项要在砝码盘上放置超过1kg的物体,否则容易损坏传感器。

桥的电压为±5V,绝不可错接成±15V。

六、实验数据太原理工大学学生实验报告图5-2图5-1圆柱形差动式电容传感器示意图图5-2圆柱形差动式电容传感器实验装置安装示意图。

电容式传感器调理模块的电路图如图5-3所示图5-3三、实验设备THVZ-1型传感器实验箱、电容传感器、测微头、万用表(自备)、信号调理挂箱、电容式传感器调理模块。

四、实验步骤1.将“电容传感器调理模块电路图”插放到相应的实验挂箱上,在确保上述模块插放无误后,从实验屏上接入实验挂箱所需的工作电源(电源的大小及正负极性不能接错);2.将电容式传感器引线插头插入信号调理挂箱“电容式传感器调理模块”旁边的黑色九芯插孔中;3.调节“电容式传感器调理模块”上的电位器Rw1,逆时针调节Rw1使旋到底。

用万用表测量此模块上输出两端的电压Uo;本科实验报告课程名称:传感器原理与检测技术实验项目:实验地点:北区多学科楼406专业班级:信息08-2 学号:2008100780 学生姓名:刘洁琼指导教师:乔铁柱沈慧钧李槐生2011年11 月14 日。

c语言程序设计实验指导答案

c语言程序设计实验指导答案

太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。

2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。

3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。

4.输入一百分制成绩,输出成绩等级A、B、C、D、E。

90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。

要求程序能处理错误的输入数据。

5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。

(fabs(t)表示t的绝对值,1e-6=1*10-6)。

6.求100-200间所有素数。

7.输出三角形的九九乘法口诀表。

8.打印水仙花数。

水仙花数是指一个3位数,其各位数字立方和等于该数本身。

太原理工大学系统分析实验报告2014

太原理工大学系统分析实验报告2014

本科实验报告课程名称:系统分析与设计实验项目:《太原理工大学教务系统的分析与设计》实验实验地点:逸夫楼304专业班级:软件1217 学号:201200xxxx学生姓名:xx指导教师:杨丽凤2014年11月14 日一、实验目的通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。

二、实验要求学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设计,并完成实验报告。

实验报告以纸质版(A4)在课程结束后一周上内提交(13周)。

三、实验主要设备:台式或笔记本计算机四、实验内容1 选题及项目背景太原理工大学教务系统的分析与设计2 定义教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。

迫切需要研制开发一款基于Internet网的综合网上教育管理软件。

传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。

使用计算机可以高速,快捷地完成以上工作。

在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。

教务管理系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。

目前还有一些单位和部门还是使用传统人工的方式公务员之家管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

同时随着学校的规模不断扩大,学生数量急剧增加,有关教务的各种信息量也成倍增长。

太原理工大学数据库实验报告

太原理工大学数据库实验报告

本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:29学生姓名:***指导教师:***2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。

二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。

2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。

数据定义:基本表的创建、修改及删除;索引的创建和删除。

数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。

视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。

三、主要仪器设备操作系统:Windows 7。

数据库管理系统:SQL Server2008。

四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。

create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。

create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。

数值计算方法实验报告(含所有)

数值计算方法实验报告(含所有)

本科实验报告课程名称:计算机数值方法实验项目:计算机数值方法实验实验地点:虎峪校区致远楼B401专业班级:软件学院1217班学号:******xxxx 学生姓名:xxx指导教师:xxx2014 年 5 月21 日太原理工大学学生实验报告五、实验结果与分析二分法割线法分析:由程序知,使用二分法和割线法均能计算出方程的根,但利用割线法要比二分法计算的次数少,并且能够较早的达到精度要求。

相比之下,割线法程序代码量较少,精简明了。

六、讨论、心得本次数值计算方法程序设计实验从习题练习中跳脱出来,直接面对实用性较强的程序代码编写。

效果很好,不仅加深对二分法、割线法的理解,还加强了实际用运能力。

将理论知识成功地转化成实践结果。

实验地点虎峪校区致远楼B401指导教师xx太原理工大学学生实验报告l[i][k]=a[i][k];for(r=1;r<k;++r){l[i][k]-=l[i][r]*u[r][k];}l[i][k]/= u[k][k];}l[k][k]=1.0;}for(i=1;i<=n;++i){y[i] = b[i];for(j=1;j<i;++j){y[i]-=l[i][j]*y[j];}}for(i=n;i>0;--i){x[i] = y[i];for(j=i+1;j<=n;++j){x[i]-=u[i][j]*x[j];}x[i]/= u[i][i];}for(i=1;i<=n;++i){printf("%0.2lf\n",x[i]);}return 0;}五、实验结果与分析完全主元素消元法:列主元素消元法:LU分解法:分析:对于两种高斯解方程,完全主元素跟列主元素都是先消元、再回代,由程序段可以发现,始终消去对角线下方的元素。

即,为了节约内存及时效,可以不必计算出主元素下方数据。

列主元素消元法的算法设计上优于完全主元素消元法,它只需依次按列选主元素然后换行使之变到主元素位置,再进行消元即可。

2014太原理工大学C++实验报告

2014太原理工大学C++实验报告

本科实验报告课程名称:C++面向对象程序设计实验项目:C++语言编程实验地点:明向校区专业班级:软件1431 学号:******XXXX 学生姓名:***指导教师:***2015年5月10 日2.编写重载函数max1可分别求取2个整数,3个整数,3个双精度数,3个双精度数的最大值#include<iostream>using namespace std;int max(int x,int y);double max(double x,double y);int max(int x,int y,int z);double max(double x,double y,double z);int main(){int a,b,c;cout<<"请输入3个整数"<<endl;return x>y?x:y;}int max(int x,int y,int z){return (max(x,y)>z)?max(x,y):z;}double max(double x,double y,double z){return (max(x,y)>z)?max(x,y):z;}运行结果:3.用new操作为一个包含10个整数的数组分配内存,输入若干个值到数组中,分别统计其中正数和负数的个数后再用delete操作释放内存。

#include<iostream>cin>>p[i];if(p[i]>0)plus++;else if(p[i]!=0)minus++;}cout<<"正数的个数:"<<plus<<endl;cout<<"负数的个数:"<<minus<<endl;delete []p;return 0;}运行结果:cin>>x;}}return 0;}运行结果:2.定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。

太原理工大学数据库实验报告概要

太原理工大学数据库实验报告概要

本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:2012005829学生姓名:田亚鹏指导教师:李雪梅2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。

二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。

2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。

数据定义:基本表的创建、修改及删除;索引的创建和删除。

数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。

视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。

三、主要仪器设备操作系统:Windows 7。

数据库管理系统:SQL Server2008。

四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。

create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。

create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。

【太原理工大学现代科技学院】数字测控实习报告 (2)

【太原理工大学现代科技学院】数字测控实习报告 (2)
太原理工大学现代科技学院
数据结构
课程 实验报告
专业班级 计算机科学与技术 14--1 班 学 姓 号 2014101903 名 彭浩
指导教师 邓丽平
……………………………………装………………………………………订…………………………………………线………………………………………
实验名称 单向链表的操作 专业班级 计科 14--1 学号
} if(p1->data==e) { p2->next=p1->next; free(p1); count--; } else printf("无此元素!\n"); } } void opp(Linklist head)/*逆置*/ { Linklist p1,p,q; p=head->next; p1=p->next; p->next=NULL; while(p1->next!=NULL) { q=p1; p1=p1->next; q->next=p; p=q; } p1->next=q; head->next=p1; printf("逆置后的元素为:\n"); visit(head); } void main() { int c; Linklist L; do { system("cls"); printf("############## ######################\n"); printf("\n"); printf("输入元素按: 1 退出按: 0\n"); scanf("%d",&c); if(c==1)
{ system("cls"); printf("********************** 实 验 二 数 制 转 换 **********************\n\n\n"); printf("进行数制转换 按: 1 退出 按: 0\n"); scanf("%d",&flag); if(flag) { printf("请输入一个十进制的非负数:\n"); scanf("%d",&x); printf("请输入要将它转换的进制数:\n"); scanf("%d",&y); printf("十进制的 %d 转化成 %d 进制为: ",x,y); conversion(x,y); } }while(flag); } 队列的回文判断 #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h> #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef char SElemType; typedef char QElemType; #define status int #define ok 1 int count; typedef struct{ SElemType * base; SElemType * top; int stacksize; }sqstack; status initstack(sqstack &s){ s.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if(!s.base) exit(0); s.top=s.base; s.stacksize=STACK_INIT_SIZE; return ok; } status stackempty(sqstack s){ if(s.top==s.base) return 1; return 0;

太原理工大学数据库实验报告

太原理工大学数据库实验报告

本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:**********学生姓名:***指导教师:***2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。

二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。

2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。

数据定义:基本表的创建、修改及删除;索引的创建和删除。

数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。

视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。

三、主要仪器设备操作系统:Windows 7。

数据库管理系统:SQL Server2008。

四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。

create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。

create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。

计算数值实验报告(太原理工大学)

计算数值实验报告(太原理工大学)

本科实验报告课程名称:计算数值方法实验地点:综合楼五层506室专业班级:计科1002 学号: 14学生姓名: xxx 指导教师:王峥2012 年 6 月 20太原理工大学学生实验报告2,)内有零点,反之在(a,(a+b)/2五、结构程序设计迭代法:#include<>#include<>main(){int i;double xn[15],y,x1,x2,m ;printf("请输入x1,x2的值:\n" );scanf("%lf%lf",&x1,&x2);printf("请输入精度要求:\n" );scanf("%lf",&m);printf(" n xn\n");i=0;do{xn[0]=(x1+x2)/2 ;xn[i+1]= sqrt(10/(4+xn[i]));⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡13814142210321321x x x ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--⨯-2178.4617.5911212592.1121130.6291.51314.59103.0432115x x x x =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡201161263841027851244321x x x x ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤-555721121121121 n n x x x x追赶法:用来求对角方程组;将系数矩阵A 转化为A=L*U, L 为普通下n-1对角矩阵,U 为单位上n-1对角矩阵,然后通过程组l*y=b,u*x=y,来求解x.、主要仪器设备c++ C-free CodeBlocks、结构程序设计Gauss 消元法:#include <iostream>#include <cmath> using namespace std; int main() {int n,i,j,k;double a[100][100],b[100],o; cout<<"输入未知数个数:"<<endl; cin>>n;cout<<"输入数列:"<<endl; for (i=1;i<=n;i++)for (j=1;j<=n+1;j++) cin>>a[i][j]; for (i=1;i<=n;i++)for (j=i+1;j<=n;j++)if (fabs(a[j][i])>1e-7){o=a[i][i]/a[j][i];for (k=i;k<=n+1;k++)a[j][k]=a[j][k]*o-a[i][k];}for (i=n;i>0;i--){b[i]=a[i][n+1]/a[i][i];for (j=i-1;j>0;j--)a[j][n+1]=a[j][n+1]-b[i]*a[j][i];}cout<<"解得:"<<endl;for (i=1;i<=n;i++) cout<<b[i]<<endl;lf\n",i,d[i]);}、结果讨论和分析消元法:列主元素消元法:解法:追赶法:讨论从消元过程可以看出,对于n阶线性方程组,只要各步主元素不为零,经过n-1步消元,就可以得到一个等价的系数三角形阵的方程组,然后再利用回代过程可求得原方程组的解. 由于列主元素法相似且优于完全主元素法所以省略消元过程相当于分解 A为单位下三角阵L与上三角阵U的乘积,解方程组Ly=b回代过程就是解方程组Ux=y。

太原理工大学软件测试实验报告

太原理工大学软件测试实验报告

.本科实验报告课程名称:软件测试技术实验项目:软件测试技术实验实验地点:逸夫楼202专业班级:软件14 学号:2014 学生姓名:指导教师:2016年10月26日说明:⑴测试用例表中的“覆盖标准”项指:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖和基本路径覆盖。

⑵测试用例表(样表)见表1。

-1,5,94,11,41,3,4,51,3,4,50 6 5,11,65,11,55,6,1010,7,52212路径覆盖1,3,4,51,3,4,61,2,4,51,2,4,62212 7 5,11,65,11,510,7,5221基本路径覆盖1,3,4,51,3,4,61,2,4,6221五、实验数据记录和处理测试用例1测试用例2测试用例3测试用例4测试用例5测试用例6测试用例7六、实验结果与分析实验所得结果与测试用例结果预期一致,通过白盒测试的方法的各种覆盖方法对代码进行了测试,没有发现错误。

七、讨论、心得#include <stdio.h>void main(){printf("请输入三角形的三条边:\n");float a,b,c;scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&c+b>a){if(a==b){if(b==c)printf("这个三角形是等边三角形!\n");elseprintf("这个三角形是等腰三角形!\n");}else{if(a==c)printf("这个三角形是等腰三角形!\n");else{if(b==c)表2. 等价类划分表输入条件有效等价类无效等价类②a+b>c||a+c>b||b+c>a是否构成三角形①a+b>c&&a+c>b&&b+c>a是否等腰三角形③a=b||a=c||c=b ④a=b&&a=c&&c=b是否等边三角形⑤a=b=c ⑥三边至少有一边不等表3. 测试用例表用例编号测试数据( A, B, C) 等价类覆盖情况输出①5,6,7 ①这个三角形是普通三角形!②5,5,5 ③这个三角形是等边三角形!③5,6,6 ⑤这个三角形是等腰三角形!④4,5,80 ②输入的边构不成三角形!五、实验数据记录和处理六、实验结果与分析通过黑盒测试,使用等价类划分法,所得结果与预期结果一直,说明程序能够正常完成对三角形的识别功能。

太原理工大学操作系统实验报告

太原理工大学操作系统实验报告

课程名称:操作系统B实验项目:操作系统实验实验地点:逸夫楼专业班级:软件14班学生姓名:学号: 2014 指导教师:张辉2016年 12 月 2 日目录 (2)实验一几种操作系统的界面 (3)一.目的和要求 (3)二.内容 (3)三.程序代码 (3)四.运行结果 (4)实验二进程调度程序设计 (5)一、目的和要求 (5)二、示例 (5)程序清单 (7)运行结果 (12)实验三存储管理程序设计 (13)一、目的和要求 (13)二、提示 (13)三.流程图 (14)程序代码 (15)运行结果 (20)实验感想 (21)参考资料 (21)实验一几种操作系统的界面一.目的和要求(一)目的8 在熟练使用机器的基础上,能了解各种操作命令和系统调用在系统中的大致工作过程。

也就是通过操作系统的外部特征,逐步深入到操作系统的内部实质内容中去。

(二)要求1.能熟练的在1—2种操作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机。

2.熟悉系统实用程序的调用方法和各种系统调用模块的功能和作用二.内容在某种操作系统的环境下建立、修改、运行、打印源程序和结果,最后撤消一个完整的程序。

提示:可按下述步骤进行1.编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2.编译该源文件,建立相应的目标文件;3.编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4.连接目标文件,形成可执行文件;5.执行该文件,得到结果;6.打印输出源程序和运行结果;7.撤消本次实验中形成的所有文件。

三.程序代码#include"stdio.h"#include"iostream"using namespace std;void main(){int a;cin>>a;cout<<"怎么编写程序:"<<a<<endl;}四.运行结果1.2.Dos命令行。

太原理工大学编译原理实验

太原理工大学编译原理实验

本科实验报告课程名称:编译原理实验项目:无符号数的词法分析程序(实验一)基本程序设计(实验二)实验地点:计算机学院软件实验室专业班级:软件1132 学号:2011005267学生姓名:班德盛指导教师:崔冬华2014年4 月15日一、实验目的和要求1.培养学生初步掌握编译原理实验的技能。

2.验证所学理论、巩固所学知识并加深理解。

3.对学生进行实验研究的基本训练。

二、实验内容和原理实验一、无符号数的词法分析程序(4学时)内容:掌握词法分析的基本思想,并用高级语言编写无符号数的词法分析程序。

要求:从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程序识别出其中的无符号数。

无符号数文法规则可定义如下:<无符号数>→<无符号实数>│<无符号整数><无符号实数>→<无符号整数>.<数字串>[E<比例因子>]│<无符号整数>E<比例因子><比例因子>→<有符号整数><有符号整数>→[+│-]<无符号整数><无符号整数>→<数字串><数字串>→<数字>{<数字>}<数字>→0 1 2 3 (9)读无符号数的程序流程图见下图三.主要仪器设备PC机+Java语言编程环境四、实验结果与分析1.实验代码:package text1;import java.io.BufferedReader;import java.io.InputStreamReader;public class Text1 {/*** @param args*/public static void main(String[] args) throws Exception { // TODO Auto-generated method stubint p = 0, w = 0, w1 = 0, j = 0, i = 0, d = 0, e = 1;double w2 = 0;String str;System.out.println("请输入一串字符以;结束:");BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));str = buf.readLine();char m[] = new char[100];for (i = 0; i < str.length(); i++) {m[i] = str.charAt(i);}i = 0;while (i < str.length()) {if (m[i] < 48 || m[i] > 57) {i++;} else {do {d = m[i] - 48;w = w * 10 + d;j++;i++;} while (m[i] >= 48 && m[i] <= 57);// System.out.println("chesi"+m[i]);if (m[i] != '.') {if (m[i] != 'E') {System.out.println("整型数为:" + w);j = 0;w = 0;} else {i++;if (m[i] == '-') {e = -1;i++;if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;p = p * 10 + d;i++;} while (m[i] >= 48 && m[i] <= 57);if (j > 1)w2 = w / (Math.pow(10.0, j - 1));System.out.println("实型数为:" + w2 + "*10" + " "+ (e * (p - j + 1)));j = 0;w2 = 0;w = 0;p = 0;} elseSystem.out.println("您输入有误!");} else if (m[i] == '+') {i++;if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;p = p * 10 + d;i++;} while (m[i] >= 48 && m[i] <= 57);if (j > 1)w2 = w / (Math.pow(10.0, j - 1));System.out.println("实型数为:" + w2 + "*10" + " "+ (e * (p + j - 1)));j = 0;w2 = 0;w = 0;p = 0;} elseSystem.out.println("您输入有误!");} else {if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;p = p * 10 + d;i++;} while (m[i] >= 48 && m[i] <= 57);if (j > 1)w2 = w / (Math.pow(10.0, j - 1));System.out.println("实型数为:" + w2 + "*10" + " "+ (e * (p + j - 1)));j = 0;w2 = 0;w = 0;p = 0;} elseSystem.out.println("您输入有误!");}}}else {i++;if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;w1 = w1 * 10 + d;// j = j + 1;i++;} while (m[i] >= 48 && m[i] <= 57);} elseSystem.out.println("您输入有误!");if (m[i] != 'E') {System.out.println("小数为:" + w + '.' + w1);w = 0;w1 = 0;j = 0;} else if (m[i] == 'E') {i++;if (m[i] == '-') {e = -1;i++;if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;p = p * 10 + d;i++;} while (m[i] >= 48 && m[i] <= 57);if (j > 1) {w2 = w / (Math.pow(10.0, j - 1));System.out.println("实型数为:" + w2 + w1+ "*10" + " " + (e * (p - j + 1)));w = 0;w1 = 0;j = 0;w2 = 0;p = 0;} else {System.out.println("实型数为:" + w + '.' + w1+ "*10" + " " + (e * (p - j + 1)));w = 0;w1 = 0;j = 0;w2 = 0;}} elseSystem.out.println("您输入有误!");} else if (m[i] == '+') {i++;if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;p = p * 10 + d;i++;} while (m[i] >= 48 && m[i] <= 57);if (j > 1) {w2 = w / (Math.pow(10.0, j - 1));System.out.println("实型数为:" + w2 + w1+ "*10" + " " + (e * (p + j - 1)));w = 0;w1 = 0;j = 0;w2 = 0;p = 0;} else {System.out.println("实型数为:" + w + '.' + w1+ "*10" + " " + (e * (p + j - 1)));w = 0;w1 = 0;j = 0;w2 = 0;p = 0;}} elseSystem.out.println("您输入有误!");} else {if (m[i] >= 48 && m[i] <= 57) {do {d = m[i] - 48;p = p * 10 + d;i++;} while (m[i] >= 48 && m[i] <= 57);if (j > 1) {w2 = w / (Math.pow(10.0, j - 1));System.out.println("实型数为:" + w2 + w1+ "*10" + " " + (e * (p + j - 1)));w = 0;w1 = 0;j = 0;w2 = 0;} else {System.out.println("实型数为:" + w + '.' + w1+ "*10" + " " + (e * (p + j - 1)));w = 0;w1 = 0;j = 0;w2 = 0;p = 0;}} elseSystem.out.println("您输入有误!");}} elseSystem.out.println("您输入有误!");}}}}}2.实验结果:一、实验目的和要求1.培养学生初步掌握编译原理实验的技能。

太原理工大学实验报告封皮

太原理工大学实验报告封皮

课程名称:语音与音频编码实验项目:用Cool Edit Pro音频软件完成音乐制作实验地点:北区跨越机房专业班级:电子信息工程学号:2011001308 学生姓名:陈璇指导教师:贾海蓉2014年 5 月19 日(1)掌握Cool Edit Pro音频软件的功能,比如:编辑、剪辑、特效。

(2)理解音频软件中的去噪、压缩、均衡的意义(3)会用Cool Edit Pro音频软件制作完整的个性音乐。

二、实验要求1.了解用Cool Edit Pro音频软件的”颠倒””反相””静音处理””振幅处理””延时”“降噪”等功能。

2.通过调整波形幅度变化制作淡入、淡出的效果。

3.用Cool Edit Pro音频软件录制5遍“太原理工大学”。

录制的文件采样率为44.1kHZ,立体声,每一遍之间有间隔。

4.先对录制的语音去噪。

5.在语音后面加背景音乐,在语音间隔处加音乐特效,比如:雷声,雨声,哭声,笑声等等,加上的音乐要求过度平缓,转折合理,不突兀。

(这个用多轨文件实现)6.对文件进行特效处理,比如:回声效果,大厅效果,娃娃音,等等。

7.把多轨文件混缩成单轨文件,进行保存。

8,并对结果进行分析,如果失败,重录三、实验仪器计算机、Cool Edit Pro音频软件四、实验步骤1. 用Cool Edit Pro音频软件录制5遍“太原理工大学”。

录制的文件采样率为44.1kHZ,立体声2.先保存语音,然后进行颠倒、反相、静音处理、振幅处理、降噪3.在录制的语音后面加上背景音乐,在语音间隔处加上音乐特效4.对文件进行特效处理,回声效果5.把多轨文件混缩成单轨文件,并保存6.实验结果分析(1)降噪处理(2)加混响(3)多轨图(4)单轨图六、实验结果分析经过两次降噪处理之后,噪音明显降低,达到了实验预期的效果,降噪处理基本达到要求;加混响效果后,能较清楚的分辨处混响的效果,其中,“感觉“的调节模块左边比较平滑,听不出回声,右边表示回声,有明显的回声,达到预期的效果;在每一遍”太原理工大学“中间加入过度的“雷声”、“雨声”,在整个过程中加入背景音乐,从而形成多轨图;合并多轨,形成最终实验要求的单轨图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科实验报告课程名称:C++面向对象程序设计实验项目:C++语言编程实验地点:明向校区专业班级:软件1431 学号:******XXXX 学生姓名:***指导教师:***2015年5月10 日1.运行例题程序:#include<iostream>using namespace std;void fn1(int z=5);int x=1,y=2;int main(){cout<<"Begin. . ."<<endl;cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;cout<<"Evaluae x and y in main()..."<<endl;int x=10,y=20;cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;cout<<"Step into fn1()..."<<endl;fn1();fn1(10);cout<<"Bace in main"<<endl;cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;return 0;}void fn1(int z){static int x=100;int y=200;cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;x=x+y+z;}运行结果:3.用new操作为一个包含10个整数的数组分配内存,输入若干个值到数组中,分别统计其中正数和负数的个数后再用delete操作释放内存。

#include<iostream>using namespace std;const int N=10;int main(){int *p,i,plus,minus;p=new int[N];if(!p){cout<<"内存分配错误!"<<endl;exit(1);}plus=0;minus=0;cout<<"请任意输入"<<N<<"个整数"<<endl;for(i=0;i<N;i++){cin>>p[i];if(p[i]>0)plus++;else if(p[i]!=0)minus++;}cout<<"正数的个数:"<<plus<<endl;cout<<"负数的个数:"<<minus<<endl;delete []p;return 0;}运行结果:{double m;cout<<"请输入正方形的边长:";cin>>m;area=m*m;cout<<"正方形的面积:"<<area<<endl;}else{cout<<"输入有误,请重新输入!"<<endl;cout<<"输入代码:";cin>>x;}}return 0;}运行结果:2.定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。

用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i ,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。

用公有成员函数Dispaly()显示复数c1、c2与c3 的内容。

程序:#include<iostream>using namespace std;class Complex{private:double real,image;public:Complex(double r,double i);Complex(Complex &c);void Display();};Complex::Complex(double r,double i){real=r;image=i;}Complex::Complex(Complex &c){real=c.real;image=c.image;}void Complex::Display(){cout<<real<<"+"<<image<<"i"<<endl;}int main(){Complex c1(20,40),c2(0,0),c3(c1);cout<<"c1="; c1.Display();cout<<"c2="; c2.Display();cout<<"c3="; c3.Display();return 0;}运行结果:3.定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。

定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。

在主函数中用Score类定义学生成绩对象数组s[3]。

用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。

实验数据:No Name Math Phi Data Ave1001Zhou 80 70 601002Chen9080 851003Wang70 75 89程序:#include<iostream>#include<string>using namespace std;class Score{private:int No;char Name[10];float Math,Phi,Data,Ave;public:void Write(int no,char name[],float math,float phi,float data){No=no;strcpy(Name,name);Math=math;Phi=phi;Data=data;}void Average(){Ave=(Math+Phi+Data)/3;}void Display(){cout<<No<<"\t"<<Name<<"\t"<<Math<<"\t"<<Phi<<"\t"<<Data<<"\t"<<Ave<<endl;}};int main(){int i,no;char name[10];float math,phi,data;Score s[3];cout<<"学号姓名数学物理数据结构"<<endl;for(i=0;i<3;i++){cin>>no>>name>>math>>phi>>data;s[i].Write(no,name,math,phi,data);s[i].Average();}cout<<"学号姓名数学物理数据结构平均分"<<endl;for(i=0;i<3;i++)s[i].Display();return 0;}运行结果:4.定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。

用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。

在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。

然后调用Show()显示矩形左上角与右下角坐标及对角线长度。

最后用delete运算符回收为矩形动态分配的存储空间。

程序:#include<iostream>#include<cmath>using namespace std;class Rectangle{private:float Left,Top,Right,Bottom;public:Rectangle(float left,float top,float right,float bottom);float Diagonal();void Show();};Rectangle::Rectangle(float left,float top,float right,float bottom):Left(left),Top(top),Right(right),Bottom(bottom){}float Rectangle::Diagonal(){float dia;dia=sqrt((Right-Left)*(Right-Left)+(Bottom-Top)*(Bottom-Top));return dia;}void Rectangle::Show(){cout<<"矩形左上角坐标: <"<<Left<<","<<Top<<">"<<endl;cout<<"矩形右下角坐标: <"<<Right<<","<<Bottom<<">"<<endl;cout<<"矩形对角线长度: "<<Rectangle::Diagonal()<<endl;}int main(){Rectangle *r1;r1=new Rectangle(10,10,20,20);r1->Diagonal();r1->Show();delete r1;return 0;}运行结果:};int main(){int x,y,len,wid,rad;cin>>x>>y>>len>>wid;Point p1(x,y);cout<<"p1 has been constructed"<<endl;Rectangle r1(p1,len,wid);cout<<"r1 has been constructed"<<endl;cout<<"矩形的周长:"<<r1.length()<<endl;;cin>>x>>y>>rad;Point p2(x,y);Circle c1(p2,rad);cout<<"c1 has been constructed"<<endl;cout<<"圆的周长:"<<c1.length()<<endl;cin>>x>>y>>len;Point p3(x,y);Square s1(p3,len);cout<<"s1 has been constructed"<<endl;cout<<"正方形的周长:"<<s1.length()<<endl;return 0;}运行结果:(坐标似乎没有用处)2.程序:#include<iostream>using namespace std;class Person{char strName[20];public:Person(char *name,int age){strcpy(strName,name);nAge=age;cout<<"constructor of person"<<strName<<endl;}~Person() { cout<<"deconstrutor of person"<<strName<<endl;}};class Employee :public Person{char strDept[20];Person Wang;public:Employee (char *name,int age,char *dept,char *name1,intage1):Person(name,age),Wang(name1,age1){strcpy(strDept,dept);cout<<"constructor of Employee"<<strDept<<endl;}~Employee() { cout<<"deconstrucor of Employee"<<strDept<<endl;}};int main(){Employee emp("张三",25,"财务部","李四",30);return 0;}运行结果:3.定义描述职工档案的类Archives,私有数据成员为职工号No,姓名Name[8],性别Sex,年龄Age。

相关文档
最新文档