欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++屏幕为文本方式(80X25),原点位于屏幕左上角,在屏幕上随机产生十个点并且显示出来(用“☆”)。找出离原点最近的一个点,显示为“★”

程序员文章站 2022-05-20 21:34:34
...
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<windows.h>
using namespace std;
class Print
{
private:
    int x,y;
public:
     void gotoxy(int x,int y)
    {
        HANDLE h;
        COORD c;
        c.X=x;
        c.Y=y;
        h=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleCursorPosition(h,c);
    }
    void print1(int x1,int y1)
    {
       gotoxy(x1,y1) ;
       cout<<"★";
    }
    void print2(int x2,int y2)
    {
        gotoxy(x2,y2);
        cout<<"☆";
    }
    void printf()
    {
        int a[10];
        int min;
        int x[10],y[10];
        int i;
        srand(time(0));
        for( i=0;i<10;++i)
        {
            x[i]=rand()%80+1;
            y[i]=rand()%25+1;
            a[i]=x[i]*x[i]+y[i]*y[i];
        }
        min=a[0];
        int k=0;
        for(i=0;i<10;++i)
        {
            if(a[i]<min)
            {
                min=a[i];
                k=i;
            }
        }
        for(i=0;i<10;++i)
        {
            if(k==i)
                print1(x[i],y[i]);
            else
                print2(x[i],y[i]);
        }
    }
};
int main()
{
    Print p;
    p.printf();
}