ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #951  
Старый 06.04.2008, 18:34
Benzin
Познающий
Регистрация: 15.01.2007
Сообщений: 41
Провел на форуме:
267196

Репутация: 6
По умолчанию

1) кавычки
2) добавь using namespace std;
3) не coun, а cout
4) не прально написана SysNameBuffer в GetVolumeInformation
5) не прально MCLength в GetVolumeInformation
5) ошибки в скобках
7) кароче исправил, вот что получилось:

Код:
#include <windows.h> 
#include <iostream>
using namespace std;

void main() 
{ 
    char NameBuffer[MAX_PATH]; 
    char SysNameBuffer[MAX_PATH]; 
    DWORD VSNumber; 
    DWORD MCLength; 
    DWORD FileSF; 

	TCHAR root[]="C:\\";
	BOOL info = GetVolumeInformation(root, NameBuffer, sizeof(NameBuffer), &VSNumber, &MCLength, &FileSF, SysNameBuffer, sizeof(SysNameBuffer));

    if (info) 
    {
		cout << NameBuffer << endl; 
		cout << SysNameBuffer << endl; 
		cout << VSNumber << endl; 
    } 
}
В настройках проекта, поставь Use Multi-Byte Character Set, вместо unicode
 

  #952  
Старый 07.04.2008, 00:08
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме:
233095

Репутация: 21
Отправить сообщение для horlyk с помощью ICQ
Exclamation

Народ, вобщем есть немного одна проблемка. тут минипрога которая должна считать колличество символов и при желании пользователя повторять эту процедуру. Она работает только 1 раз, все остальные она проскакивает, не давая ввести слова, автоматически ставля 0 и переходит к вопросу о выборе действия - повторить или выйти. Помогите плз решить эту задачку - я уже много вариантов пробовал - не выходит(

#include<iostream>


using namespace std;

int main()
{
int again;
begin:
char szInput[256];




puts ("\n\n\n\nEnter a sentence: ");
gets(szInput);

printf("\n\n\t\tThe sentence entered is %u characters long)\n",strlen(szInput));
puts("\n\n\t\t\t*** Third task completed ***");

printf("\n\n\nagain? 1 - yes\n");
cin >> again;
if(again == 1)
{

goto begin;}




return 0;
}

Последний раз редактировалось horlyk; 07.04.2008 в 00:12..
 

  #953  
Старый 07.04.2008, 09:47
hackconnect
Познающий
Регистрация: 08.03.2007
Сообщений: 65
Провел на форуме:
91259

Репутация: 16
Отправить сообщение для hackconnect с помощью ICQ
По умолчанию

не юзайте вы goto! забудьте об этом как о страшном сне 90х годов!

Вынеси свой код в функцию и вызывай while(myfunction())
захочешь выйти напишешь в функции по ифу return false;
 

  #954  
Старый 07.04.2008, 15:01
echobyte
Moderator - Level 7
Регистрация: 07.03.2008
Сообщений: 568
Провел на форуме:
4140471

Репутация: 708


Отправить сообщение для echobyte с помощью ICQ
По умолчанию

Код:
#include<iostream>

using namespace std;
int again;
char szInput[256];
  
int main()
{
   for(;;)
   {
     puts ("\n\n\n\nEnter a sentence: ");
     cin>>szInput;
     printf("\n\n\t\tThe sentence entered is %u characters long)\n",strlen(szInput));
     puts("\n\n\t\t\t*** Third task completed ***");
     printf("\n\n\nagain? 1 - yes\n");
     
     cin >> again;    
     if(again!=1)
     break;
   }
   return 0;
}
 

  #955  
Старый 07.04.2008, 19:08
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме:
314553

Репутация: 38
Отправить сообщение для KSoniX с помощью ICQ
По умолчанию

есть ли в С++ функция которая находит из char массива сходный текст и возвращает его индекс?

Последний раз редактировалось KSoniX; 07.04.2008 в 19:24..
 

  #956  
Старый 07.04.2008, 21:49
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме:
233095

Репутация: 21
Отправить сообщение для horlyk с помощью ICQ
По умолчанию

Цитата:
Сообщение от hackconnect  
не юзайте вы goto! забудьте об этом как о страшном сне 90х годов!

Вынеси свой код в функцию и вызывай while(myfunction())
захочешь выйти напишешь в функции по ифу return false;
Может я немного не понимаю, но у меня всерано не выходит. Перенес код в отдельную ф-ю, вызывал ее через мейн так как ты говорил, через иф поставил ретурн фалсе. Не выходит чтото у меня ( Много вариантов перепробовал - все тоже самое( Помогите плз, ну не могу въехать...
 

  #957  
Старый 07.04.2008, 22:01
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Цитата:
Сообщение от horlyk  
Может я немного не понимаю, но у меня всерано не выходит. Перенес код в отдельную ф-ю, вызывал ее через мейн так как ты говорил, через иф поставил ретурн фалсе. Не выходит чтото у меня ( Много вариантов перепробовал - все тоже самое( Помогите плз, ну не могу въехать...
Чем не устраивает код что дал echobyte?

Последний раз редактировалось z01b; 07.04.2008 в 22:06..
 

  #958  
Старый 07.04.2008, 22:04
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

Репутация: 197
Отправить сообщение для KindEcstasy с помощью ICQ
По умолчанию

>есть ли в С++ функция которая находит из char массива сходный текст и возвращает его индекс?

Да. bsearch(), заглавник stdlib.h возвращает указатель на элемент массива
 

  #959  
Старый 07.04.2008, 22:06
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

Репутация: 197
Отправить сообщение для KindEcstasy с помощью ICQ
По умолчанию

horlyk
Значит условие ложное раз не выходит
 

  #960  
Старый 07.04.2008, 22:21
Benzin
Познающий
Регистрация: 15.01.2007
Сообщений: 41
Провел на форуме:
267196

Репутация: 6
По умолчанию

2 horlyk: А чем тебя не устраивает вышеописанный вариант вариант?
Код:
#include <iostream.h>
using namespace std;

int again;
char szInput[256];
  
int main()
{
   for(;;)
   {
     puts ("\n\n\n\nEnter a sentence: ");
     cin>>szInput;
     printf("\n\n\t\tThe sentence entered is %u characters long)\n",strlen(szInput));
     puts("\n\n\t\t\t*** Third task completed ***");
     printf("\n\n\nagain? 1 - yes\n");
     
     cin >> again;    
     if(again!=1)
     break;
   }
   return 0;
}
Только надо добавить:
#include <string.h>
#include <stdio.h>

Ну или хочешь то можно и так:
Код:
#include <iostream.h>
#include <string.h>
#include <stdio.h>

int myfunc();

int again=1;
char szInput[256];
  
int main()
{
	while (again==1)
	{
		myfunc();		
	}

	return 0;
}

int myfunc()
{
	puts ("\n\n\n\nEnter a sentence: ");    
	cin>>szInput;     
	printf("\n\n\t\tThe sentence entered is %u characters long\n",strlen(szInput));     
	puts("\n\n\t\t\t*** Third task completed ***");    
	printf("\n\n\nagain? 1 - yes\n");     
    cin >> again;
	 
    if(again!=1)
	{
		return false;
	}
	return 0;
}
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