}
}
};
intmain()
{
Studentsstu;
stu.inPut();
stu.outPut();
return0;
}
六、用户使用说明(输入/输出规定)
根据程序提示进行输入。
七、调试分析&运行结果
题目
(一):
输入:
pleaseinputthe1number
3
pleaseinputthe2number
1
pleaseinputthe3number
2
pleaseinputthe4number
6
pleaseinputthe5number
4
pleaseinputthe6number
5
pleaseinputthe7number
7
pleaseinputthe8number
9
pleaseinputthe9number
8
pleaseinputthe10number
10
输出:
12345
678910
Pressanykeytocontinue
题目
(二):
输入:
pleaseinputthename:
ysj
pleaseinputthenum:
3
pleaseinputtheage:
18
pleaseinputtheCScore:
98
pleaseinputtheEnglishScore:
97
pleaseinputtheMathScore:
99
pleaseinputthename:
zy
pleaseinputthenum:
2
pleaseinputtheage:
19
pleaseinputtheCScore:
99
pleaseinputtheEnglishScore:
96
pleaseinputtheMathScore:
97
输出:
------------------------------
name:
ysj
num:
3
age:
18
cScore:
98
EnglishScore:
97
MathScore:
99
Ave:
98
------------------------------
------------------------------
name:
zy
num:
2
age:
19
cScore:
99
EnglishScore:
96
MathScore:
97
Ave:
97.3333
------------------------------
Pressanykeytocontinue
实验二WindowsSDK程序设计
一、实验目的
1.掌握Windows程序运行基本原理。
2.掌握使用SDK(WindowsAPI)方式编写Windows应用程序方法。
3.掌握用应用程序向导创建一个Windows应用项目的方法。
二、实验知识点概念
Windows程序设计不同于DOS下的程序设计,它是一种事件驱动的程序设计模式,主要是基于消息的。
三、实验题目
编写一窗口应用程序,能实现简单的画线功能。
四、程序思路
1.工程由WinMain()和MyWinProc()构成。
2.设计菜单选项:
形状,颜色,笔形。
其中形状弹出选项中有点,直线,矩形,椭圆四个选项;颜色中有红,绿,蓝三个选项,其中默认的为黑色;笔形里有粗和细两种选择。
3.设计自己的鼠标指针和图标,并导入到工程中。
4.实现简单的画线功能,实现“橡皮筋”画线和“橡皮筋”画矩形功能。
5..添加颜色的选择,添加笔形的选择。
五、程序源代码
#include
#include
#include"resource.h"
LRESULTCALLBACKMyWinProc(HWNDhwnd,UINTuMsg,WPARAMwparam,LPARAMlparam);
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intcmdShow)
{
WNDCLASSwndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor=LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR1));//设置自己的鼠标指针
wndcls.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));、//设置自己的图标
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=MyWinProc;
wndcls.lpszClassName="yangshijie";
wndcls.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);
wndcls.style=CS_HREDRAW|CS_VREDRAW;
if(!
RegisterClass(&wndcls))//注册窗口类
return1;
HWNDhwnd;
hwnd=CreateWindow("yangshijie",
"vc课堂",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,600,400,NULL,NULL,hInstance,NULL);
if(!
hwnd)
return1;
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
MSGmsg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return0;
}
LRESULTCALLBACKMyWinProc(HWNDhwnd,UINTuMsg,WPARAMwparam,LPARAMlparam)
{
staticintdrawtype=1;//声明一些静态的常量来保存当前的画图状态
staticBOOLisDraw=0;
staticPOINTpt1;//保存点的坐标
staticPOINTpt2;
staticintsize=1;//设置初始的字体
staticCOLORREFcolor=RGB(0,0,255);//设置初始的颜色
switch(uMsg)
{
/*
caseWM_CHAR:
charc[10];
sprintf(c,"charis%c",wparam);
MessageBox(hwnd,c,"key",MB_OK);
break;
*/
caseWM_CLOSE:
if(IDYES==MessageBox(hwnd,"Areyousure?
","exit",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
caseWM_DESTROY:
PostQuitMessage(0);
break;
caseWM_COMMAND:
//响应菜单的操作
if(ID_MENU_DOTLINE==LOWORD(wparam))
{
drawtype=1;
}
elseif(ID_MENU_LINE==LOWORD(wparam))
{
drawtype=2;
}
elseif(ID_MENU_RECT==LOWORD(wparam))
{
drawtype=3;
//MessageBox(hwnd,"RECT","TEST",MB_YESNO);
}
elseif(ID_MENU_ELLIPSE==LOWORD(wparam))
{
drawtype=4;
}
elseif(ID_MENU_THIN==LOWORD(wparam))
{
size=1;
}
elseif(ID_MENU_WIDE==LOWORD(wparam))
{
size=10;
}
elseif(IDM_RED==LOWORD(wparam))
{
color=RGB(255,0,0);
}
elseif(IDM_GREEN==LOWORD(wparam))
{
color=RGB(0,255,0);
}
elseif(IDM_BLACK==LOWORD(wparam))
{
color=RGB(0,0,255);
}
break;
caseWM_LBUTTONDOWN:
//响应鼠标左键按下
pt1.x=LOWORD(lparam);
pt1.y=HIWORD(lparam);
pt2.x=LOWORD(lparam);
pt2.y=HIWORD(lparam);
isDraw=1;
//MessageBox(hwnd,"DOWN","TEST",MB_YESNO);
break;
caseWM_LBUTTONUP:
//响应鼠标左键抬起
pt2.x=LOWORD(lparam);
pt2.y=HIWORD(lparam);
HDCdc;
dc=GetDC(hwnd);
if(drawtype==2)
{
//SelectObject(dc,GetStockObject(BLACK_PEN));
HPENpen;
pen=CreatePen(PS_SOLID,size,color);
SelectObject(dc,pen);
MoveToEx(dc,pt1.x,pt1.y,NULL);
LineTo(dc,pt2.x,pt2.y);
DeleteObject(pen);
}
if(drawtype==3)
{
SelectObject(dc,GetStockObject(HOLLOW_BRUSH));
Rectangle(dc,pt1.x,pt1.y,pt2.x,pt2.y);
}
isDraw=0;
ReleaseDC(hwnd,dc);
break;
caseWM_MOUSEMOVE:
if(isDraw==1&&drawtype==1)
{
HDCdc;
dc=GetDC(hwnd);
MoveToEx(dc,pt1.x,pt1.y,NULL);
LineTo(dc,pt1.x=LOWORD(lparam),pt1.y=HIWORD(lparam));
ReleaseDC(hwnd,dc);
}
if(isDraw==1&&drawtype==2)
{
HDCdc;
dc=GetDC(hwnd);
HPENpen;
pen=CreatePen(PS_SOLID,size,color);
SelectObject(dc,pen);
SetROP2(dc,R2_NOTXORPEN);//此函数擦除先前画线的痕迹
MoveToEx(dc,pt1.x,pt1.y,NULL);
if(pt1.x!
=pt2.x&&pt1.y!
=pt2.y)
LineTo(dc,pt2.x,pt2.y);
SelectObject(dc,pen);
MoveToEx(dc,pt1.x,pt1.y,NULL);
LineTo(dc,LOWORD(lparam),HIWORD(lparam));
ReleaseDC(hwnd,dc);
pt2.x=LOWORD(lparam);
pt2.y=HIWORD(lparam);
DeleteObject(pen);
}
if(isDraw==1&&drawtype==3)
{
HDCdc;
dc=GetDC(hwnd);
SelectObject(dc,GetStockObject(NULL_BRUSH));
HPENpen;
pen=(HPEN)SelectObject(dc,CreatePen(PS_SOLID,1,GetBkColor(dc)));
SetROP2(dc,R2_NOT);//此函数擦除先前画线的痕迹
Rectangle(dc,pt1.x,pt1.y,pt2.x,pt2.y);
SelectObject(dc,pen);
Rectangle(dc,pt1.x,pt1.y,LOWORD(lparam),HIWORD(lparam));
pt2.x=LOWORD(lparam);
pt2.y=HIWORD(lparam);
DeleteObject(pen);
ReleaseDC(hwnd,dc);
}
break;
default:
returnDefWindowProc(hwnd,uMsg,wparam,lparam);
}
//ReleaseDC(hwnd,dc);
return0;
}
六、用户使用说明(输入/输出规定)
无
七、调试分析&运行结果
实验三类和对象实验
一、实验目的
1.掌握类的定义方法,能合理指定类中成员的访问权限。
2.学习对象的说明和使用方法。
3.灵活运用类和对象的