中南大学 课程设计实践报告

中南大学

本科生课程设计(实践)任务书、设计报告

(大学计算机基础)

题 目 理想世界

学生姓名 李杰

指导教师 邵自然

学 院 湘雅医学院

临床医学与医学技术

专业班级 1105班

学生学号 2211110512

计算机基础教学实验中心

年 月 日

1

课程设计实践报告

理想世界 李杰

我选的主题是理想世界,我的思想是从图片来展现理想世界的样子,用图片表达我想说的内容。

设计的步骤:从以上两个方面入手,目录作为主页,主页内容是理想世界中frontpage的一些介绍,并且引入一些优美的图片,再一个个的建立超链接。在引入一些解决手段,创建连接理想世界。在理想世界这个链接中从图片来展现理想世界的样子,用图片表达我想说的内容。,也可以用一些flash动画,还可以使用word链接一些图片。在理想世界这个链接中,也可使用word链接一些先驱的行动,与我们自己的所处的世界对比,ppt制作幻灯片来演示一些有效提示,让我的理想世界最好的展现给大家。

采取的方法与手段:用Frontpage制作网页,通过链接使word文档、Powerpoint幻灯片、Flash动画得以展示。在网页制作中,可以通过添加图片来使页面更加美丽,在word文档中可以展示艺术字、建立文本。通过powerpoint可以把某些保护环境的行动展示。Flash动画是以链接的方法来参与展示。在需要一些资料的时候,可在网络上寻找,由于不是文件,这时就可以通过复制粘贴操作来获取资料。

遇到的问题:(1).在网页制作中,刚开始的时候连网页的表格布

局都弄不出来,不知道该如何制作,从哪些方面入手。解决方法:先看了几遍课本,然后跟着课本的步骤上机实践,但是发现制作过程还是太慢,而且不熟悉frontpage网页制作工具,因此,开始几次的实践都是在慢慢熟悉该工具。直到熟悉该工具后才开始去制作。在word文档制作中,因为以前在中学的时候用过该工具,现在还有一些印象,所以经过一系列重温操作后,word文档的制作就熟悉了。在Powerpoint幻灯片制作中,因为是第一次接触和使用,许多功能和手段都不知道,较难制作出符合人意的幻灯片。通过多次实验操作来了解和熟悉它,然后就可以使用了。(2)在flash动画制作过程中,虽然老师上课讲过制作过程,但还是遇到了难题:制作的动画中,元件不随引导层而动,而是在关键帧之间走直线,这 2

个问题导致了我做不出动画,我只好一次次的尝试去做,最后成功做出来。有时还有一些小技巧,都是从同学手中问过来的。在设置背景图片时,会发现图片太小的话,背景就会变成多张重复的图片拼在一起,后来经过向同学询问后,使用图片编辑器对背景大小做了调整,使得背景和网页内容能够很好地融合在一起。二,网页制作好后浏览时图片显示不出来,改文件名或者换了文件夹储存都会导致图片无法显示,后来经过询问学习之后,才知道原因即任何图片的显示都是依靠路径来寻找来源,要设成相对路径有利于在其他机子上打开。在设置主题之前插好图片。三,刚开始做PPT时,不知道怎么插进去背景音乐和让它连续播放,后来经过多次实践后,发现可以在效果中设置这些。四,刚开始不会弄超链接,然后经过向同学询问后才明白,在选定对象之后点击右键,超链接,再选中连接的对象就可以了

