江苏科技大学 c++实验报告
江苏科技大学c++实验报告

江科技大学课程实践报告设计题目:计算机程序设计实验(C++)设计时间: 2016年10月3日至2016年10月4日学院:计算机科学与工程学院专业班级:通信工程 1522107041学生:周祯楠学号:****************:***一、第三题(一)题目:3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。
具体要求如下:(1)私有数据成员。
○1float array[20]:一维整型数组。
○2int n:数组中元素的个数。
(2)公有成员函数○1MOVE(float b[],int m):构造函数,初始化成员数据。
○2void average():输出平均值,并将数组中的元素按要求重新放置。
○3void print():输出一维数组。
(3)在主程序中用数据{1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}对该类进行测试。
(二)源程序:#include<iostream.h>class MOVE{float array[20];int n;public:MOVE(float b[],int m);void average();void print();};MOVE::MOVE(float b[],int m){int i;n=m;for(i=0;i<m;i++)array[i]=b[i];}void MOVE::average(){int i,x;float a = 0;for(i=0;i<n;i++)a+=array[i];a/=n;cout<<"平均值为:"<<a<<endl; //○1float f[20];for(i=0,x=0;i<n;i++)if(array[i]<a){f[x] = array[i];x++;}for(i=0;i<n;i++)if(array[i]>a){f[x] = array[i];x++;} //○2 for(i=0;i<n;i++)array[i] = f[i]; //○3}void MOVE::print(){int i;for(i=0;i<n;i++){cout<<array[i]<<'\t';if((i+1)%5==0) cout<<endl; //○4 }cout<<endl;}void main(){float b[]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};int m = 9;MOVE ff(b,m);ff.average();ff.print();}(三)运行结果:(四)基本分析:1.就结构而言,定义类以及成员函数按照题目要求写即可,注意类作用域符::不可缺失。
江苏科技大学电信学院C++实践报告

江苏科技大学课程实践报告设计题目: 程序设计(VC++)实践设计时间: 2010-10-10 至2010-11-10学院: 电子信息学院专业班级: 自动化学生姓名: 江中炜学号0940301210 指导老师: 邹晓华2010年09月实践任务一一、程序设计基本题试建立一个类PP,求出下列多项式的前n项的值。
1 n=0P n(x) = x n=1((2n-1)xP n-1(x)-(n-1)P n-2 (x)) n>1 具体要求如下:(1)私有数据成员●int n:前若干项的项数。
●double x:存放x的值。
●double *p:根据n的大小动态申请存放P n(x)前n项的数组空间。
(2)共有成员函数●PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申请的数据空间。
●~PP( ):析构函数,释放p指向的动态内存空间。
●double fun(int n1,double x):递归函数,用于求多项式P n(x)的第n1项。
注意:将递归公式中的n用作函数参数。
本函数供process函数调用。
●void process( ):完成求前n项的工作,并将它们存放发到p指向的动态数组中。
●void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。
(3)在主函数中完成对该类的测试。
先输入num和x1,并定义一个PP 类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,并输出多项式前num项的值。
二、系统设计1、概要设计通过类PP的成员函数process( )来求多项式Pn(x)的前n项的值,其中用fun( )函数来求第n项的值,根据n的大小来给数据成员p分配动态空间,程序结束前释放为items分配的动态空间。
2、详细设计①类的定义如下:class PP{int n;double x;double *p;public:PP(int num,double x1){}void process( ){}void show( ){}};②类的主要成员函数的设计double fun(int n1,double x) //设计函数来求P n(x){if(n1==0) return 1;else if(n1==1)return x;return ((2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x))/n1;}三、系统测试先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items 的成员n和x,调用items的成员函数,并输出多项式前num项的值。
江苏科技大学苏州理工学院(镇江校区)VC++程序设计

计算机程序VC++课程设计报告班级学号姓名一.课程设计教学和任务《计算机程序设计(VC++)课程设计》是实践性教学环节,是学生必修的一门计算机实践课程。
本课程设计的目的是通过综合性程序设计训练,使学生进一步巩固对计算机程序设计语言(VC++)基本语法、基本算法的理解,加深对面向对象程序设计的理解与应用,并使学生养成模块化、结构化程序设计的良好风格,以及一定的程序组织能力,掌握基本程序设计的方法和技巧,为学习后续课程和实际编程打下良好的基础。
本课程设计的重点要求学生掌握基本程序设计理念和方法,培养学生基本程序设计的应用和开发能力。
二.课程设计要求和内容1 .本课程设计要求(1)学生必须完成本指导书中所有的小综合设计题(2)每个学生必须完成课程设计报告一篇2.课程设计的内容(1)设计一个程序实现如下的选择菜单:用switch语句。
要保证选择的语句只能是0~5的数字,否则重新输入。
#include<iostream.h>void main(){int a;cin>>a;switch(a){case 0:cout<<“退出”<<endl;case 1:cout<<“星期一馒头”<<endl;case 2:cout<<“星期二包子”<<endl;case 3:cout<<“星期三面条”<<en dl;case 4:cout<<“星期四汉堡”<<endl;case 5:cout<<“星期五油条”<<endl;deflaut:cout<<“输入有误重新输入”;}}(2)设计一个循环结构的程序,循环体分别是单个C++语句,循环体是空语句,循环体是复合语句。
单个C++语句:#include<iostream.h>void main(){int i=1,s=1;while(++i<=100)s+=i;cout<<“s=”<<s<<…\n‟;}空语句:#include<iostream.h>void main(){int x,y;for(x=1,y=5;y<++x*x++;y++);cout<<“y=”<<y<<…\n‟;}复合语句:#include<iostreaam.h>void main(){int i,q,n,sum;i=1;q=2;n=sum=0;do{sum=sum+i;++n;i=i*q;}while(sum<100);n--;cout<<n<<endl;}(3)设计一个程序实现练习同名全局变量和局部变量的特点,如能同名覆盖等;局部静态变量(能说明局部静态变量暂时不释放的特点)局部变量:#include<iostream.h>void fn();void main(){fn();fn();fn();}void fn(){static n=10;cout<<n<<endl;n++;}全局变量同名覆盖等:#include<iostream.h>int a=10;void main(){ int a=20,b=30;{ int a=0,b=0;for(int i=1;i<4;i++){a=a+b;b=::a+b;}cout<<a<<''<<b<<endl;}cout<<a<<''<<b<<endl;}(4)设计一个函数,实参与形参结合分别用值传递,引用传递,指针传递(也可以是数组)。
静水压强实验报告江科大

静水压强实验报告江科大
一、实验原理
1根据流体平衡规律,在重力场中静止液体的压强分布可表示为:Cgpz ,即在连通的同种静止液体中各点对于同一基准面的测压管水
头相等。
2测压管的一端接大气,这样就把测管水头揭示出来了。
再利用液体的平衡规律,可知连通的静止液体区域中任何一点的压强,包括测点处的压强。
这就是测压管量测静水压的原理。
3.压强水头gp和位置水头z之间的互相转换,决定了液柱高和压差的对应关系:hgp .在压差相同的情况下,不同的液体对应不同的液柱高。
用这个原理可以测定液体的重度。
二、实验目的和要求
1.通过实验加深对水静力学基本方程物理意义的理解。
加深理解位置水头、压强水头及测管水头的概念。
2.通过实验加深对水静力学基本方程物理意义的理解。
加深理解位置水头、压强水头及测管水头的概念。
江科大c++期末实验报告(精品文档)_共3页

} void main() { int sum,num,n;char a[100]; cin>>num; sum=int_to_string(num,a,n); cout<<"各位数字之和为"<<sum<<endl;
cout<<b<<'\t'; } cout<<endl;
}
程序运行结果为: 3、将杨辉三角的前 N 行保存到二维数组的下半三角中。杨辉三角由正整数构成,每行除 最左侧与最右侧的数为 1 外,其他数等于其左上方与正上方两个数的和,杨辉三角的前 5 行如下: 1 11 121 1331 14641 #include<iostream.h> void main(){
}
运行结果: 2、设计处理二维数组的程序,要求如下。 (1)定义函数 void input(int a[][4],int n),用于对二维数组进行初始化。 (2)定义函数 void output(int (*a)[4],int n),用于输出二维数组中的元素。 (3)定义函数 int search_max(int a[][4],int n,int &cool,int &vol),用于查找二维数组 a 中的最 大值元素,并记录其行下标和列下标,其中最大值元素的值通过函数返回值带回主函数, 对应的下标分别存储到 col 和 vol 中。 (4)在主函数中进行测试。 #include<iostream.h> void input(int a[][4],int n){
江科大c期末实验报告

江科大c期末实验报告制作者:徐珩1240202321第一章:1、从键盘输入10个整数,求它们的平均值。
#includevoid main(){cout<<"输入10个整数:"<<endl;< p="">int j=1,k;float s,n;for(s=0;j<=10;j++){cin>>k;s=s+k;}n=s/10;cout<}运行结果:2、计算s=1+2+3+…+I,累加到s大于1000,并输出s和i的值。
#includevoid main(){int s,i=0;for(s=0;s<=1000;i++)s=s+i;cout<<s<<'\t'<<i<<endl;< p="">}运行结果:3、找到2到200间的素数,按5个一行输出。
#includevoid main(){int s,i,k=0;cout<<"2到200间的素数:"<<endl;< p="">for(i=2;i<=200;i++){for (s=2;s<=i/2;s++){if(i%s==0) break;}if(s<=i/2) continue;else{cout<<i<<'\t';< p="">k++;if(k%5==0) cout<<endl;< p="">}}}运行结果:第四章:1、设计一个程序,通过指针变量求键盘输入的一串字符中单词的个数,如输入“I am a boy.”则输出其中包含的单词个数4。
#includevoid main(){char p[100];cin.getline(p,100);int num=0,n=0, flag=0;for(;p[n];n++){if(p[n]!=' ') flag=1;if(flag){if(p[n+1]==' '||p[n+1]=='\0') num++;}}cout<<p<<"包含的单词个数是:"<<num<<endl;< p="">}程序运行结果是:2、找出一维数组中值最大的元素及其下标,注意最大元素可能不止一个。
C程序设计实验报告

实验报告书写要求实验报告原则上要修业新手写,要求书写工整。
若因课程特色需打印的,标题采纳四号黑体,正文采纳小四号宋体,单倍行距。
纸张一律采纳A4的纸张。
实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与解析这四项内容为必要项。
教师可依据学科特色和实验详尽要求增添项目。
填写注意事项(1)认真观察,及时、正确、照实记录。
(2)正确说明,层次清楚。
(3)尽量采纳专用术语来说明事物。
(4)外文、符号、公式要正确,应使用一致规定的名词和符号。
(5)应独立达成实验报告的书写,禁止剽窃、复印,一经发现,以零分论处。
实验报告批阅说明实验报告的批阅要及时、认真、认真,一律用红色笔批阅。
实验报告的批阅成绩采纳五级记分制或百分制,按《金陵科技学院课堂教课实行细则》中作业批阅成绩评定要求履行。
实验报告装订要求实验批阅达成后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序摆列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:C#基础编程实验学时:6同组学生姓名:实验地点:1318实验日期: 10月 5日-10 月 19日实验成绩:批阅教师:批阅时间:实验 1 C# 基础编程一、实验目的1、熟习Visual Studio .NET开发环境。
2、掌握C#应用程序的基本操作过程。
3、掌握C#的数据种类,运算符以及表达式的使用。
4、掌握分支和循环语句的使用方法。
5、掌握一维数组,二维数组及数组型数组的使用。
二、实验要求(1)编写程序要规范、正确,上机调试过程和结果要有记录(2)做完实验后给出本实验的实验报告。
三、实验设备、环境安装有 Visual Studio .NET 软件。
四、实验步骤1、解析题意。
2、依据题目要求,新建项目。
3、编写并输入相关的程序代码。
5、运转与调试项目。
6、保存项目。
五、实验内容1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。
using System;using ;using ;namespace{class Program{static void Main(string[] args){}}}2、编写一个简单的Windows 应用程序,在窗体Load 事件中书写代码,标签中显示你的姓名。
江苏科技大学c++实验报告

