ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

12.06.2009, 21:11
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
<< endl;
|
|
|

12.06.2009, 21:16
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
спасибо помогло!
|
|
|

12.06.2009, 23:18
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Подскажите почему эта ф-ция
Код:
char* regtp(DWORD tp)
{
if(tp==REG_BINARY){return("REG_BINARY");}
if(tp==REG_DWORD){return("REG_DWORD");}
if(tp==REG_DWORD_LITTLE_ENDIAN){return("REG_DWORD_LITTLE_ENDIAN");}
if(tp==REG_DWORD_BIG_ENDIAN){return("REG_DWORD_BIG_ENDIAN");}
if(tp==REG_EXPAND_SZ){return("REG_EXPAND_SZ");}
if(tp==REG_LINK){return("REG_LINK(reserved for system)");}
if(tp==REG_MULTI_SZ){return("REG_MULTI_SZ");}
if(tp==REG_NONE){return("REG_NONE");}
if(tp==REG_QWORD){return("REG_QWORD");}
if(tp==REG_QWORD_LITTLE_ENDIAN){return("REG_QWORD_LITTLE_ENDIAN");}
if(tp==REG_SZ){return("REG_SZ");}
}
В борладнском IDE работает нормально а в вижуал студио выбивает ошибку доступа к памяти?
|
|
|

12.06.2009, 23:32
|
|
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме: 2866942
Репутация:
350
|
|
привет всем....
надо мануал по графике в С... (<graphics.h>)
я понимаю что это оч старое.. но нуо для лабораторной работы.....
Компилятор Борланд С++ 3.0
|
|
|

12.06.2009, 23:42
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
Появилось ещё несколько вопросов, можно ли как то узнать имя пользователь , который сейчас использует систему, и как после отправки запроса через функцию system() , ответить на вопрос продолжить , да . Вот пробовал после первого вопроса посылать 2 игриком, и потом 3 с аски кодом ентера, но почему то не выходит, скорее всего после 1 запроса прога сразу выводит сообщение и ждёт продолжения, а потом выполняются 2 вторых запроса, как можно решить эту проблему?
|
|
|

13.06.2009, 03:09
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
GetUserName - получить имя пользователя. инклюдить windows.h может понадобится Advapi32.lib.
system() для взаимодействия использовать категорически не советую. максимум - system("pause"). ито лучше юзать getch и иже с ними
|
|
|

13.06.2009, 11:29
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
Сообщение от _nic
Подскажите почему эта ф-ция
Код:
char* regtp(DWORD tp)
{
if(tp==REG_BINARY){return("REG_BINARY");}
if(tp==REG_DWORD){return("REG_DWORD");}
if(tp==REG_DWORD_LITTLE_ENDIAN){return("REG_DWORD_LITTLE_ENDIAN");}
if(tp==REG_DWORD_BIG_ENDIAN){return("REG_DWORD_BIG_ENDIAN");}
if(tp==REG_EXPAND_SZ){return("REG_EXPAND_SZ");}
if(tp==REG_LINK){return("REG_LINK(reserved for system)");}
if(tp==REG_MULTI_SZ){return("REG_MULTI_SZ");}
if(tp==REG_NONE){return("REG_NONE");}
if(tp==REG_QWORD){return("REG_QWORD");}
if(tp==REG_QWORD_LITTLE_ENDIAN){return("REG_QWORD_LITTLE_ENDIAN");}
if(tp==REG_SZ){return("REG_SZ");}
}
В борладнском IDE работает нормально а в вижуал студио выбивает ошибку доступа к памяти?
в принцыпи должно всё работать может тиы её неправилно исползуеш в вызывающеи функций
вот неболшои пример хоть и ламерски думаю поможет
#include <iostream>
using namespace std;
char *ft();
int main ()
{
cout<<ft()<<endl; /* !!!!!!!!!!!!!!!!!! я когда тут *ft() он выводил мине тока первую букву "H", может поетому и ошибка попробуи исползовать укозатель без * если ты ето делаеш */
system ("pause");
return 0;
}
char *ft ()
{
return ("Hello");
}
если неполучится значит ошибка гдето в сровнении
if(tp==REG_BINARY) ибо неизвестно откуда ти ето взял REG_BINARY наверное какаето гобалная переменая или константная ели нехуя ненаидеш значет не ветом куске ошибка 
Последний раз редактировалось new-sl; 13.06.2009 в 11:34..
|
|
|

13.06.2009, 15:36
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
Сообщение от Ra$cal
GetUserName - получить имя пользователя. инклюдить windows.h может понадобится Advapi32.lib.
system() для взаимодействия использовать категорически не советую. максимум - system("pause"). ито лучше юзать getch и иже с ними
О спс. С этим разобрался.
А в чём ошибка тут,
Код:
int Shop(int size_of_inventory){
enum {Healing_botle=1,Power_botle=2,Intelect_botle=3,Exit_the_shop=4};
bool shop=true;
int shop_action;
int shop_kol;
int i=0,j=0;;
int price;
system("cls");
Info("You will get to the shop soon!");
while(shop){
system("cls");
cout<<"Healing botle - 1 ||| Price - 100\nPower botle - 2 ||| Price - 300\nIntelect botle - 3 ||| Price - 300\n"
<<"---------------------------------\nExit the shop - 4\n\n";
cin>>shop_action;
switch(shop_action){
case Healing_botle:
cout<<"\nHow many?\n\n";
cin>>shop_kol;
price=100;
if(Shop_Buy(player.money,shop_kol,price)==1){
Shop_Error_Slotes(size_of_inventory,shop_kol);
player.money=player.money-(shop_kol*price);
for (i=size_of_inventory;i<10&&j<shop_kol;i++,j++,size_of_inventory++){
player.inventar[i].name=1;
player.inventar[i].bonus=player.hp+30;
}
}
i=0;
j=0;
break;
case Power_botle:
cout<<"\nHow many?\n\n";
cin>>shop_kol;
price=300;
if(Shop_Buy(player.money,shop_kol,price)==1){
Shop_Error_Slotes(size_of_inventory,shop_kol);
player.money=player.money-(shop_kol*price);
for (i=size_of_inventory;i<10&&j<shop_kol;i++,j++,size_of_inventory++){
player.inventar[i].name=2;
player.inventar[i].bonus=player.power+30;
}
}
i=0;
j=0;
break;
case Intelect_botle:
cout<<"\nHow many?\n\n";
cin>>shop_kol;
price=300;
if(Shop_Buy(player.money,shop_kol,price)==1){
Shop_Error_Slotes(size_of_inventory,shop_kol);
player.money=player.money-(shop_kol*price);
for (i=size_of_inventory;i<10&&j<shop_kol;i++,j++,size_of_inventory++){
player.inventar[i].name=3;
player.inventar[i].bonus=player.intelect+30;
}
}
i=0;
j=0;
break;
case Exit_the_shop:
shop=false;
break;
}
}
shop=true;
return size_of_inventory;
}
прототип создаю , вызываю так,
case Shop:
Shop(size_of_inventory);
break;
Компилятор выкидует с ошибкой , Ошибка 1 error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов c:\users\антон\documents\visual studio 2008\projects\bk\bk\bk.cpp 138
Немогу разобраться , что это за ошибка уже в мсдн втыкаю 20 минут
а и такой вопрос, как сделать рандомное число из промежутка? Доспустим, чтобы всегда бралось разное число из промежутка от 1 до 100
Последний раз редактировалось Djezul; 13.06.2009 в 15:52..
|
|
|

13.06.2009, 15:54
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
В case'e не может быть ф-ции.
|
|
|

13.06.2009, 16:05
|
|
Познающий
Регистрация: 08.12.2008
Сообщений: 58
Провел на форуме: 153361
Репутация:
10
|
|
как не может если у меня выше написано
case Inventary:
Inventory(size_of_inventory);
break;
и всё норм, а что тогда можно сделать? Просто позаменять на if всё?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|