windows编程上机程序.doc_第1页
windows编程上机程序.doc_第2页
windows编程上机程序.doc_第3页
windows编程上机程序.doc_第4页
windows编程上机程序.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、第三次第二题编写一个triple类,含有3个变量(int x,int y,int z),重载运算符,+和*。+生成一个新的该类对象,其值分别是对应项的和。*的结果是一个整数,该值是两个对象的内积。在主函数main中定义两个对象,计算该对象之和与之积,并输出。#includeiostream.h class tripleprivate:int x,y,z;public:triple(int x1=0,int y1=0,int z1=0)x=x1;y=y1;z=z1;triple operator+(const triple& t )return triple(x+t.x,y+t.y,z+t.z);int operator*(const triple& t )int a=x*t.x+y*t.y+z*t.z;return a;friend ostream& operator(ostream& os,const triple& t) ost.x t.y t.zendl;return os;void main()triple t1(1,1,1),t2(2,2,2),t3;t3=t1+t2;int x=t1*t2;coutt3;coutxendl;二、第二次第三题建立一个成绩结构(包括三名成绩),建立一个学生结构(包括学号,姓名,成绩结构),定义包含5个学生的结构数组,从键盘读入每位同学的信息,输出每位同学的平均成绩。#includestdio.hstruct gradeint c;int math;int english;struct studentint no;char name20 ;grade gd;void main()student s5;int i;float avg=0;for(i=0;i5;i+)scanf(%d%s%d%d%d,&si.no,,&si.gd.c,&si.gd.math,&si.gd.english);for(i=0;i5;i+)avg=(si.gd.c+si.gd.math+si.gd.english)/3.0;printf(该同学的平均成绩是%fn,avg);三、第二次第四题建立一个成绩结构(包括三名成绩),建立一个学生结构(包括学号,姓名,成绩结构),定义包含5个学生的结构数组,从键盘读入每位同学的信息,输出每门课不及格同学的数量。#includestdio.h struct gradeint c;int math;int english;struct studentint no;char name20 ;grade gd;void main()student s5;int i;int failc=0,failmath=0,faileng=0;for(i=0;i5;i+)scanf(%d%s%d%d%d,&si.no,,&si.gd.c,&si.gd.math,&si.gd.english);for(i=0;i5;i+)if(si.gd.c60)failc+;if(si.gd.math60)failmath+;if(si.gd.english60)faileng+;printf(c 不及格的人数是%d; math 不及格的人数是%d; english 不及格的人数是%dn,failc,failmath,faileng);四、第二次第五题建立一个成绩结构(包括三名成绩),建立一个学生结构(包括学号,姓名,成绩结构),定义包含5个学生的结构数组,从键盘读入每位同学的信息,输出平均成绩大于班级三门平均成绩的同学的信息。#includestdio.h struct gradeint c;int math;int english;struct studentint no;char name20 ;grade gd;void main()student s5;int i;int one;float total=0,avg;for(i=0;i5;i+)scanf(%d%s%d%d%d,&si.no,,&si.gd.c,&si.gd.math,&si.gd.english);for(i=0;i5;i+)total+=si.gd.c+si.gd.math+si.gd.english;avg=total/5;for(i=0;iavg)printf(%d,%sn,si.no,);第二次第六题.建立一个成绩结构(包括三名成绩),建立一个学生结构(包括学号,姓名,成绩结构),定义包含5个学生的结构数组,从键盘读入每位同学的信息,输出每门课成绩最高同学的信息#includestdio.hstruct gradeint c;int math;int english;struct studentint no;char name20 ;grade gd;void main()student s5;int i;float avg=0;int cscore,mathscore,engscore;int ci,mi,ei;for(i=0;i5;i+)scanf(%d%s%d%d%d,&si.no,,&si.gd.c,&si.gd.math,&si.gd.english);cscore=s0.gd.c;mathscore=s0.gd.math;engscore=s0.gd.english;ci=0;mi=0;ei=0;for(i=0;i5;i+)if(cscoresi.gd.c)cscore=si.gd.c;ci=i;if(mathscoresi.gd.math)mathscore=si.gd.math;mi=i;if(engscoresi.gd.english)engscore=si.gd.english;ei=i;printf(C语言最高同学的信息为:%d,%sn,sci.no,);printf(math最高同学的信息为:%d,%sn,smi.no,);printf(English最高同学的信息为:%d,%sn,sei.no,);五/教材例题3-1-修改版窗口大小发生变化但文字位置保持不变/Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义/ 响应窗口改变大小的消息/ by wangzj#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); /窗口函数说明/- 以下初始化窗口类-int WINAPI WinMain(HINSTANCEhInstance, HINSTANCEhPrevInst,LPSTRlpszCmdLine,intnCmdShow)HWND hwnd ;MSG Msg ;WNDCLASS wndclass ;char lpszClassName = 窗口;/窗口类名char lpszTitle = My_Windows;/窗口标题名/窗口类的定义wndclass.style = 0;/窗口类型为缺省类型wndclass.lpfnWndProc = WndProc ;/窗口处理函数为WndProcwndclass.cbClsExtra = 0 ;/窗口类无扩展wndclass.cbWndExtra = 0 ;/窗口实例无扩展wndclass.hInstance = hInstance ;/当前实例句柄wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION) ;/窗口的最小化图标为缺省图标wndclass.hCursor = LoadCursor(NULL, IDC_ARROW) ;/窗口采用箭头光标wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH) ;/窗口背景为白色wndclass.lpszMenuName = NULL ;/窗口中无菜单wndclass.lpszClassName = lpszClassName ;/窗口类名为窗口示例/- 以下进行窗口类的注册 -if (!RegisterClass(&wndclass)/如果注册失败则发出警告声音MessageBeep(0) ;return FALSE ;/创建窗口hwnd = CreateWindow(lpszClassName,/窗口类名lpszTitle,/窗口实例的标题名WS_OVERLAPPEDWINDOW,/窗口的风格CW_USEDEFAULT, CW_USEDEFAULT,/窗口左上角坐标为缺省值CW_USEDEFAULT, CW_USEDEFAULT, /窗口的高和宽为缺省值NULL,/此窗口无父窗口NULL,/此窗口无主菜单hInstance,/创建此窗口的应用程序的当前句柄NULL) ;/不使用该值/显示窗口ShowWindow(hwnd, nCmdShow) ;/绘制用户区UpdateWindow(hwnd);/消息循环 while (GetMessage(&Msg, NULL, 0, 0)TranslateMessage(&Msg) ;DispatchMessage(&Msg) ;return Msg.wParam;/消息循环结束即程序终止时将信息返回系统/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static RECT rect;switch (message)case WM_CREATE:GetClientRect(hwnd, &rect);break;case WM_SIZE: InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);DrawText(hdc, TEXT(你好这是第一个程序), -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);六、/教材例题3-1-修改版V2响应鼠标左键和右键,文字输入/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static RECT rect;static char str1=鼠标左键按下;static char str2=鼠标右键按下了;static char buff10=0;static char *p=ok;static int num=0;switch (message)case WM_CHAR:buffnum+=(char )wParam;p=buff;InvalidateRect(hwnd,NULL,true);break;case WM_RBUTTONDOWN:p=str2;InvalidateRect(hwnd,NULL,true);break;case WM_LBUTTONDOWN:p=str1;InvalidateRect(hwnd,NULL,true);break;case WM_CREATE:GetClientRect(hwnd, &rect);break;case WM_SIZE:InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);DrawText(hdc,p , -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);七、点击鼠标左键,右键画矩形/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static RECT rect;static int x1,y1,x2,y2;switch (message)case WM_LBUTTONDOWN:x1=LOWORD(lParam);y1=HIWORD(lParam);InvalidateRect(hwnd,NULL,true);break;case WM_RBUTTONDOWN:x2=LOWORD(lParam);y2=HIWORD(lParam);InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);Rectangle(hdc,x1,y1,x2,y2);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);八菜单,点第一项绘制矩形,点第二项绘制椭圆,左键单击一次为左上角,右键单击一次为右下角。/Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includeresource.h/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static RECT rect;static int x1,y1,x2,y2;static int x=0;switch (message)case WM_COMMAND:switch(LOWORD(wParam)case IDM_ADD:x=1;break;case IDM_DEL:x=2;break;InvalidateRect(hwnd,NULL,true);break;case WM_LBUTTONDOWN:x1=LOWORD(lParam);y1=HIWORD(lParam);InvalidateRect(hwnd,NULL,true);break;case WM_RBUTTONDOWN:x2=LOWORD(lParam);y2=HIWORD(lParam);InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);if(x1*x2!=0)if(x=1)Rectangle(hdc,x1,y1,x2,y2);if(x=2)Ellipse(hdc,x1,y1,x2,y2);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);定义鼠标左键单击确定一个点a,再单击一次确定一个点b,以ab为直径画一个圆。(实验报告)/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includemath.h/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static RECT rect;static int x1,y1,x2,y2;static int flag=0;static float x,y,r;switch (message)case WM_LBUTTONDOWN:if(flag=0)x1=LOWORD(lParam);y1=HIWORD(lParam);flag=1;break;if(flag=1)x2=LOWORD(lParam);y2=HIWORD(lParam);x=(x1+x2)/2.0;y=(y1+y2)/2.0;r=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)/2.0;flag=0;InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);if(r0)Ellipse(hdc,x-r,y-r,x+r,y+r);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);修改所给程序,能够响应文字的输入和BackSpace删除功能。/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includemath.h/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;RECT rect;static int num=0;static char str100;char c;switch (message)case WM_CHAR:c=wParam;if(c!=8)strnum+=c;elsestrnum-=0;InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);TextOut(hdc,0,0,str,num);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);建立菜单和加速键,设置两个菜单项,一个绘制圆,另一个绘制矩形。鼠标单击一次设置为a,单击另一次设置为b(单击即可,不区分鼠标左键还是右键),绘制出图形。/Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includeresource.h/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static int flag=0;static int x,x1,x2,y1,y2;switch (message)case WM_COMMAND:switch(LOWORD(wParam)case IDM_ADD:x=1;break;case IDM_DEL:x=2;break;InvalidateRect(hwnd,NULL,true);break;case WM_LBUTTONDOWN:case WM_RBUTTONDOWN:if(flag=0)x1=LOWORD(lParam);y1=HIWORD(lParam);flag=1;break;if(flag=1)x2=LOWORD(lParam);y2=HIWORD(lParam);flag=0;InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);if(x1*x2!=0)if(x=1)Rectangle(hdc,x1,y1,x2,y2);if(x=2)Ellipse(hdc,x1,y1,x2,y2);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);/鼠标左键单击确定一个点a,再单击一次确定一个点b,以ab为左上角和右下角绘制一个矩形,能根据滚轮放大或者缩小形状,要求形状的重心位置不变。/教材例题3-1-修改版V2/Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includestring.h#define WM_MOUSEWHEEL 0x020A LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPA RAM); /窗口函数说明/- 以下初始化窗口类- int WINAPI WinMain(HINSTANCEhInstance, HINSTANCEhPrevInst, LPSTRlpszCmdLine, intnCmdShow)HWND hwnd ;MSG Msg ;WNDCLASS wndclass ;char lpszClassName = 窗口;/窗口类名char lpszTitle = My_Windows;/窗口标题名/窗口类的定义wndclass.style = 0;/窗口类型为缺省类型wndclass.lpfnWndProc = WndProc ;/窗口处理函数为WndProcwndclass.cbClsExtra = 0 ;/窗口类无扩展wndclass.cbWndExtra = 0 ;/窗口实例无扩展wndclass.hInstance = hInstance ;/当前实例句柄wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION) ;/窗口的最小化图标为缺省图标wndclass.hCursor = LoadCursor(NULL, IDC_ARROW) ;/窗口采用箭头光标wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH) ;/窗口背景为白色wndclass.lpszMenuName = NULL ;/窗口中无菜单wndclass.lpszClassName = lpszClassName ;/窗口类名为窗口示例/- 以下进行窗口类的注册 -if (!RegisterClass(&wndclass)/如果注册失败则发出警告声音MessageBeep(0) ;return FALSE ;/创建窗口hwnd = CreateWindow(lpszClassName,/窗口类名lpszTitle,/窗口实例的标题名WS_OVERLAPPEDWINDOW,/窗口的风格CW_USEDEFAULT, CW_USEDEFAULT,/窗口左上角坐标为缺省值CW_USEDEFAULT, CW_USEDEFAULT, /窗口的高和宽为缺省值NULL,/此窗口无父窗口NULL,/此窗口无主菜单hInstance,/创建此窗口的应用程序的当前句柄NULL) ;/不使用该值/显示窗口ShowWindow(hwnd, nCmdShow) ;/绘制用户区UpdateWindow(hwnd);/消息循环 while (GetMessage(&Msg, NULL, 0, 0)TranslateMessage(&Msg) ;DispatchMessage(&Msg) ;return Msg.wParam;/消息循环结束即程序终止时将信息返回系统/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static short inc=0;static int flag=0;static int x1,y1,x2,y2;static float k=1;switch (message)case WM_LBUTTONDOWN:if(flag=0)x1=LOWORD(lParam);y1=HIWORD(lParam);flag=1;break;if(flag=1)x2=LOWORD(lParam);y2=HIWORD(lParam);k=(y2-y1)*1.0/(x2-x1);InvalidateRect(hwnd,NULL,true);break;case WM_MOUSEWHEEL:inc=HIWORD(wParam);if(inc0)x1-=100;y1-=100*k;x2+=100;y2+=100*k;if(inc0)x1+=100;y1+=100*k;x2-=100;y2-=100*k;InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);Rectangle(hdc,x1,y1,x2,y2);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);6-3题/教材例题3-1-修改版V2/Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includestring.hLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); /窗口函数说明/- 以下初始化窗口类-int WINAPI WinMain(HINSTANCEhInstance, HINSTANCEhPrevInst, LPSTRlpszCmdLine, intnCmdShow)HWND hwnd ;MSG Msg ;WNDCLASS wndclass ;char lpszClassName = 窗口;/窗口类名char lpszTitle = My_Windows;/窗口标题名/窗口类的定义wndclass.style = 0;/窗口类型为缺省类型wndclass.lpfnWndProc = WndProc ;/窗口处理函数为WndProcwndclass.cbClsExtra = 0 ;/窗口类无扩展wndclass.cbWndExtra = 0 ;/窗口实例无扩展wndclass.hInstance = hInstance ;/当前实例句柄wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION) ;/窗口的最小化图标为缺省图标wndclass.hCursor = LoadCursor(NULL, IDC_ARROW) ;/窗口采用箭头光标wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH) ;/窗口背景为白色wndclass.lpszMenuName = NULL ;/窗口中无菜单wndclass.lpszClassName = lpszClassName ;/窗口类名为窗口示例/- 以下进行窗口类的注册 -if (!RegisterClass(&wndclass)/如果注册失败则发出警告声音MessageBeep(0) ;return FALSE ;/创建窗口hwnd = CreateWindow(lpszClassName,/窗口类名lpszTitle,/窗口实例的标题名WS_OVERLAPPEDWINDOW,/窗口的风格CW_USEDEFAULT, CW_USEDEFAULT,/窗口左上角坐标为缺省值CW_USEDEFAULT, CW_USEDEFAULT, /窗口的高和宽为缺省值NULL,/此窗口无父窗口NULL,/此窗口无主菜单hInstance,/创建此窗口的应用程序的当前句柄NULL) ;/不使用该值/显示窗口ShowWindow(hwnd, nCmdShow) ;/绘制用户区UpdateWindow(hwnd);/消息循环 while (GetMessage(&Msg, NULL, 0, 0)TranslateMessage(&Msg) ;DispatchMessage(&Msg) ;return Msg.wParam;/消息循环结束即程序终止时将信息返回系统/窗口函数LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)HDC hdc;PAINTSTRUCT ps;static RECT rect;static char str1=UP按下;static char str2=SHIFT按下;static char str3=CONTROL按下;static char str4=CONTROL+A按下;static char str5=SHIFT+B按下;static char *p=;switch (message)case WM_KEYDOWN:switch(wParam)case VK_CONTROL:p=str3;break;case VK_SHIFT:p=str2;break;case VK_UP:p=str1;break;case A:if(GetKeyState(VK_CONTROL)0)p=str4;break;case B:if(GetKeyState(VK_SHIFT)0)p=str5;break;InvalidateRect(hwnd,NULL,true);break;case WM_CHAR:/InvalidateRect(hwnd,NULL,true);break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);TextOut(hdc,0,0,p,strlen(p);EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);/调用PostQuitMessage发出WM_QUIT消息break;default:/缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd, message, wParam, lParam);return (0);6-5/教材例题3-1-修改版V2/Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义/ 添加了响应输入文字、鼠标左右键、窗口改变大小等消息,获得窗口时的客户区大小/ by wangzj#include #includestring.hLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); /窗口函数说明/- 以下初始化窗口类-int WINAPI WinMain(HINSTANCEhInstance

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论