首页 > 代码库 > Lesson19循环语句作业
Lesson19循环语句作业
#include <windows.h>#include <math.h>#define WINMAXIMUM 100HWND g_hwnds[WINMAXIMUM] = { 0 };int g_winnum = 0;BOOL CALLBACK EnumWindowsProc( _In_ HWND hwnd, _In_ LPARAM lParam) { char classname[MAXBYTE] = { 0 }; GetClassNameA(hwnd, classname, MAXBYTE); if (strcmp("Notepad", classname) == 0) { g_hwnds[g_winnum] = hwnd; g_winnum++; } return TRUE;}int main(){ EnumWindows(EnumWindowsProc, NULL); //完成代码如下://////////////////////////////////////////////////////// //每排3个窗口分4列排列 /*int i = 0; int line = 0; int num = 0; for (int line=0, y =0; line<4&&y<1080; line++,y+=230) { for (int x = 0,num=0 ; num<3 && x < 1920; num++,x += 230) { MoveWindow(g_hwnds[i],x+230, y, 230, 230, TRUE); i++; } }*/ //完成,代码如下:///////////////////////////////////////////////////////////////// //让所有窗口依次从左向右飞过 //for (int i=0; i<WINMAXIMUM;i++) //{ // for (int y=0; y<1080;y+=230) // { // for (int x=0;x<1920;x+=10 ) // { // MoveWindow(g_hwnds[i], x , y, 230, 230, TRUE); // Sleep(10); // } // // } // //} //代码完成,如下://///////////////////////////////////////////////////////////////////////////////////////// //让所有窗口依次挨个从左向右飞过 //for (int y = 0; y < 1080 - 230; y += 230) //{ // for (int x = 0; x < 1920; x += 5) // { // for (int i = 0; i < WINMAXIMUM; i++) // { // MoveWindow(g_hwnds[i], x - 80 * i, y, 230, 230, TRUE); // Sleep(5); // } // } //} //完成,代码如下:////////////////////////////////////////////////////////////////////////////////////////// //让窗口排列成 //* //** //*** //** //* //int i = 0; //for (int line=-2, y =0; line<=2; line++,y+=200) //{ // for (int x = 0,num=0 ; num<3-abs(line) ; num++,x += 210) // { // MoveWindow(g_hwnds[i],x, y, 200, 200, TRUE); // i++; // } //} //完成代码如下:////////////////////////////////////////////////////////// //让窗口排列成 // * // ** // *** // ** // * //int i = 0; //for (int line = -2, y = 0; line <= 2; line++, y += 200) //{ // for (int x = 1700, num = 0; num < 3 - abs(line); num++, x -= 210) // { // MoveWindow(g_hwnds[i], x, y, 200, 200, TRUE); // i++; // } //} ///////////////////////////////////////////////////////////// //让窗口分3行,每次每行飞入一个 /*for (int i = 0; i < WINMAXIMUM; i++) { for (int x = 0; x < 1920; x += 230) { for (int y = 0; y < 1080 - 230; y +=10) { MoveWindow(g_hwnds[i], x - 80 * i, y, 230, 230, TRUE); Sleep(5); } } }*/////////反弹效果不符合要求,存疑。/////////////////////////////////////////////////////////////////////////////////// //模拟窗口反弹for (int i=0;i<WINMAXIMUM;i++){ int y = 0; int num = 0; for (int x=0,n=1;x<1920-210;n++,x+=50) { if (n%2==0) { for (int y = num; y <870; y += 10) { MoveWindow(g_hwnds[i], x, y + (870 - y) / (2 * n), 210, 210, TRUE); Sleep(5); } } else { for (int y =870; y >0; y -=10) { MoveWindow(g_hwnds[i], x, y + (870 - y) /(2*n), 210, 210, TRUE); Sleep(5); } //y=y+( 870 - y) / 2; } } } //将数组中奇数下标的窗口从下往上飞,偶数下标的窗口从上往下飞。每次都需要反弹效果//1,遍历数组//for (int i=0;i<WINMAXIMUM;i++)//{// //2,判断下标奇偶// if (i%2==1)// {// //3,奇数下标,向下飞// for (int x =0;x<1920;x+=50)// {//// for (int y = 0; y <870; y += 20)// {//// //反弹效果?////// MoveWindow(g_hwnds[i], x, y, 210, 210, TRUE);// Sleep(5);// }// }//// } // else// {// //4,偶数下标,往上飞// for (int x = 0; x < 1920; x += 50)// {// // for (int y = 870; y>0; y -= 20)// {//// //反弹效果?//// MoveWindow(g_hwnds[i], x, y, 210, 210, TRUE);// Sleep(5);// }// }// }//}return 0;}
最后两题做得不符合要求。
Lesson19循环语句作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。