HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #3821  
Старый 25.09.2009, 19:37
click
Участник форума
Регистрация: 26.04.2009
Сообщений: 146
Провел на форуме:
468682

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

main должен возварщать код возврата, целое, поэтому и int.
не забываем return 0; и откопай книгу, там все напсисано, любую.
И еще не надо путать вызов ф -ции с объявленияем

Последний раз редактировалось click; 25.09.2009 в 19:46..
 
Ответить с цитированием

  #3822  
Старый 25.09.2009, 19:39
Kreoda
Познающий
Регистрация: 09.09.2009
Сообщений: 33
Провел на форуме:
38355

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

Я и не путаю - это ошибка компиля.Различие я знаю)
 
Ответить с цитированием

  #3823  
Старый 25.09.2009, 19:42
click
Участник форума
Регистрация: 26.04.2009
Сообщений: 146
Провел на форуме:
468682

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

Kreoda, где это ты заметил ошибку компилятора? int main() так и должно быть.. или я что-то пропустил?
 
Ответить с цитированием

  #3824  
Старый 25.09.2009, 19:48
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

вообще всё зависит от версии компилятора и вообще всякой левой хрени.
Вот в MS VC++ 6.0 можно было описывать
int main(int argc, char* argv[])
а можно было писать и void main()
в всё зависит от функции InitCrt итд итп
 
Ответить с цитированием

  #3825  
Старый 25.09.2009, 20:10
Hiro Protagonist
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме:
193434

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

гм, кабэ в последней студии все нормально и это отвечает стандарту. Kreoda чтото ты темнишь =\ код и версию студии сюда кидай.

Последний раз редактировалось Hiro Protagonist; 25.09.2009 в 20:26..
 
Ответить с цитированием

  #3826  
Старый 25.09.2009, 21:38
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

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

Помогите написать функцию чтения из файла чисел типа double и поместить их в переменные.
Ниже привожу код, при компиляции выдает херню какую - то прочитанные числа не совпадают с
тем что написанно в оригинале.

текстовый файл вида

10.2 12.5 17.6 15.2
14.3 52.1 10.7 11.7
и т.д.

тип переменной elem

Код:
#define razmer 4

struct points
{
	double aPoints[razmer];
};
Эта функция читает файл построчно, переменная kolvo следит за тем чтобы строк не было больше

чем массив.

Код:
int cCluster::load_file(char* name){
cout<<"Test function \n";
	char line[100],*stroka;
	FILE *fp;
	fp=fopen(name,"r");
	int i=0;
	
	while(!feof(fp)){
		if(i>kolvo)
			break;
		stroka=fgets(line,100,fp);
		printf("Here is read %d line \n here znacheniy \n %s",i,stroka);
		elem[i]=str2points(stroka);
		i++;
	}
	fclose(fp);
	return 0;
}
Функция str2points(char* line) разбивает строку на числа с помощью ф-ции strtok получает

числа и приводит их к типу double.

Код:
points cCluster::str2points(char* line){
	char *str;
	int i=0;
	points temp;
	str=strtok(line," ");
	printf("here is strtok %s\n",str);
	while(str!=NULL){
		if(i>razmer)
			break;
		
		temp.aPoints[i]=(double)*str;
		str=strtok(NULL," ");
		printf("here is strtok %s\n",str);
		printf("here is point %d\n",temp.aPoints[i]);
	}
	
	return temp;
}
 
Ответить с цитированием

  #3827  
Старый 25.09.2009, 21:54
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

а структуру то зачем заводишь? можно просто массив переменных объявить, а то бред получается - излишнее усложнение. или планируется делать класс и добавлять методы?
 
Ответить с цитированием

  #3828  
Старый 25.09.2009, 21:55
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

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

2Ra$cal
Да я написал класс, просто весь выкладывать смысла нет, а вот в этом моменте у меня проблемы.
 
Ответить с цитированием

  #3829  
Старый 25.09.2009, 22:00
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

temp.aPoints[i]=(double)*str; - негодится
_gcvt() используй
 
Ответить с цитированием

  #3830  
Старый 25.09.2009, 22:07
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

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

Цитата:
Сообщение от Ra$cal  
temp.aPoints[i]=(double)*str; - негодится
_gcvt() используй
Так мне же наоброт нужно из строки в double, gcvt() делает обратный преобразования из double в строку.

Если я не туда посмотрел, то дай ссылочку на ресурс где ф-ция разобранна.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