Суббота, 16 Ноября 2024, 12:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
НохчиДата: Вторник, 19 Июня 2012, 22:04 | Сообщение # 401
заслуженный участник
Сейчас нет на сайте
abs(24 - moscow_time - x)
в переменной x твоя разница.


Многие вопросы по Windows отпадут, если посмотреть тут
PhantomДата: Вторник, 19 Июня 2012, 22:12 | Сообщение # 402
частый гость
Сейчас нет на сайте
Неполучается....вот код

Quote
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int moscow_time ;
setlocale ( LC_ALL, "Russian");
cout << "Введите время по Москве: " ;
cin >> moscow_time ;
int vremya_jap ;
vremya_jap = abs(24 - moscow_time - 5) ;
cout << "Время в Японии: " ;
cout << vremya_jap << endl ;
system ( "pause" ) ;
return 0 ;
}

Время в Японии +5ч.


Дайте мне точку опоры и я переверну весь мир!


GrossCageДата: Вторник, 19 Июня 2012, 22:16 | Сообщение # 403
Плюсовый Сишник
Сейчас нет на сайте
Заимел проблему. В цикле должен выводить символы, но, собака, не выводит. всю голову сломал... sad
Code

/*
1 (.) - floor
2 (#) - wall
3 (@) - player
*/
void genRoom(int room[10][6]){ // цикл генерации
      int i, j;
      for (i = 0; i >= 10; i++){
          for (j = 0; j >= 6; j++){
              room[i][j] = 1;
          }     
      }     
}

void drwRoom(int room[10][6]){  // цикл отрисовки   
      int i, j;
      for (i = 0; i >= 10; i++){
          for (j = 0; j >= 6; j++){
              if (room[i][j] = 1) cout << ".";
              if (room[i][j] = 2) cout << "#";
              if (room[i][j] = 3) cout << "@";
          }     
      }   
}


Code
genRoom(room1);   
      while (true){ // главный цикл
          system("cls");
          drwRoom(room1);
      }


Не пойму, в чем проблема,подскажите пожалуйста...


PixelPong - готов

Сообщение отредактировал GrossCage - Вторник, 19 Июня 2012, 22:16
НохчиДата: Вторник, 19 Июня 2012, 22:21 | Сообщение # 404
заслуженный участник
Сейчас нет на сайте
Quote (GrossCage)
  system("cls");

После напечатывания экран тут же очищается
Phantom, что не получается? Что вы вводите и что получаете на выходе?

ADD:
if (room[i][j] = 1) cout << ".";
сравнение ==


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Вторник, 19 Июня 2012, 22:23
PhantomДата: Вторник, 19 Июня 2012, 22:23 | Сообщение # 405
частый гость
Сейчас нет на сайте
Допустим ввожу 10,а получаю 9 хотя написал
Quote
vremya_jap = abs(24 - moscow_time - 5) ;

,а время +5часов должно быть!


Дайте мне точку опоры и я переверну весь мир!


НохчиДата: Вторник, 19 Июня 2012, 22:35 | Сообщение # 406
заслуженный участник
Сейчас нет на сайте
Phantom, предлагаю такой костыль тогда
Code

int main()   
{   
     
   int moscow_time ;   
   setlocale ( LC_ALL, "Russian");   
   cout << "Введите время по Москве: " ;   
   cin >> moscow_time ;   
   int vremya_jap ;   
     
   if(moscow_time - 5 > 24)
   {
    vremya_jap = abs(24 - moscow_time - 5) ;
   }
   else
    vremya_jap = moscow_time - 5;
      
   cout << "Время в Японии: " ;   
   cout << vremya_jap << endl ;   
     
     
   system ( "pause" ) ;   
   return 0 ;   
   }

сейчас заморачиваться над грамотным решением совсем настроения нет ( :


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Вторник, 19 Июня 2012, 22:37
MatouДата: Вторник, 19 Июня 2012, 22:35 | Сообщение # 407
Исходный коТ
Сейчас нет на сайте
Phantom, (24 - 9 - 5) == 9, все правильно, ваш КО.

vremya_jap = (moscow_time + 5 > 23)? moscow_time + 5 - 24: moscow_time + 5;



SaiteiДата: Среда, 20 Июня 2012, 00:39 | Сообщение # 408
старожил
Сейчас нет на сайте
Кто-нибудь знает что такое squall.dll и как с ней общаться? smile

Добавлено (20.06.2012, 00:02)
---------------------------------------------
Вот трабла:

bool soundInit()
{
sceneBegin();
m=soundLoad(C:\\Users\\Vlad\\Desktop\\SR res\\Music.mp3);
sceneEnd();
return 0;
}

ругается на "м" и путь к файлу

Добавлено (20.06.2012, 00:32)
---------------------------------------------
Я сам разобрался happy

Добавлено (20.06.2012, 00:39)
---------------------------------------------
Заметил "электронность" качества звука. Это косяк библиотеки?

GrossCageДата: Среда, 20 Июня 2012, 08:51 | Сообщение # 409
Плюсовый Сишник
Сейчас нет на сайте
Нохчи, Неа, заккоментировал "system("cls");", ничего. Не выводит и все.

PixelPong - готов
GECKДата: Среда, 20 Июня 2012, 12:14 | Сообщение # 410
заслуженный участник
Сейчас нет на сайте
GrossCage,
Quote (GrossCage)
for (i = 0; i >= 10; i++){
          for (j = 0; j >= 6; j++)

Ну, так он и не должен ничего выводить. Ты в цикл не заходишь ни разу.


Всё гениальное просто. И хреново работает.
Programmer_MouseMoveДата: Среда, 20 Июня 2012, 12:43 | Сообщение # 411
частый гость
Сейчас нет на сайте
Люди, а кто тут в С++ хорошо шарит?
MatouДата: Среда, 20 Июня 2012, 13:35 | Сообщение # 412
Исходный коТ
Сейчас нет на сайте
Quote (Programmer_MouseMove)
Люди, а кто тут в С++ хорошо шарит?

Никто.



SaiteiДата: Среда, 20 Июня 2012, 13:55 | Сообщение # 413
старожил
Сейчас нет на сайте
Объясните пожалуйста зачем делать свои функции и как с ними работать. И что это за void (в нём же нет смысла, вроде)
НохчиДата: Среда, 20 Июня 2012, 13:57 | Сообщение # 414
заслуженный участник
Сейчас нет на сайте
Quote (Matou)
(24 - 9 - 5) == 9

Магия?Математика!


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Среда, 20 Июня 2012, 13:58
SaiteiДата: Среда, 20 Июня 2012, 14:01 | Сообщение # 415
старожил
Сейчас нет на сайте
Ну допустим я хочу выделить функцию для звука (такой какбы логический блок)
goldsphereДата: Среда, 20 Июня 2012, 14:23 | Сообщение # 416
заслуженный участник
Сейчас нет на сайте
Quote (Saitei)
И что это за void (в нём же нет смысла, вроде)

допустим ты хочешь сделать функции просто выводящюю, что либо на экран.Все типы функций кроме void возвращают значение...(а тебе в твоей функции, это не требуется), а void ничего не возвращает.(процедура называется)

Добавлено (20.06.2012, 14:23)
---------------------------------------------
Quote
Объясните пожалуйста зачем делать свои функции и как с ними работать

Допустим если какаой-то блок кода у тебя повторяется несколько раз.Да и, чтобы избежать каши в коде.
Объявление функции:
Code
int sum(int a, int b)
{
return a+b
}

вызов:
Code
sum(1,2);

Функция вернёт тройку.
Или пример по сложнее:
Необходимо поменять значения переменных местами
Code
int IntPer(int *x,int *y) //Значения переменных меняются местами(permulations/пермуляция)
{
int *c = new int();
*c = *y;
*y = *x;
*x = *c;
delete c; //очень важно
return *x,*y; //не обязательно(можно использовать void)
}

вызов:
Code
IntPer(&a,&b);


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Среда, 20 Июня 2012, 14:28
StageДата: Среда, 20 Июня 2012, 14:53 | Сообщение # 417
постоянный участник
Сейчас нет на сайте
Quote

int IntPer(int *x,int *y) //Значения переменных меняются местами(permulations/пермуляция)
{
int *c = new int();
*c = *y;
*y = *x;
*x = *c;
delete c; //очень важно
return *x,*y; //не обязательно(можно использовать void)
}

Что это за дичь? Сам писал?
goldsphereДата: Среда, 20 Июня 2012, 15:03 | Сообщение # 418
заслуженный участник
Сейчас нет на сайте
Quote (Stage)
Сам писал?

а что тут сложного?
Quote (Stage)
Что это за дичь?

в каком смысле?


FinderX - Android Аркада
StageДата: Среда, 20 Июня 2012, 15:16 | Сообщение # 419
постоянный участник
Сейчас нет на сайте
Quote
в каком смысле?

В том смысле, что этот код - говно. Там где нужно поменять адреса местами - ты выделяешь дополнительную память. Про return даже говорить не буду.
SaiteiДата: Среда, 20 Июня 2012, 15:29 | Сообщение # 420
старожил
Сейчас нет на сайте
вообщем спасибо.
Ещё дельце есть. Я юзаю GEGE. Там ест ь1 функция по умолчанию, по её примеру сделал свою. Вообщем при запуске функции весь код, что дальше не работает. Т.е. одновременно две вызвать не получается. Можно их обьединить чем-то вроде "and"?
Code
engineRun(framefunc);
engineRun(SoundEngine);

в данном случае запускается только framefunc, а если запуск саунда прописываю в фреймфунке - они типа запускаются оба, но работает саунд. Машина как будто игнорит
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг