大學生實訓指的是在大學生即將畢業(yè)走進社會前期,經過實際項目的技能提升,加強自己的實際動手操作能力,從而為將來的進入職場打下堅實的基礎。下面是小編收集的,歡迎大家參考!
【】
姓 名:
學 號:
專 業(yè):
班 級:
指導教師: ***
面向對象程序設計課程設計
日 期
201x.12.15——201x.12.19
地 點
圖書館15號機房
項目名稱
面向對象程序設計課程設計
實訓目的能力目標
培養(yǎng)分析問題、解決問題的能力
培養(yǎng)考慮問題的周密性和邏輯思維能力
培養(yǎng)實際動手能力
培養(yǎng)C++知識的綜合運用能力
培養(yǎng)自學能力(UML)
熟悉軟件開發(fā)流程
實訓要求:
1、獨立完成作業(yè)。
2、遇到不懂的地方自己查找資料。
3、程序保存到ftp: rj:rj@192.168.130.49,以自己名字命名的文件夾下。
4、實訓結束之前,要求每人寫出實訓報告。電子版發(fā)送到*****@qq.com,紙質文檔統(tǒng)一送交,否則沒有實訓成績。
實訓內容(過程及步驟)
星期一
實訓內容:
一、隨機產生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);
}
運行結果如下圖: