用C++写一个*号组成的等腰三角形,打印在控制台上可以通过键盘控制使它上下左右移动。要求用类写,注释随意。
6条回答 默认 最新
- 战在春秋 2017-05-30 08:35关注
共3个文件
1) MobileTriangle.cpp 类定义文件
#include <iostream> using namespace std; #include "MobileTriangle.h" #include <stdio.h> MobileTriangle::MobileTriangle(int init_row, int init_leftMargin, int init_topMargin) { row = init_row; leftMargin = init_leftMargin; topMargin = init_topMargin; } void MobileTriangle::Show(int size, int left, int top) { system("CLS"); int space = size + top; for (int i = 0; i < size + top; i++) { for (int w = 0; w < left; w++) { cout << " "; } for (int j = space; j > 0; j--) { cout << " "; } for (int star = 0; star <= (i - top) * 2; star++) { cout << "*"; } space--; cout << endl; } }
2) MobileTriangle.h 类头文件
class MobileTriangle { public: MobileTriangle(int init_row, int init_leftMargin, int init_topMargin); void Show(int size,int left, int top); private: int row; int leftMargin; int topMargin; };
3) main.c 主程序
#include<iostream> #include "MobileTriangle.h" using namespace std; #include <stdio.h> #include <conio.h> #define KB_UP 72 #define KB_DOWN 80 #define KB_LEFT 75 #define KB_RIGHT 77 #define KB_ESCAPE 27 void main() { int size; int left; int top; cout << "Enter the size = "; cin >> size; cout << "Enter the leftMargin = "; cin >> left; cout << "Enter the topMargin = "; cin >> top; MobileTriangle mobileTriangle(size, left, top); mobileTriangle.Show(size, left, top); cout << "请按方向键移动三角形,按q键退出程序" << endl; int KB_code = 0; while (KB_code != KB_ESCAPE) { if (_kbhit()) { KB_code = _getch(); switch (KB_code) { case KB_LEFT: left--; if (left >= 0) { mobileTriangle.Show(size, left, top); } else { cout << "cant't move left"; } break; case KB_RIGHT: left++; mobileTriangle.Show(size, left, top); break; case KB_UP: top--; if (top >= 0) { mobileTriangle.Show(size, left, top); } else { cout << "cant't move top"; } break; case KB_DOWN: top++; mobileTriangle.Show(size, left, top); break; } } } }
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报