江苏科技大学课程实践报告设计题目:计算机程序设计实验(C++)设计时间: 2016年10月3日至2016年10月4日学院:计算机科学与工程学院专业班级:通信工程 41学生姓名:周祯楠学号:指导老师:於跃成一、第三题(一)题目:3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。
具体要求如下:(1)私有数据成员。
○1float array[20]:一维整型数组。
○2int n:数组中元素的个数。
(2)公有成员函数○1MOVE(float b[],int m):构造函数,初始化成员数据。
○2void average():输出平均值,并将数组中的元素按要求重新放置。
○3void print():输出一维数组。
(3)在主程序中用数据{,,3,,,,,,}对该类进行测试。
(二)源程序:#include<>class MOVE{float array[20];int n;public:MOVE(float b[],int m);void average();void print();};MOVE::MOVE(float b[],int m){int i;n=m;for(i=0;i<m;i++)array[i]=b[i];}void MOVE::average(){int i,x;float a = 0;for(i=0;i<n;i++)a+=array[i];a/=n;cout<<"平均值为:"<<a<<endl;要注意:○1this指针指向本身对象的数据成员,避免因数据名相同而造成的混乱。
按题目要求,这一题只能用this指针加以区分。
2.相关算法:○2求阶乘○3求m^n。
i < n即可,因为i = 1时,m=m*m,依此类推,i=n-1 时,算的就是m^n○4这个公式看起来比较繁琐,对应着公式调用相关函数写,不要弄错四、第18题(一)题目:18.试建立一个类VAR,用于求n(n<=100)个数的均方差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏科技大学课程实践报告设计题目:计算机程序设计实验(C++)设计时间: 2016年10月3日至2016年10月4日学院:计算机科学与工程学院专业班级:通信工程 1522107041学生姓名:周祯楠学号:****************:***一、第三题(一)题目:3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。
具体要求如下:(1)私有数据成员。
○1float array[20]:一维整型数组。
○2int n:数组中元素的个数。
(2)公有成员函数○1MOVE(float b[],int m):构造函数,初始化成员数据。
○2void average():输出平均值,并将数组中的元素按要求重新放置。
○3void print():输出一维数组。
(3)在主程序中用数据{1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}对该类进行测试。
(二)源程序:#include<iostream.h>class MOVE{float array[20];int n;public:MOVE(float b[],int m);void average();void print();};MOVE::MOVE(float b[],int m){int i;n=m;for(i=0;i<m;i++)array[i]=b[i];}void MOVE::average(){int i,x;float a = 0;for(i=0;i<n;i++)a+=array[i];a/=n;cout<<"平均值为:"<<a<<endl; //○1float f[20];for(i=0,x=0;i<n;i++)if(array[i]<a){f[x] = array[i];x++;}for(i=0;i<n;i++)if(array[i]>a){f[x] = array[i];x++;} //○2for(i=0;i<n;i++)array[i] = f[i]; //○3}void MOVE::print(){int i;for(i=0;i<n;i++){cout<<array[i]<<'\t';if((i+1)%5==0) cout<<endl; //○4}cout<<endl;}void main(){float b[]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};int m = 9;MOVE ff(b,m);ff.average();ff.print();}(三)运行结果:(四)基本分析:1.就结构而言,定义类以及成员函数按照题目要求写即可,注意类作用域符::不可缺失。
2.就算法而言:○1求数组中的数的平均值,就是先求和,再除总个数。
○2“小于平均值的放左边,大于平均值的放右边。
”先新建一个数组f[20]用于存放排列后的数组,通过if条件判断语句进行排序,这里大于平均值和小于平均值是有先后顺序的,因为是依次放入f[20]中,所以要等小于平均值的放完,再放大于平均值的。
○3再把f[20]赋值给array[20],这样array[20]就是排序后的符合题目要求的新数组。
○4每行5个输出,i的初始值是0,所以if条件判断中应该是if((i+1)%5 == 0),直接用i,无需定义其他变量。
二、第四题(一)题目:4.建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。
具体要求如下:(1)私有数据成员○1int *array:一维整型数组。
○2int n:数组中元素的个数。
(2)公有成员函数○1MOVE(int b[],int m):构造函数,初始化成员数据。
○2void exchange():输出平均值,并将数组中的元素按要求重新放置。
○3void print():输出一维数组。
○4~MOVE():析构函数。
(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。
(二)源程序#include<iostream.h>class MOVE{int *array;int n;public:MOVE(int b[],int m);void exchange();void print();~MOVE();};MOVE::MOVE(int b[],int m){n = m;array = new int[n]; //○1for(int i=0;i<n;i++)array[i] = b[i];}void MOVE::exchange(){float a = 0;int i,*p1,*p2;for(i=0;i<n;i++)a+=array[i];a/=n;cout<<"The average of the number is:"<<a<<endl;p1 = p2 = array; //○3for(i=0;i<n;i++){if(array[i] < *p1) p1 = &array[i];if(array[i] > *p2) p2 = &array[i];} //○4i = *p1;*p1 = *p2;*p2 = i; //○5}void MOVE::print(){for(int i=0;i<n;i++){cout<<array[i]<<'\t';if((i+1)%5==0) cout<<'\n';}}MOVE::~MOVE(){delete []array; //○2}void main(){int b[] = {21,65,43,87,12,84,44,97,32,55},n = 10;MOVE f(b,n);f.exchange();f.print();}(三)运行结果(四)基本分析1.要注意的函数:○1构造函数中:当要用到指针来操作数组时,要通过new运算符动态申请空间。
格式:指针变量 = new 数据类型[数组大小],指针变量保存该空间的首地址○2析构函数:释放new分配的而动态内存,格式:delete []指针变量2.相关算法:○3定义指针变量p1、p2指向数组的首地址,这句话等价于 p1 = p2 =&array[0]; ○4遍历数组,p1指向最小值,p2指向最大值○5交换*p1、*p2的值三、第17题(一)题目:定义一个类SIN。
求sin(x)=x/1-x^3/3!+x^5/5!-x^7/7!+……+(-1)^(n+1)x^(2n+1)/(2n+1)!具体要求如下:(1)私有成员数据。
①double x:输入公式中x的值,求sin(x)。
②int n:输入公式中n的值。
(2)公有成员函数。
①SIN(int x,int n):构造函数,用于初始化x和n的值。
②double power(int q):求q!的值。
③int mi(int m,int n):求m^n的值。
○4fun( ):用于求sin(x)的值。
○5void show( ):输出求得的结果。
(3)在主程序中定义对象test,对该类进行测试。
(二)源程序:#include<iostream.h>class SIN{double x;int n;public:SIN(double x,int n);double power(int q);double mi(int m,int n);double fun();void show();};SIN::SIN(double x,int n){this->x = x;this->n = n; //○1}double SIN::power(int q){for(int m = 1;m < q;m++)q *= m; //○2return q;}double SIN::mi(int m,int n){for(int i = 1;i < n;i++)m *= m; //○3return m;}double SIN::fun(){double sinx = 0;for(int i = 1;i <= n;i++)sinx += mi(-1,i+1)*mi(x,2*i-1)/power(2*i-1); //○4return sinx;}void SIN::show(){cout<<"请输入x:"<<endl;cout<<"sin("<<x<<")="<<fun()<<endl;}void main(){double x,n;cout<<"请输入x和n的值:"<<endl;cin>>x>>n;SIN test(x,n);test.show();}(三)运行结果:(四)基本分析:1.需要注意:○1this指针指向本身对象的数据成员,避免因数据名相同而造成的混乱。
按题目要求,这一题只能用this指针加以区分。
2.相关算法:○2求阶乘○3求m^n。
i < n即可,因为i = 1时,m=m*m,依此类推,i=n-1 时,算的就是m^n○4这个公式看起来比较繁琐,对应着公式调用相关函数写,不要弄错四、第18题(一)题目:18.试建立一个类VAR,用于求n(n<=100)个数的均方差。
均方差的计算公式为,其中平均值为具体要求如下:(1)私有成员数据。
○1double a[100]:用于存放输入的n个数。
○2int n:实际输入数的个数n。
(2)公有成员函数。
○1VAR(double x[], int n1):构造函数,初始化成员数据a和个数n。
○2double average(double x[], int n):求平均值,数组x具有n个元素。
○3void variance(double x[],int n):求均方差,数组x具有n个元素。
○4void show():输出求得的均方差。
(3)在主程序中定义一个对象test,对该类进行测试。
(二)源程序:#include<iostream.h>class VAR{double a[100];int n;public:VAR(double x[],int n1);double average(double x[],int n);void variance(double x[],int n);void show();};VAR::VAR(double x[],int n1){for(int i = 0;i < n1;i++)a[i] = x[i];n = n1;}double VAR::average(double x[],int n){double a = 0;for(int i = 0;i < n;i++)a += x[i];a /=n;return a;}void VAR::variance(double x[],int n){double d = 0; //○1for(int i = 0;i < n;i++)d = (x[i] - average(x,n))*(x[i] - average(x,n));d /= n;cout<<"方差为:"<<d<<'\n';}void VAR::show(){cout<<"平均值为:"<<average(a,n)<<'\n'<<endl;variance(a,n);}void main(){double x[100] = {16,18,25,23,56,14};int n1 = 6;VAR test(x,n1);test.show();}(三)运行结果:(四)基本分析:1.需要注意:○1方差d最好定义成double型2.此题不难,按照题目要求“堆”程序即可,没有复杂的算法,也没有特殊的结构。