中南大学c++实践报告

发布时间:2017-07-12  编辑:沈舒文 手机版

  大学生实训指的是在大学生即将毕业走进社会前期,经过实际项目的技能提升,加强自己的实际动手操作能力,从而为将来的进入职场打下坚实的基础。下面是小编收集的,欢迎大家参考!

  【】

  姓 名:

  学 号:

  专 业:

  班 级:

  指导教师: ***

  面向对象程序设计课程设计

  日 期

  201x.12.15——201x.12.19

  地 点

  图书馆15号机房

  项目名称

  面向对象程序设计课程设计

  实训目的能力目标

  培养分析问题、解决问题的能力

  培养考虑问题的周密性和逻辑思维能力

  培养实际动手能力

  培养C++知识的综合运用能力

  培养自学能力(UML)

  熟悉软件开发流程

  实训要求:

  1、独立完成作业。

  2、遇到不懂的地方自己查找资料。

  3、程序保存到ftp: rj:rj@192.168.130.49,以自己名字命名的文件夹下。

  4、实训结束之前,要求每人写出实训报告。电子版发送到*****@qq.com,纸质文档统一送交,否则没有实训成绩。

  实训内容(过程及步骤)

  星期一

  实训内容:

  一、随机产生100以内的一个自然数,给出7次机会猜测数的大小

  要求:

  1、 如果猜对了,提示:“真聪明,您猜对了!”,并退出程序

  2、 如果猜得数比随机数大,给出提示“你猜的数太大了”

  3、 如果猜得数比随机数小,提示“您猜的数太小了”,

  4、 如果超出七次没有猜对,提示“很遗憾,您没有猜对”,并退出程序。

  程序:

  #include

  #include

  #include

  void main()

  {

  cout<<"请输入你要猜数的大小"<

  int m,n,i=0;

  srand(time(NULL));//随机数字

  m=rand()%100;

  for(i;i<7;i++)

  {

  cin>>n;

  if(n==m)

  {

  cout<<"真聪明,你猜对了!"<

  break;

  }

  if(n>m)

  {cout<<"你猜的数太大了!"<

  if(n

  {

  cout<<"你猜的数太小了!"<

  }

  if(n!=m&&i==6)

  {

  cout<<"很遗憾,你没有猜对!"<

  }

  }

  }

  运行结果:

  二、输入三个数,判断能不能组成三角形

  要求:

  1、输入-1,0,-1,提示“你输入的为负数”

  2、输入1,2,3,提示“你输入的三个数不能组成三角形”

  3、输入3,4,5提示“输入的三个数能组成三角形,并且是一个直角三角形”

  4、输入3,3,4提示“输入的三个数能组成三角形,并且是一个等腰三角形”

  5、 输入3,3,3提示“输入的三个数能组成三角形,并且是一个等边三角形”

  程序:

  #include

  void main()

  {

  int a,b,c;

  cout<<"输入三角形的三边"<

  cin>>a>>b>>c;

  if(a<0||b<0||c<0)

  {cout<<"你输入的为负数"<

  if((a+b)>c&&(a+c)>b&&(b+c)>a)

  {

  if(a==b&&b==c)

  {cout<<"输入的三个数能组成三角形,并且是一个等边三角形"<

  else

  if((a*a+b*b)==(c*c)||(c*c+b*b)==(a*a)||(a*a+c*c)==(b*b))

  {

  if(a==b||b==c||a==c)

  {cout<<"输入的三个数能组成三角形,并且你输入的是个等腰直角三角形"<

  else

  cout<<"输入的三个数能组成三角形,并且你输入的是个直角三角形"<

  }

  else

  if(a==b||b==c||a==c)

  {cout<<"输入的三个数能组成三角形,并且你输入的是个等腰三角形"<

  else

  cout<<"你输入的三个数可以组成三角形"<

  }

  else

  cout<<"你输入的三个数不能组成三角形"<

  }

  运行结果:

  星期二

  实训内容:

  一、声明类Date

  要求:

  1、使用户可以设置日期,并在输入错误时提示。

  a一年12个月,若输入12以外的数,提示“输入月份错误”

  b每个月依次有{31,28/29,31,30,31,30,31,31,30,31,30,31}若输入的数值超过该月天数,提示“输入天数错误”。

  2、可以查询两个日期之间相差天数

  注意:闰年

  程序:

  #include

  using namespace std;

  int to_start(int year,int month,int day);

  long onehundred();

  void getdate();

  bool isleap(int year);

  int maxday(int year,int month);

  int main()

  {

  int yy,mm,dd;

  long number1,number2;

  cout<<"设置日期:";

  cin>>yy>>mm>>dd;

  number1=to_start(yy,mm,dd);

  if(mm>12||mm<1)

  {

  cout<<"输入月份错误!"<

  cin>>yy>>mm>>dd;

  }

  if(dd>maxday(yy,mm)||dd<1)

  {

  cout<<"输入天数错误!"<

  cin>>yy>>mm>>dd;

  }

  cout<<"设置下一个日期:";

  cin>>yy>>mm>>dd;

  number2=to_start(yy,mm,dd);

  if(mm>12||mm<1)

  {

  cout<<"输入月份错误!"<

  cin>>yy>>mm>>dd;

  }

  if(dd>maxday(yy,mm)||dd<1)

  {

  cout<<"输入天数错误!"<

  cin>>yy>>mm>>dd;

  }

  cout<<"两日期相差天数: "<

  }

  int to_start(int year,int month,int day)

  {

  long count;

  long yearday,monthday=0;

  yearday=(year-1)/100*onehundred()+(year-1)/400+(year-1)%100/4+(year-1)%100*365;

  for(int i=1;i

  {

  int t;

  switch(i)

  {

  case 4:

  case 6:

  case 9:

  case 11:

  t=30;

  break;

  case 2:

  t=28;

  break;

  default:

  t=31;

  }

  monthday+=t;

  }

  count=monthday+yearday+day;

  if(year%4==0&&year%100!=0&&month<3)

  count--;

  return count;

  }

  long onehundred()

  {

  long count;

  count=24+100*365;

  return count;

  }

  int maxday(int year,int month)

  {

  switch(month)

  {

  case 4:

  case 6:

  case 9:

  case 11:

  return 30;

  case 2:

  if(isleap(year))

  return 29;

  else

  return 28;

  default:

  return 31;

  }

  }

  bool isleap(int year)

  {

  if(year%4!=0||(year%400!=0&&year%100==0))

  return false;

  else

  return true;

  }

  运行结果:

  二、数组排序

  1、定义交换两个整型数的函数swap

  2、定义sort函数给数组排序,调用swap函数

  3、修改swap函数和sort函数,使之可用于任意类型

  #include

  template

  void swap(T &x,T&y)

  {

  T m;

  m=x;

  x=y;

  y=m;

  }

  template

  void sort(T *a,T b)

  {

  int i,j;

  for(i=0;i

  {

  for(j=i;j

  if(a[i]>a[j])

  swap(a[i],a[j]);

  }

  for(i=0;i

  { cout<

  }

  void main()

  {

  int a[15]={0,12,33,60,88,69,34,16,75,66,54,65,36,48,58};

  sort(a,15);

  }

  运行结果如下图:

123
相关推荐

最热文章榜Hot  Top