大学生实训指的是在大学生即将毕业走进社会前期,经过实际项目的技能提升,加强自己的实际动手操作能力,从而为将来的进入职场打下坚实的基础。下面是小编收集的,欢迎大家参考!
【】
姓 名:
学 号:
专 业:
班 级:
指导教师: ***
面向对象程序设计课程设计
日 期
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
}
void main()
{
int a[15]={0,12,33,60,88,69,34,16,75,66,54,65,36,48,58};
sort(a,15);
}
运行结果如下图: