《C++程序设计课程设计说明书 .doc》由会员分享,可在线阅读,更多相关《C++程序设计课程设计说明书 .doc(27页珍藏版)》请在三一办公上搜索。
1、C+程序设计课 程 设 计 说 明 书题目名称:学生学号:学生姓名:指导老师:2011年3月目 录第一部分 基础程序1一、程序代码1二、运行结果及分析16第二部分 综合问题20一、需求分析20二、设计21三、编码与调试22四、结果分析23五、参考资料24六、总结25第一部分 基础程序一、 程序代码(1) #include using namespace std;const int max=100;void main()int smax,i,x,q,n=10; cout输入个有序数列endl;for(i=0;isi;cout数列为: ;for(i=0;in;i+)coutsi ; coutx;f
2、or(i=0;in;i+) if(x=q;i-) si+1=si; sq=x; cout输出n个有序数列为; for(i=0;in;i+) coutsi ; (2) #include using namespace std;const int max=100;void main()int smax,i;int sum=0; cout输入个数endl; for(i=0;isi;cout数列为: ;for(i=0;i20;i+)coutsi; for(i=0;i20;i+)if(si%2=0)coutsi ; sum=si+sum; cout和为sum; (3) #include using na
3、mespace std;int lj(int i);void main () int result=0,n,i; cout1+(1+2)+(1+2+3)+(1+2+.+n);cout 输入n:n;for(i=1;i=n;i+)result=lj(i)+result;cout和为resultendl;int lj(int i) int sum=0,a;for(a=1;a=i;a+) sum=sum+a;return sum; (4) #include using namespace std;double ss(int n);void main ()int i;cout50-100的素数有:; f
4、or(i=50;i=100;i+)if(ss(i) couti ;double ss(int n)int i;for(i=2;in;i+)if(n%i=0)break;if(i=n)return 1;else return 0;(5) #include using namespace std;const int max=100;double aveage(int s);void main()int smax,i;double ave; coutenter 10 students score;for(i=0;isi;ave=aveage(s);cout ave is:aveendl;double
5、 aveage(int s)int ave=0,i;for(i=0;i10;i+)ave=ave+si;return double (ave)/10;(6) #include using namespace std;double leg(char str);void main () char str81; cout str; leg(str); coutstr;double leg(char str) int n,i,temp;n=strlen(str);for(i=0;in/2;i+) temp=stri; stri=strn-1-i; strn-1-i=temp;return *str;(
6、7)#include using namespace std;const int max=100;void main ()int n=10; int*p,smax,*max,*min;int sum=0;double ave;coutenter n numbers;for(p=s;p*p;coutnumber is: ;for(p=s;ps+n;p+)cout*p ;coutendl;max=s;min=s; for(p=s;p*max)max=p; for(p=s;ps+n;p+)if(*p*min)min=p; coutmax is *maxendl;coutmin is *minendl
7、; for(p=s;ps+n;p+)sum+=*p; ave=(1.0*sum)/n;coutaveage is aveendl;(8) #include using namespace std;const int max=100;void main() char str181,str281; char *p,*q; cout enter a stringstr1; coutenter another stringstr2; for(p=str1;*p!=0;p+); for(q=str2;*p=*q;p+,q+); coutstr1endl;(9) #include using namesp
8、ace std;class scoreprivate:int number; int computer;int English; double average;public: void inscore(double xx,double yy ,double zz); void showscore();void score:inscore(double xx,double yy,double zz)number=xx; computer=yy;English=zz;average=(English+computer)/2.0;void score:showscore()coutnumber co
9、mputer Englishendl;coutnumber computer Englishendl;coutaverage is : averageendl;void main()int x,y,z;int x1,y1,z1; score stu1,stu2,*p=&stu2;coutenter number and computer score .English scorexyz;coutenter another number and computer score .English scorex1y1z1; stu1.inscore(x,y,z);stu1.showscore(); st
10、u2.inscore(x1,y1,z1);p-showscore(); (10) #includeusing namespace std;class studentint num; char sname50; double score;public:void setdata();void display();double getscore()return score;void student:setdata()coutenter students number:num;coutenter students name:sname;coutenter the score:score;void st
11、udent:display()coutnumber name score endl;coutnum sname scoreendl;class manageint i,num;student s80;public: void input(int n); void sort(); void output();void manage:input(int n)num=n;for(i=0;inum;i+) si.setdata();void manage:sort() student temp; int pos,j;for(i=0;inum;i+)pos=i;for( j=i;jspos.getsco
12、re()pos=j;if(pos!=j)temp=spos;spos=si;si=temp;void manage: output()sort();for(i=0;inum;i+)si.display();void main()int n;manage M;couthow many students do you want to enter:n;M.input(n);M.output(); (11) #include#includeusing namespace std;class objectpublic:char name50;int number;class book:public ob
13、jectprivate:char autour50;public:void set(); void display();void book:set()cout书名:name;cout作者:autour;void book:display()cout书名: ;coutnameendl;cout作者: ;coutautourendl;cout书号: ; coutnumberendl;class reader:public objectprivate:int max;public:void set(); void display();void reader:set()cout读者姓名:name; c
14、out最多借书数量:max;void reader:display() cout读者姓名: ; coutnameendl; cout借书证号: ; coutnumberendl; cout最多借书数量: ; coutmaxendl;void main()book p;reader q;coutp.number;p.set();p.display();coutq.number;q.set();q.display();(12)#include#includeusing namespace std;const double PI=3.14;class shapepublic:virtual doub
15、le area()=0;class square:public shapepublic:square(int m);double area();private:int n;square:square(int m)n=m;double square:area()return n*n;class circle:public shapepublic:circle(double r);double area() ;private:double radius;circle:circle(double r)radius=r;double circle:area() return PI*radius*rad
16、ius;class Chang:public shapepublic:Chang (int a,int b);double area();private:int x;int y;Chang:Chang(int a,int b)x=a;y=b;double Chang:area()return x*y;class Triangle:public shapepublic:Triangle(double x,double y,double z) ;double area();private:double a;double b;double c;Triangle:Triangle(double x,d
17、ouble y,double z)a=x;b=y;c=z;double Triangle:area()double m,s;m=(a+b+c)/2;s=sqrt(m*(m-a)*(m-b)*(m-c);return s;void main() int a,b,c,d,e,f,g; cout a; shape *s=new square(a); cout正方形面积:area()endl;delete s; cout b; shape *p=new circle(b);cout圆面积:area()endl; delete p; cout cd;shape *C=new C24hang(c,d);c
18、out长方形面积:area()endl; delete C; cout efg;shape *T=new Triangle(e,f,g);cout三角形面积:area()endl;delete T;(13) #includeconst int maxsize=100;templatevoid sort(T s,int n);void main()int i,n;int smaxsize;char m20;coutn;coutenter n numbersn;for(i=0;isi;sort(s,n);coutsorted numbers:endl;for(i=0;in;i+)coutsi ;c
19、outendl;coutn;coutenter n string:n;for(i=0;imi; sort(m,n);coutsorted char:endl;for(i=0;in;i+)coutmi ; coutendl;templatevoid sort(T s,int n)int i,j,pos;for(i=0;in-1;i+)pos=i;for(j=i;jspos)pos=j;if(pos!=i)T t; t=si;si=spos;spos=t;(14) #include#includeusing namespace std;void main()char str100;int i=0;
20、ifstream data(data.txt,ios:in);ofstream data1(data1.txt,ios:out);if(!data)cerrcannor open file!endl;abort();while(!data.eof()data.getline(str,100);data1+itstrendl;coutstrendl;data.close();data1.close();cout共ishowscore();”结果:enter number and computer score .English score1 99 100enter another number a
21、nd computer score .English score2 78 98number computer English1 99 100average is : 99.5number computer English2 78 98average is : 88Press any key to continue第十题:分析:enter number and computer score .English score1 99 100enter another number and computer score .English score2 78 98number computer Engli
22、sh1 99 100average is : 99.5number computer English2 78 98average is : 88Press any key to continue第十一题:分析:输入书号:1书名:sheeeeee作者:cong书名: sheeeeee作者: cong书号: 1输入借书证号:2008读者姓名:bin最多借书数量:5读者姓名: bin借书证号: 2008最多借书数量: 5Press any key to continue第十二题:分析:输入正方形边长 2正方形面积:4 输入 圆半径 2圆面积:12.56 输入 长, 宽 2 3长方形面积:6 输入三条
23、边 3 4 5三角形面积:6Press any key to continue第十三题:分析:enter a numbers:2enter 2 numbers1223sorted numbers:23 12enter a numbes:2enter 2 string:d gsorted char:g dPress any key to continue第十四题:分析:要新建 data。Txt文件夹congbin共 2 行Press any key to continue第二部分 综合问题一、需求分析需求分析即问题的描述,根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,限制条件是什
24、么。在确定解决方案框架过程中,综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定系统的功能模块以及模块之间的调用关系。 二、设计分析对问题描述中涉及的操作对象定义相应的类,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,定义相应的存储结构并写出伪码算法。抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。确定每一个模块的算法流程,画出流程图。把详细设计的结果进一步求精为程序设计语言程序,同时加入一些注解,使程序中逻辑概念清
25、楚;三、编码与调试采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;根据系统功能选择有代表性的数据进行测试,发现系统存在的不足并逐步改进。注意:此部分不需要粘贴所有程序代码,对于程序主要运行界面需要粘贴(如:主界面、查询界面等)。四、结果分析程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果,并加以文字分析。五、参考资料所查阅的书籍或资料按下列例子中的格式书写:1王国荣编Active Server Page &Web数据库人民邮电出版社2阮家栋等编WEB数据库技术科学出版社2002.33贺利坚等编数据库技术及应用北京希望电子出版社2002.74魏应彬等网页设计与WEB数据库发布技术清华大学出版社2001.15张文增, 孙振国, 赵冬斌等基于Web数据库的子集合查询技术计算机应用2002 Vol.22 No.1六、总结1经验2存在的问题及进一步改进
链接地址:https://www.31ppt.com/p-2384482.html