ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:111.71KB ,
资源ID:10806125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10806125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计说明书格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计说明书格式.docx

1、课程设计说明书格式 C+程序设计课 程 设 计 说 明 书题目名称:学生学号:120103502062学生姓名:高胜海指导老师:吴建胜2011年3月目录 第一部分第1题第14题 程序代码1. 一数组中已存放了10个有序的整数,现由键盘输入一个整数,将此数插入到该数组中,使数组仍然是有序的。算法提示:假设数组是由小到大的顺序来排列的:1) 先要确定插入的新数x在数组中的位置,即确定m在数组中的下标2) 用x去跟数组中的元素逐个比较,数组中的某个元素满足akm,则k为m的下标3) 将数组从ak开始的所有元素向后面移动一个位置4) 从最后一个元素开始移动,即执行循环:for(m=9;mk;m-) a

2、m+1=am5) 将m插入数组中ak=m#includeusing namespace std;#define N 8void sort(float s) ;void main() int i; float sN+1; for(i=0;isi; sort(s); coutsort scoreendl; for(i=0;iN;i+) coutsi ; int m,x; coutx; for(int k=0;kx) m=k; break; for(k=N;km-1;k-) sk+1=sk; sm=x; for( k=0;k=N;k+) coutsk ;void sort(float s) int

3、i,j,mini; for(i=0;iN-1;i+) mini=i; for(j=i;jN;j+) if(sjsmini) mini=j; if(mini!=i) float t; t=si; si=smini;smini=t; 2. 高输入20个整数存入数组中,输出其中的偶数及偶数之和。函数.#includeusing namespace std;bool oushu(int n);void main() int s20,sum=0; int i; cout input 20 dateendl; for(i=0;isi; if(si%2=0) coutsiendl; sum+=si; cou

4、t 偶数和是:sum;3.用函数实现求result =1+(1+2)+(1+2+3)+(1+2+3+n)的值,n的值由键盘输入。算法提示: 1) 根据题目要求,需要调用函数lj来求1+2+3+n的和2) 把对函数lj的调用放在循环结构中,循环变量i做为实参3) 形参变量x得到i的值,再被调函数中求出每次的累加和4) 循环变量i的取值为(i=1;i=n;i+)5) 将调用函数求得的值累加到l中,即result=result+lj(i).#includeusing namespace std;int lj(int);void main() coutplease enter a numbern; f

5、or(int i=1;i=n;i+) sum+=lj(i); coutthe sum is:sumendl; int lj(int i) int s=0; for(int j=1;j=i;j+) s+=j; return s;4. 输出50100间的所有素数,其中判断一个数是否为素数用函数完成。算法提示: 1) 输出50至100间的素数,所以函数的调用应放在循环中 2) 被调函数ss中,要判断m是否为素数 3) 若是素数,则返回值t1=1,否则t1=0 4) 主函数中若返回值为1,证明是素数,则输出.#includeusing namespace std;int ss(int m);void

6、main() int m; for(m=50;m100;m+) if(ss(m)=1) coutmendl; int ss(int m) int j,t1; for(j=2;jm;j+) if(m%j=0) break; if(m=j) return t1=1; else return t1=0;. 5.有一个一维数组score,内放10个学生成绩,求平均成绩。#includeusing namespace std;int main() double score10, sum = 0; int i; cout 请输入10个成绩:; for (i = 0; i scorei; sum += sc

7、orei; cout 平均成绩为: sum/10.0 endl; return 0;6.写一函数,要求数组作函数的参数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。算法提示: 1) 输入任意的字符串,需要将数组的长度定义的足够大,即char a80 2) 在被调函数中首先求出字符串的长度,可用函数strlen()3)将数组前一半的元素与对应的后一半元素互换,所以循环的条件是(i=0;in/2;i+)4)将元素bi与 bn-i互换,#includeusing namespace std;void jh(char *a) int n, i; char t; n = strlen(a)

8、; for (i = 0; i n/2; i+) t = ai; ai = an-i-1; an-i-1 = t; int main() char a80; int i, n; cout a; n = strlen(a); jh(a); for(i=0;in;i+) cout a i; cout endl; return 0;7.由键盘输入10个数,找出它们的最大值、最小值并求出平均值。(要求用指针实现).#includeusing namespace std;void main() int s10,i,j; coutinput 10 dateendl; for(i=0;isi; for(i=

9、0;i10;i+) coutsiendl; int maxi=0,minj=0;double sum=0; for(i=0;ismaxi) maxi=i; cout最大值是:smaxiendl; for(j=0;j10;j+) if(sjsminj) minj=j; cout最小值:sminjendl; for(i=0;i10;i+) sum+=si; sum=sum/10.0; cout平均分是:sum; 8.编写函数f(char *s1,char *s2),将字符串s2连接到字符串s1的后面。算法提示:将s2中的字符依次存到从s1的0开始的位置。要求s1必须要有足够的空间放下s2中的所有字

10、符。#includeusing namespace std;int main() char *p, *q; char a20, b20; int i; cout a; cout b; p = a; for (p = a; *p != 0; p+); q = b; while (*q != 0) *p =*q; p+; q+; *p = 0; cout a endl; return 0;9.构建一个类score,其中用私有数据成员number表示学号,computer、english、average分别表示计算机成绩、英语成绩和平均分数。公有成员函数inscore()用于输入学号和各科成绩,以及

11、计算平均分数;成员函数showscore() 用来输出成绩。要求:在主程序定义stu1为score类的对象,stu2为指向score类对象的指针,由它们分别调用成员函数inscore()和showscore()来实现输入、计算和输出功能。.#includeusing namespace std;class score int number; double english,computer,average;public: void inscore(); void showscore(); ;void score:inscore() cout请输入学号:number; cout请输入计算机成绩:c

12、omputer; cout请输入英语成绩:english; average=(computer+english)/2.00;void score:showscore() cout计算机成绩:computerendl; cout英语成绩:englishendl; cout平均成绩:averageinscore(); stu2-showscore();10.设计一个学生成绩管理系统,能输入学生的学号、姓名和成绩等数据,能按成绩从高到低进行排序,并能将排序的结果输出。提示:(1) 设计一个学生类student,包含三个私有数据成员,即学号sno、姓名sname和成员score(2) 在学生类stud

13、ent中再设计三个公有成员函数 setdata、display和getscore,分别用于完成输入学生信息、输出学生信息、返回某个学生成绩的功能(3) 定义一个manage类,它有一个student类型的私有数据成员snum,其中num表示学生人数(4) 在manage类中分别定义三个公有成员函数input、output、sort,分别用于完成输入、输出和排序功能。.#includeusing namespace std;class student int sno; char sname20; double score;public: student(); virtual student();

14、 void setdata(); void display(); double getscore();void student:setdata() cout 请输入: endl; cout sno; cout sname; cout score;void student:display() cout 学号: sno ; cout 姓名: sname ; cout 成绩: score endl;double student:getscore() return score; student s5;void input(int x) sx.setdata();void sort() int i, j

15、, max; student tmp; for (i = 0; i 5-1; i+) max = i; for (j = i; j smax.getscore() max = j; if (max != i) tmp = si; si = smax; smax = tmp; void output() int i; for (i = 0; i 5; i+) si.display(); int main() int i; for (i = 0; i 5; i+) input(i); sort(); output(); return 0;11.设计一个图书借阅管理系统。每本书有书号、书名和作者姓名

16、属性,读者有借书证号、读者姓名和每位读者最多能够借阅的图书数量属性。(要求使用类的继承和派生知识点实现)提示:由于图书和读者都具有编号和名称两个属性,所以可以定义一个能够对编号和名称进行管理的类object,然后在object类的基础上派生出图书类book和读者类reader。#include using namespace std;class object protected: char number20, name20;public: object(); virtual object();class book : public object char author20;public: bo

17、ok(); virtual book(); void addbook();void book:addbook() cout # endl; cout number; cout name; cout author; cout # endl;class reader : public object int maxbook;public: reader(); virtual reader(); void addreader();void reader:addreader() cout # endl; cout number; cout name; cout maxbook; cout # endl;

18、int main() book bk1; reader rd1; bk1.addbook(); rd1.addreader(); return 0;12.定义一个抽象类Shape,在其中说明一个纯虚函数area()作为一个接口,用来计算圆形、三角形、正方形和长方形的面积。要求由抽象类派生出圆形、三角形、正方形和长方形4个派生类。在各派生类中分别实现求各个图形的面积。.#include #include using namespace std;class shapeprotected: double a, b, c, r, s;public: virtual void set_ab() = 0;

19、 virtual void set_a() = 0; virtual void set_r() = 0; void display() cout 面积为: s endl; ;class circle : public shapepublic: void set_ab(); void set_a(); void set_r() cout r; s = 3.14*r*r; ;class box : public shape void set_ab(); void set_r(); void set_a() cout a; s = a*a; ;class hbox : public shape vo

20、id set_r(); void set_a(); void set_ab() cout a b; s = a*b; ;class triangle : public shape void set_r(); void set_a(); void set_ab() cout a b; s = a*b/2.0; ;void doit(shape *p) p - set_r(); p - set_a(); p - set_ab(); p - display();int main() shape *p = new circle; doit(p); delete p; p = new box; doit

21、(p); delete p; p = new hbox; doit(p); delete p; p = new triangle; doit(p); delete p; return 0;13.用函数模板的方式设计可以对某种数据类型的数组中的数据用选择法进行从大到小排序,然后用整型数据和字符型数据进行验证。#include #include using namespace std;int s20 = 3,6,1,3,8,0,2,5, i = 8;char t20;template void sort(T *x,int n) int i, j, max; T tmp; for (i = 0; i

22、 n-1; i+) max = i; for (j = i; j xmax) max = j; if (max != i) tmp = xi; xi = xmax; xmax = tmp; int main() cout 请输入一个数字串:; for (int j = 0; j 8; j+) cout sj ; cout endl; cout t; sort(s,i); for (j = 0; j 8; j+) cout sj ; cout endl; sort(t,strlen(t); cout t endl; return 0;14.编写一个程序,统计data.txt文件的行数,并将所有行

23、前加上行号后写到data1.txt文件中。算法提示:行与行之间以回车符分隔,而getline()函数以回车符作为终止符。因此,可以采用getline()函数读取每一行,再用一个变量i计算行数。#include #include #include using namespace std;int main() ifstream file1; file1.open(data.txt); ofstream file2; file2.open(data1.txt); int num = 0; string line; while (getline(file1,line) num+; file2 num line endl; cout

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1