Форум программистов, компьютерный форум CyberForum.ru

вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) программа не округляет это число (в большую сторону) до 4. Перелопатил тонны литературы, но пропустил или не нашёл этого, большая просьба написать функцию которая могла бы это делать, или способ какой.
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; var d:array of longint; procedure c; var a,b,i:longint; http://www.cyberforum.ru/cpp-beginners/thread41137.html
массив структур и функции C++
Разработать модель прайс-листов по комплектующим. Каждую единицу оборудования должна описывать соответствующая структура (например, структура, описывающая видеокарты или мониторы), объект которой может входить в прайс-лист. Соответственно, прайс-лист - это массив структур, каждая из которых хранит один из вариантов оборудования и его цену. Написать функции для создания, удаления,...
C++ Таймер не работает в Turbo C++
Реализовал таймер в Visual C++. #include "stdafx.h" #include <iostream.h> #include <conio.h> #include <time.h> #include <stdio.h> #include <stdlib.h> const int N=100000000;
C++ не могу завершить код :( http://www.cyberforum.ru/cpp-beginners/thread41093.html
он меняет 1 слово из фаила example.txt затем создоёт vasea-out.txt с уже изменёным текстом.. но он меняет только 1 слово.. как сделать чтобы он менял болише слов к приемру в example.txt написано "Вася хороший мальчик" водим "Вася хороший" затем водим "Жора плохой" и получаем в vase-out.txt "Жора плохой мальчик" за ранее спасибо #include <iostream> #include <fstream>
C++ MS VC++ 6.0:Как "подавить" выдачу конкретных варнингов в конкретных местах? Не хочу, чтобы выдавались конкретные варнинги, относящиеся к определённым областям заданных файлов. Как это сделать. Про "Warning Level" в насторйках студии я в курсе. Но мне нужно подавить варнинг с конкретным номером (К примеру C4244). И только в определённых местах заданных файлов. В том числе в системных файлах библиотек компилятора. Можно это как либо сделать? подробнее

Показать сообщение отдельно
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12

вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер - C++

20.06.2009, 00:18. Просмотров 1058. Ответов 0
Метки (Все метки)

Please, help me!!!

Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов.

Проблема в том, что необходимо исправить код, чтоб фигуры не исчезали за экран (т.е. 640х460) и были компактным набором, т.е. двигались неменяя своего положения относительно друг друга и стукаясь об стенку экрана меняли свое нпправление движения.

Код
[CPP]#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>

  class FiGura
{
protected:
  int x,y,w,h,color;
public:
  FiGura();
 ~FiGura();
  void SetCoord(int x,int y){this->x=x; this->y=y;};
  void SetRazmer(int x,int y){this->w=x; this->h=y;};
  void SetCvet(int color){this->color=color;};
  virtual void ViVod()=0;
};

  FiGura::FiGura()
{
  cout<<"figyra sozdana"<<endl;
}

  FiGura::~FiGura()
{
  closegraph();
  cout<<"figyra udalena"<<endl;
}

  void inic()
{
  int grdriver,gmode,errorcode;
  detectgraph(&grdriver,&gmode);
  initgraph(&grdriver,&gmode,"D:\\BC\\BGI ");
  errorcode=graphresult();
  if (errorcode!=grOk)
    {cout<<"osibka"<<endl;
    exit(1);}
};

  class KvaDrat:public FiGura
{
public:
  virtual void ViVod()
{setcolor(color);
  rectangle(x,y,x+w,y+w);}
};

  class TreuGol:public FiGura
{
public:
  virtual void ViVod()
{setcolor(color);
  line(x,y+w,(x+w/2),y);
  line((x+w/2),y,x+w,y+w);
  line(x+w,y+w,x,y+w);}
};

void main()
{int i,j,k,x=10,y=10;
FiGura*f[10];
TreuGol tr[4];
KvaDrat kv[4];
inic();


for (i=0;i<4;i++){
tr[i].SetCoord(random(100),random(100));
tr[i].SetRazmer(30,30);
tr[i].SetCvet(random(15)+1);
tr[i].ViVod();
f[i]=&tr[i];
kv[i].SetCoord(random(100),random(100));
kv[i].SetRazmer(random(50),random(50));
kv[i].SetCvet(random(15)+1);
kv[i].ViVod();
f[i+4]=&kv[i];
}
while(!kbhit())
{
  for (j=0;j<8;j++){
  f[j]->SetCvet(random(15)+1);
  f[j]->ViVod();
  }
sleep(1);

 for (k=0;k<8;k++){
 f[k]->SetCvet(BLACK);
 f[k]->ViVod();
 f[k]->SetCoord(x,y);
 f[k]->SetRazmer(random(50),random(50));
 }
 y+=random(100);
 x+=random(100);
}
 getch();
}[/CPP]
Довольно маленькая прога и довольно простая, но у меня просто не хватает уже фантации, какие б еще циклы написать для решения этой задачи. Очень Вас прошу помочь мне, пожалуйста!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru