Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2009, 02:32   #1
spirit_trapper
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 19
Лампочка Ошибки в функциях ввода-вывода (Си)

Есть вот такой кусок кода:

Код:
int main ()
{
	char a;
	
	clear;
	do
	{
		printf("\nВыберите лабораторную работу:\n");
		printf("\n1. Лабораторная работа №2\
			  2. Лабораторная работа №4\
			  3. Выход из программы\n");
		a=getch();
		switch(a)
		{
			case '1': mainA(); break;
			case '2': mainB(); break;
			case '3': a=3; break;
			default: printf("\a");
		}
	}
	while(a != 3);
	return 0;
}
И вот такой (этого же кода, но чуть дальше):

Код:
int mainA()
{
	double *A;
	double n;
	char *fname= "lab_02.txt";
	
	clear;
	rand();
	do
	{
		printf("Введите размер массива (3<=n<=20): ");
		scanf("%lf",&n);
		printf("\nМинимальное число в массиве = %lf\n",min(A,n));
		A=(double *) malloc(n*sizeof(double));
		if (!A)
		{
			printf("\n\nВнимание! Недостаточно памяти!\n\n");
			free(A);
			return 0;
		}
	}
	while (n<3||n>N);
	RandomArr (A,n,-100,100);
	
	if (WriteFileA(A,n,fname)==0)
	{
		PrintArr(A,n);
		free (A);
		n=ReadSizeA(fname);
		A=(double *)malloc(n*sizeof(double));
		if(!A)
		{
			printf("\n\nВнимание! Недостаточно памяти!\n\n");
			free(A);
			return 0;
		}
		ReadFileA(A,n,fname);
		PrintArr(A,n);
		printf("\nМинимальное число в массиве = %lf\n",min(A,n));
		free(A);
		getch();
	}
	else
	{
		free(A);
		printf("\n\nВнимание!Ошибка записи файла!\n\n");
		return 0;
		getch();
	}
	return 0;
}
Проблема состоит в том, что линковщик постоянно находит ошибку в применении функций ввода вывода (насколько я понял), а именно выдает следующее:

Код:
laba_5.cpp:(.text+0x22): undefined reference to `stdscr'
laba_5.cpp:(.text+0x2a): undefined reference to `wgetch'
/tmp/ccibK5H1.o: In function `mainA()':
laba_5.cpp:(.text+0x297): undefined reference to `stdscr'
laba_5.cpp:(.text+0x29f): undefined reference to `wgetch'
collect2: ld returned 1 exit status
make: *** [laba_5] Ошибка 1
Почему так происходит? Я совершенно точно знаю что данный код будет работать под Борландом 3.11, но сам пишу под Юникс, поэтому и возник такой вот резонный вопрос: что не так в коде.

PS Это, как Вы наверное поняли, только куски. Я подумал что проблема не требует выкладывания всего кода. Возможно я не прав.
В любом случае - помогите, пожалуиста.
spirit_trapper вне форума Ответить с цитированием
Старый 28.12.2009, 08:46   #2
v01d
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 33
По умолчанию

не уверен, но вроде бы для wgetch надо подключать ncurses.h и инициализировать библиотеку функцией initscr();
v01d вне форума Ответить с цитированием
Старый 28.12.2009, 12:54   #3
spirit_trapper
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 19
По умолчанию

v01d

Нет, не помогает. Мне кажется, что я где-то что-то не добавил или наоборот добавил лишнее в командах ввода-вывода.
spirit_trapper вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенаправление ввода/вывода dudeboy Win Api 0 16.11.2009 11:36
JavaScript поля ввода/вывода Doublefaced Помощь студентам 2 03.06.2009 01:36
система ввода вывода StudentPolitech Общие вопросы C/C++ 3 02.04.2009 22:22
Небольшой вопрос по ошибки ввода вывода. NoHeart Помощь студентам 4 19.01.2009 20:13
перехват консольного ввода\вывода Артем5555555 Win Api 14 28.10.2008 23:20