总结:首先我们应该学会独立思考和自我解决问题的能力,因为实践和理论毕竟不同,在实践中会遇到一些我们不了解的东西,这时候应该先自己摸索,实在不行就去向同学和老师询问,一定要仔细阅读课本,巩固理论知识。否则很盲目,自信心也会受到打击2,做计算机作业有时候也是一种享受,因为你会为你自己的一点点进步一点点成功而高兴,增加生活情趣、3,做作业时要坚持不懈,不能在半途放弃。中途可能会遇到一些挫折,要记住“世界上没有谁能随随便便成功”,只有经历过多次失败,才能寻找到解决问题的最好方法。4,在制作网页的过程中,我的思想和人格也得到了升华,对大自然和地球的认识又提升到了一个另一个高度,令我受益匪浅。在全制作过程中,所有的难题都是有解决方法的,不要放弃制作机会,有难题可以去问别的同学或老师,也可以自己多次实践来找到解决方法。我在制作过程中大部分都是自己摸索的,这样不仅加强了自己对工具的熟悉度,同时也加强了对键盘的熟悉,我认为当我们自己去制作的时候,不管好坏都有助于自己,做得好,自己更有信心,鼓励下次还能做得更好,做的不好,还可以找出错误,提醒自己在什么地方应该注意,在什么地方可以改正。这样就可以更好的去改错。有时候可以去看一看别人的作品,看一下别人是怎么做的,想一想哪里值得借鉴,如果是自己,怎么做会更好。这样,在看的时 3

候可以加强对工具的熟悉,了解一些技巧,增加自己的见识。

这次的网页制作对于我来说与有很大的收获,我学会了,如何制作网页,如何在网页上表达自己的观点,以及网页制作的一些基本技巧,和网页制作过程中 最常见,最基本问题的解决。 By临床与医技1105 李杰 2211110512 4

 

第二篇:中南大学C++课程设计实践报告

课程设计实践报告

设计题目:简易计算器

    :   冯康杰   

专业班级:   材料114

    :     18     

指导老师:   曹岳辉  

上课地点:  414机房  

上课时间: 6.18~6.27  


目录

设计要求: 1

设计思想... 1

程序代码... 1

调试过程... 10

运行结果... 11

心得体会... 16


设计要求:

用visual C++程序设计一个简易的计算器,具有多种功能。例如加减乘除、阶乘、温度转换等。

设计思想

为了方便起见,我主要是以类和对象来进行设计,将各个功能化成各个小类,然后综合的用main主函数来运行以保证程序的稳定可靠性

程序代码

#include<iostream>

#include<cmath>

#include<iomanip>

#include<stdlib.h>

using namespace std;

class show

{

public:

      void showtime()

      {

           cout<<"*****************************欢迎使用**********************************"<<endl;

           cout<<"1.加减乘除运算"<<setw(30)<<"2.复数乘法运算"<<endl;

           cout<<"3.素数判断"<<setw(44)<<"4.最小公倍数,最大公约数"<<endl;

           cout<<"5.一元二次方程求解"<<setw(20)<<"6.求阶乘"<<endl;

           cout<<"7.排列组合求解"<<setw(26)<<"8.温度转换"<<endl;

           cout<<endl<<"************版权所有*盗版不究**本代码最终解释权归fengkj所有************"<<endl;

      }

};

class jiajian

{

      int i;

      double a,b,s;

public:

      void print()

      {cout<<"1.加法运算"<<"\t2.减法运算"<<"\t3.乘法运算"<<"\t4.除法运算"<<endl;

      cout<<"请输入代号:"<<endl;

here:cin>>i;

      cout<<"请输入两个数a,b"<<endl;

      cout<<"a=";cin>>a;cout<<"b=";cin>>b;

      switch(i)

      {

      case 1:s=a+b;cout<<a<<'+'<<b<<"="<<s;

           break;

      case 2:s=a-b;cout<<a<<'-'<<b<<"="<<s;

           break;

    case 3:s;s=a*b;cout<<a<<'*'<<b<<"="<<s;

           break;

      case 4:if(b==0)cout<<"数据错误!";else{s=a/b;cout<<a<<'/'<<b<<"="<<s;}

           break;

      default:cout<<"代号数据错误,请重输";goto here;

      }

      }

};

class fushu

{

      float a,b,c,d,j,k;

public:

      void getin()

      {

           cout<<"请输入两个复数:"<<endl;

        cout<<"x=_+_i";cin>>a>>b;cout<<"y=_+_i";cin>>c>>d;

      }

      void multi()

