c++实训报告模板(1).doc_第1页
c++实训报告模板(1).doc_第2页
c++实训报告模板(1).doc_第3页
c++实训报告模板(1).doc_第4页
c++实训报告模板(1).doc_第5页
已阅读5页,还剩175页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安交大城市学院计算机系实训报告课 程 名 称: C/C+基础编程实训 课 程 代 码: 实 训 题 目: 学生寝室管理系统 年级/专业/班: 2012级计算机 学 生 姓 名: 学 号: 实训成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5) 报告(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日实训时间4.12-5.2地点6A418实训学时6实训 目的 提高编程能力提高合作协调能力掌握c+面向过程实验方法实训内容 某学校要对学生寝室进行自动化管理。学生寝室信息括寝室编号、宿舍名称、应居住人数、实际居住人数、所属年级、班号、电费、水费、室长、班主任等信息。要求编程程序实现如下功能:1)数据录入:按上面录入学生寝室信息; 2)查询:输入寝室编号或班号或室长或班主任,分别查找进行查找,输出找到的所有寝室信息;3)修改操作:输入寝室编号,修改相应的寝室信息(如修改室长等信息);4)删除:删除指定寝室的记录信息;5)浏览:能查看所有寝室信息要求以每个功能以函数实现,以菜单的形式显示各功能,从菜单中选择相应的编号后执行相应的功能。实训分工安排本程序由两人共同完成其中高原主要负责录入函数,修改函数,浏览函数的编写,以及汇总后的测试工作;吴超主要负责头文件,查询函数,删除函数,主函数的编写,以及汇总后的更改工作;实训要求 两人合作完成通一项目分工合作后汇总进行统一测试与更正使用面向过程的实验方法使用实训室及 主要设施设备 6A418联想商用电脑D2527联想Y460实 训 成 果 及 明1 完成了此次实训内容2 完成了实验报告3 提高了自己的合作能力以及编程能力引 言 1 需求分析 本程序是针对学生寝室信息自动化管理而设计,能够对学生的寝室信息(包括寝室编号、宿舍名称、应居住人数、实际居住人数、所属年级、班号、电费、水费、室长、班主任等)进行方便的自动化管理。它应实现的功能有:1. 数据录入功能:能够通过计算机录入学生寝室信息,并进行储存;2. 信息查询功能:进入此系统能够清晰地查询使用者需要的学生寝室信息,能够根据寝室编号、班号、室长或班主任分别进行查找,并在查询成功后输出所有的寝室信息;3. 信息修改功能,为了防止录入数据时的失误带来的错误信息,本系统应能修改错误的信息,根据错误修改指定的信息,而不必全部重新输入;4. 信息删除功能:由于失误或是学生转学等原因需要删除学生信息,则要求本系统能够根据要删除的寝室信息进行特定删除,而不影响其他寝室信息;5. 信息浏览功能:为了方便使用者查看所有学生寝室信息,此系统应能根据需要输出所有学生信息;6. 可维护性:为了适应将来更新的需求,本系统应能有良好的可维护性;实验一:使用Visual C+ 6.0集成环境来编辑、编译并运行下面简单C+程序: 1:程序: #includevoid main()coutThis is C+ programn;2:程序#includeint max(int, int);void main()int a,b,c;coutab;c=max(a,b);coutmax=cy)z=x;elsez=y;return (z);实验二:1:创建一个基于DOS的应用程序,并观察,记录运行结果 该项目中只包含一个源程序文件,其代码如下: 程序:#include#includevoid main()double amount=45.0/13;coutamountendl;coutsetprecision(0)amountendl;coutsetprecision(1)amountendl;coutsetprecision(2)amountendl;coutsetprecision(3)amountendl;coutsetprecision(4)amountendl;coutsetiosflags(ios:fixed); /设置小数点后的精度 coutsetprecision(8)amountendl; coutsetiosflags(ios:scientific)amountendl ; coutsetprecision(6)amountendl;结果:2:编写程序求圆的周长和面积,从键盘上输入圆的半径,根据公式计算出圆的周长和面积,最后输出结果。要求输入输出时有必要的文字说明,且输出保留六位小数。 程序:#include#include#define PI 3.1415926void main()double r,S,L;coutr;L=2* PI*r;S= PI*r*r;coutsetiosflags(ios:fixed);cout圆的周长为:;coutsetprecision(6)Sendl;cout圆的面积为:;coutsetprecision(6)Lendl;3:输入学生的语文、数学、物理、英语4门课程的成绩,计算学生的总成绩和平均成绩并输出。程序#includevoid main() float Chinese,math,physics,English,average,sum; coutChinese; coutmath; coutEnglish; coutphysics; sum=Chinese+English+physics+math; average=(Chinese+English+physics+math)/4; cout平均成绩:averageendl; cout总成绩: sumendl;4:编程用条件运算符表达式求出三个数的最大值。程序#includevoid main()float a,b,c,max;coutabc;if(ab) max=a;elsemax=b;if(maxc)max=c;cout”最大数是:”maxendl;结果:实验三:1:有四个整数a,b,c,d,由键盘输入,输出其中最大的数及最小数,进一步考虑将这四个数按降序方式输出.程序#includevoid main()float a,b,c,d,max,min;float down4;cout输入四个数:abcd; if(ba) max=b; min=a;elsemax=a; min=b; if(cmax) max=c; if(dmax) max=d; if(cmin) min=c; if(db) down0=a; down1=b; else down0=b; down1=a; if(cdown0) down2=down1; down1=down0; down0=c; else if(cdown1) down1=c; down2=b; else down2=c; if(ddown0) down3=down2; down2=down1; down1=down0; down0=d; else if(ddown1) down3=down2; down2=down1; down1=d; else if(ddown2) down3=down2; down2=d; else down3=d;cout最大值为:maxendl;cout最小值为:minendl;cout这四个数的降序为:endl;for(int i=0;i4;i+)coutdowniendl;结果:2:给出一组百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8090分为B,7080为C,6070分为D,60分以下为E。程序#includevoid main()int a;toll:couta;if(a100)|(a0)cout输入错误endl;goto toll;cout90)cout80)&(a90)cout70)&(a80)cout60)&(a70)coutD;if(a60)coutE;coutendl;结果:3: 给出一个整数a,要求:求出它是几位数;分别打印出每一位数字;按逆序方式打印出各位数字,例如原来数字为567,应该输出765。程序:#include#includeusing namespace std;void main()int a;int b=0;couta;while(a!=0) couta%10endl; a=a/10; b+; cout整数长:bendl;4:有如下函数: t2 0t1 t2-1 1=t2 s= t2-2t+1 2=t3 t2+4t-17 3=t4 由键盘输入t的值,计算S的值。程序#includevoid main()float t,S;coutt;if(t0)&(t=1)&(t=2)&(t=3)&(t4)S=t*t+4*t-17; coutS的值为:Sendl;5.从键盘输入4个数,以小写输出,不是的话给出提示信息。#includevoid main() char a,c,b,d;coutabcd;if(a0x60)&(a0x80)coutaendl;elsecouta不是小写字母。0x60)&(b0x80)coutbendl;elsecoutb不是小写字母。0x60)&(c0x80)coutcendl;elsecoutc不是小写字母。0x60)&(d0x80)coutdendl;elsecoutd不是小写字母。endl;实验四:1.读程序,写结果(1):#include void main() int a=1,2,3,4,i,j=1,s=0; for(i=3;i=0;i-) s+=ai*j; j*=10; couts=sendl; 结果:(2): #include #include void main() int i,j,a34=1,2,3,4,5,6,7,8,9,10,11,12,b43; for(i=0;i3;i+) for(j=0;j4;j+) bji=aij; for(i=0;i4;i+) for(j=0;j3;j+) coutbij; coutendl; 结果:2:把长度为5的整数数组逆序。程序: #include #include void main() int a5; int i,temp; coutplease input the array:endl; for(i=0;iai; for(i=0;i2;i+) temp=ai; ai=a5-i-1 ; a5-i-1=temp ; coutthe sorted array is:endl; for(i=0;i5;i+) coutai; coutendl; 结果:3.已有一个升序排列的数组,插入一个数number使他还是升序排列。#includevoid main()int a10=1,2,3,4,5,6,7,8,9,10; int number;int i;cout被插入的数组为:;for(i=0;i9;i+)coutai;cout,;coutendl;coutnumber;for(i=0;i9;i+)if(number=i;j-)aj+1=aj;aj+1=number;break;else a9=number;cout修改后的数组为:;for(i=0;i10;i+)coutai;cout,;结果:4:分别用冒泡和选择排序输入的15个整数由大到小排列选择排序:#includevoid selectsort(int R,int n)int i,j,k;int tmp;for(i=0;in-1;i+)k=i;for(j=i+1;jRk)k=j;tmp=Ri;Ri=Rk;Rk=tmp;void main() int R15;/int A15=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int i,n=15;cout输入15个数:endl;for(i=0;iRi;selectsort(R,n);for(i=0;in;i+)coutRi;cout,;coutendl;结果:冒泡排序:#includevoid bubblesort(int R,int n)int i,j,exchange;int tmp;for(i=0;ii;j-) if(RjRj-1)tmp=Rj;Rj=Rj-1;Rj-1=tmp;exchange=1;if(exchange=0)return ;void main()int R15;int i,n=15;cout输入15个数:endl;for(i=0;iRi;bubblesort(R,n);for(i=0;i15;i+)coutRi;cout,;coutendl;结果:5:实现矩阵的加法:程序:#includevoid main()int A33=5,7,8,2,-2,4,1,1,1;int B33=4,-2,3,3,9,4,8,-1,2;int C33;coutA矩阵为:endl;for(int i=0;i3;i+)for(int j=0;j3;j+) cout ;coutAij; coutendl;coutB矩阵为:endl;for(i=0;i3;i+)for(int j=0;j3;j+) cout ;coutBij; coutendl;for(i=0;i3;i+)for(int j=0;j3;j+)Cij=Aij+Bij;coutA + B 为:endl;for(i=0;i3;i+)for(int j=0;j3;j+) cout ;coutCij; coutendl;结果:实验五:1:调用函数实现一求圆柱的体积和面积,求长方体的体积。#include#define pai 3.1415926void yuanzhu_S(double h,double r)double S;S=pai*r*r*2+2*pai*r*h;cout这个圆柱体的面积为:Sendl;void yuanzhu_V(double h,double r) double V; V=pai*r*r*h; cout这个圆柱体的体积为:Vendl;void changfang_V(double a,double b,double h)double V;V=a*b*h;cout这个长方体的体积为:Vendl;void main() double a,b,h1,r,h2;cout输入长方体的长宽高:abh1;cout输入圆柱体的高和半径h2r;yuanzhu_S(h2,r);yuanzhu_V(h2,r);changfang_V(a,b,h1);结果:2:编写一个函数 求a*x*x+b*x+c=0的根,用三个函数分别求出b*b-4ac大于0,小于0,等于0的根。要求从主函数输入a,b,c的值并显示结果。程序:#include#includeint flag=0;void gengshu(float ,float ,float);void qiugen(float a,float b,float c)float x1,x2;gengshu(a,b,c);if(a=0)x1=x2=-(c/b);if(flag=1)x1=(-b+sqrt(b*b-4*a*c)/2*a; x2=(-b-sqrt(b*b-4*a*c)/2*a; cout这个函数的解为 :x1=x1 x2=x2endl;if(flag=2)x1=(-b+sqrt(b*b-4*a*c)/2*a; cout这个函数的解为 :x=x10)flag=1;cout他有2根endl;if(s=0)flag=2;cout他有1个根endl;if(s0)flag=3;cout他没有根abc;qiugen(a,b,c);结果:3:写入10个数,用冒泡法由大到小排序;#includevoid bubblesort(int R,int n)int i,j,exchange;int tmp;for(i=0;ii;j-) if(RjRj-1)tmp=Rj;Rj=Rj-1;Rj-1=tmp;exchange=1;if(exchange=0)return ;void main()int R10;int i,n=10;cout输入10个数:endl;for(i=0;iRi;bubblesort(R,n);for(i=0;i10;i+)coutRi;cout,;coutendl;结果:4:求由实参传来的字符串变量的空格、字母、数字、其他字符的个数。程序#include#includeusing namespace std;void panduan(string a)int n;int zimu=0,kongge=0,shuzi=0,other=0;n=a.length();for(int i=0;i=a)&(a.at(i)=A)&(a.at(i)=0)&(a.at(i)=9) shuzi+; else if(a.at(i)= ) kongge+; else other+;cout字母的个数:zimuendl;cout空格的个数:konggeendl;cout数字的个数:shuziendl;cout其他字符的个数:otherendl;void main()string a = dwadwad dwad1312 d123DSADA ASDSA ;panduan(a);结果:5:写一个函数,使二维数组转置。程序:int R33;for(int i=0;i3;i+)for(int j=0;jRij;cout输入的数组为:endl;for(i;i3;i+)for(int j;j3;j+)coutRij; coutendl;结果:实验六:2.用函数sevstring()函数实现字符串的逆序。程序:#include#includeusing namespace std;void revstring(string);void main() string a=abcde; revstring(a);void revstring(string a)int n;char tmp;n=a.length();for(int i=0;i(n/2);i+)tmp=a.at(i);a.at(i)=a.at(n-i-1);a.at(n-1-i)=tmp;coutaendl;结果:3:用牛顿迭代法求根。方程ax3+bx2+cx+d=0,系数a,b,c,d的值依次为1,2,3,4,由主函数输入,求x在1附近的一个实根,求出根后由主函数输出。程序:#include#includeusing namespace std;float f(float x);float fd(float x);void main()float x=50; while(x2)x=x-f(x)/fd(x);coutxendl; float f(float x) return x*x*x+2*x*x+3*x+4; float fd(float x)return 3*x*x+6*x+3;4:用递归算法求N阶勒让多项式的值。程序:#includefloat p(float x,int n);void main() float x,y; int n; coutx; coutn; y=p(x,n); couty=yendl;float p(float x,int n)float y;if(n=1) return 1;elseif(n=2)return x;elsey=(2*n-1)*x-p(x,n-1)-(n-1)*p(x,n-2)/n;return y;结果:5:编写一个Fibonacci数列。程序:#includefloat f(int n);void main() int n;float f1;cinn;cout此数列为:; f1=f(n);coutf1endl;float f(int n) float f2; if(n1) return 0; if(n=1) return 1; if(n=2) return 1; f2=f(n-1)+f(n-2); return f2; 结果:实验七:1:(1)把两个字符串连接起来: #include void main() static char str150,str210; int i,j; coutplease input the str1 and str2:; cin.getline(str1,50); cin.getline(str2,10); for(i=0; str1i!=0;i+); for(j=0;str2j!=0;i+,j+) str1i=str2j; str1i=0; coutstr1endl; 结果:(2):找出两个字符串中不同的字符。程序:#include void main() char *p=ABCDEFGH,*q=abCDefGh; for(;(*p)!=0;p+,q+) if(*p)!=(*q) cout*p; coutendl; 结果:2:编写一个比较两个字符串大小的程序。程序:#includevoid string()char *p=abcde,*q=abcdg;for(;*p!=0;p+,q+)if(*p!=*q)if(*p*q)cout字符串p大endl;if(*p*q) cout字符串q大endl;elseif(*(p+1)=0)cout一样大endl;void shuzu()char str110=abcde,str210=abcdg;for(int i=0;istr2i) cout字符串str1大endl;break; if(str1istr2i)cout字符串str2大endl;break;if(str1i=str2i)&(i=9) cout一样大endl;void main() string();/shuzu();结果:3:统计输入的一行字符中有几个单词。程序:#include#includeusing namespace std;void dancishu(string a);void main()string a=dsada dsadsa dsadsa dsa; dancishu(a);void dancishu(string a) int n; int dancishu=1; n=a.length(); cout这个字符串是:; coutaendl; for(int i=0;in;i+) if(a.at(i)= ) dancishu+; cout这个字符串有dancishu个单词endl;结果:4:输入三个字符串,要求输出其中最大者。要求使用二维字符数组及字符串函数。程序:#include#includeusing namespace std;void main()string a,b,c,max;cinabc;if(ab)max=a;else max=b;if(cmax)max=c;coutmaxendl;5:对10个字符型数据从大到小排序。程序:#includevoid main()char *p,*q;char tmp;char str111=abcdefgh;p=str1;q=str1;for(int i=0;i*q) tmp=*p; *p=*q; *q=tmp; q+; p=q;coutstr1;结果:实验八:1:用二维指针求一个二维数组所有元素的和。程序:#includevoid main()int a33=1,2,3,4,5,6,7,8,9;int *p,n=0;p=a0; for(int i=0;i3*3;i+,p+) / cout*pendl;n=n+(*p);coutnendl;结果:2:将若干个字符串按字母顺序(由大到小)输出(要求应用指针数组。程序:#include#includeusing namespace std;#define N 10void main() string aN,tmp; for(int i=0;iai; for(i=0;iN-1;i+) for(int j=i+1;jN;j+) if(aiaj) tmp=ai; ai=aj; aj=tmp; for(i=0;iN;i+)coutaiendl;3. 编写一个求定积分的通用函数(通过函数指针来实现),分别求: 程序:#include#includeusing namespace std;float dingjifen(fl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论