      {j=a*c-b*d;k=b*c+a*d;}

      void print()

      {if(k>0)cout<<"x+y="<<j<<'+'<<k<<'i'<<endl;else if(k<0)cout<<"x+y="<<j<<'-'<<-k<<'i'<<endl;else cout<<"x+y="<<j<<endl;}

};

class sushu

{

public:    

    long t;

      void get(){cout<<"请输入一个待验证的数x:";cin>>t;}

      int prime(long x)

      {

           long i;

           for(i=2;i<x/2;i++)

                 if(x%i==0)return 2;

           return 3;

      }

      void print(){long x;x=t;if(prime(x)==2)cout<<t<<"不是素数";else cout<<t<<"是素数";}

};

class gongbeishu

{

      long x,y,max,min;

public:

      void get()

      {cout<<"请输入两个正整数x,y:"<<endl;

      cout<<"x=";cin>>x;cout<<"y=";cin>>y;

      }

      void jisuan()

      {long m,n,r,t;

      m=x;n=y;

      t=m*n;

      if(m<n){r=m;m=m;n=r;}

      while((r=m%n)!=0)

      {

           m=n;

           n=r;

      }

      max=n;min=t/n;

      }

      void print(){cout<<x<<""<<y<<"的最大公约数是:"<<max<<','<<"最小公倍数是:"<<min<<endl;}

};

class qiujie

{

      float a,b,c,x1,x2,t,s;

public:

      void get()

      {cout<<"请输入方程的系数a,b,c:"<<endl;

      cout<<"a=";cin>>a;cout<<"b=";cin>>b;cout<<"常数c=";cin>>c;}

      void jisuan()

      {float i;i=b*b-4*a*c;t=0;s=0;

      if(i>=0){x1=(-b+sqrt(i))/(2*a);x2=(-b-sqrt(i))/(2*a);}else{x1=-b/(2*a);x2=-b/(2*a);s=sqrt(-i)/(2*a);t=-sqrt(-i)/(2*a);}

      }

      void print()

      {cout<<"方程的解为:"<<endl;

      cout<<"x1="<<x1<<'+'<<t<<'i'<<"\tx2="<<x2<<'+'<<s<<'i';

      }

};

class jiecheng

{

      int n,s;

public:

      void get()

      {cout<<"请输入待阶乘的数:n=";cin>>n;}

      void jisuan()

      {int i;

      s=1;

      for(i=1;i<n;i++)s*=i;

      }

      void print()

      {cout<<"阶乘结果为:"<<"n!="<<s;}

};

class pailie

{

      int n,r;

public:

      void get()

      {

ak: cout<<"请输入排列组合数:C(n,r)P(n,r):"<<endl;

      cout<<"n=";cin>>n;cout<<"r=";cin>>r;

      if(n<r){cout<<"数据错误,请重新输入!";goto ak;}

      }

      int jiecheng(int x)

      {int i,s=1;for(i=1;i<=x;i++)s*=i;return s;}

      void print()

      {cout<<"排列数P="<<jiecheng(n)/jiecheng(n-r)<<','<<"组合数C="<<jiecheng(n)/(jiecheng(r)*jiecheng(n-r));}

};

class wendu

{int i;

float n,s;

public:

      void get()

      {cout<<"请选择温度转换方向:0.摄氏转华氏  1.华氏转摄氏:";

      cin>>i;

      cout<<"请输入温度:";cin>>n;

      }

      void zhuanhuan()

      {s=0;if(!i)s=32+n*1.8;else s=(n-32)/1.8;}

      void print()

      {if(!i)cout<<"摄氏温度为:"<<n<<"'C"<<','<<"华氏温度为:"<<s<<"'F";else cout<<"华氏温度为:"<<n<<"'F"<<','<<"摄氏温度为:"<<s<<"'C";}

};

void main()

{int i,pp=1,ss=1;

while(pp)

{system("cls");

show v;

v.showtime();

qq: cout<<"请输入您要进行运算的编码:";

cin>>i;

switch(i)

{

case 1:g1: jiajian aa;aa.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g1;else break;

case 2:g2: fushu bb;bb.getin();bb.multi();bb.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g2;else break;

case 3:g3: sushu cc;cc.get();cc.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g3;else break;

case 4:g4: gongbeishu dd;dd.get();dd.jisuan();dd.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g4;else break;

case 5:g5: qiujie ee;ee.get();ee.jisuan();ee.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g5;else break;

case 6:g6: jiecheng ff;ff.get();ff.jisuan();ff.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g6;else break;

case 7:g7: pailie gg;gg.get();gg.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g7;else break;

case 8:g8: wendu hh;hh.get();hh.zhuanhuan();hh.print();cout<<"重新计算请按1,否则请按0";cin>>ss;if(ss)goto g8;else break;

default:cout<<"数据错误!请输入1~8之间的一个整数";goto qq;

}

cout<<"返回主菜单请按1,退出程序请按0";

cin>>pp;

}

}

调试过程

由于学的知识不是很多,也不是很熟练,在最开始的时候老是范一些小错误,而且很多语法错误,比如忘了写分号啊,把分号写成逗号啦。而且忘了写全{}就会出现很多个错误,在一个庞大的程序里面找这些错误再一一改正,很可能还是不能运行,但是多加一个}就很可能全部错误都搞定!调试的时候很多地方都是牵一发而动全身,特别是修改的时候,修改一个变量就得把其他部分的都改掉,不然就会一直出现错误。还经常忘了定义变量就用,不过看英文提示面前能看懂,也能找到相应的错误。

在把语法小错误解决之后就剩下运行了,但是运行的情况不容乐观,很多地方呢不是我想要的结果。例如在加减乘除那里,由于当时变量粗心的定义为long,得出的数总是为整数,后来改正为float后问题就解决了,还有就是开始界面里的序列号对不齐,后来尝试着用setw()来解决,尝试多次后得以解决。在老师的建议之下通过包含stdlib.h头文件和调用system("cls")函数成功的做到进行一次计算之后清理屏幕的效果。

运行结果

通过输入编码来选择计算类型。例如输入1.

方法同上继续进行输入代码的操作。

重新计算输入1,否则输入0.

这里我输入0然后。

输入1

回到主菜单,并清理屏幕。

其他函数基本同上,在演示一个,例如4.最小公倍数最大公约数。

心得体会

    本次程序设计所用时间较长,工作量很饱满,而且所用的知识很多,但是我们平常在课堂上所学的知识很有限,这就需要我大量的自学书本和课外的其他书籍上的知识。为了让程序容易使人看懂,我用到的知识点不是非常多,大都是一些基本知识,我能熟练地运用这些知识编程也算一个很大的成功了。毕竟很多知识没有学,能用基本知识就尽量用的基本知识。C++设计实践是对之前学过的知识的加深和巩固,之前学得较浅,实践的机会不多,这次实践让我对C++程序有了更加深入的了解,心理也由原来的不喜欢到喜欢,感觉很有意思也很有用,可也设计一些有用的或者是自己喜欢的程序。最令我收益的是写程序的过程和调试修改的过程,因为之前我们就学了几章,没有把知识学习全面,因此编写起来是有难度的,在预先想好程序结构后,就开是卡看书,一个函数一个函数来编写,不懂的地方就上网搜或是请教一下同学和老师,当终于把程序写出来的时候,内心里又有一种说不出来的激动,我感觉这很符合大学的教育观念,是对个人自主学习能力的一个锻炼。在接下来就是调试,虽然出了很多的错误,虽然自己也被搞的焦头烂额,但我还是很兴奋,我感觉自己就像是个侦探,一点点找线索,找到问题,再解决,每次成功都带给自己一次激动。现在程序终于能较好的运行出来了,当然,还存在一些瑕疵,但通过这近两周的实践学习,我收获的不仅仅是这一个程序,我的自学能力,以及寻找问题解决问题的能力也得到了很好的锻炼。

相关推荐