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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2008, 20:13   #1
kermit
Пользователь
 
Аватар для kermit
 
Регистрация: 08.06.2008
Сообщений: 14
По умолчанию [Linker error] undefined reference to `function name`

Здравствуйте.
Возникла небольшая проблема с программой, прошу помочь)
Цитата:
Компоненты типизированного файла – массивы, состоящие из 7 вещественных чисел. Вывести на экран те из них, которые не содержат нулей.
ПРограмму я написал, но вот только собиратся она не хочет

Выдает ошибку типа:
Код:
  [Linker error] undefined reference to `ScreenOut(char const*, double*, int)'
Вот сама программа:
Код:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdio.h>

using namespace std;

#define N 7

void CreatInFile(const char *InFile, double array[N]);   
void ViewFile(const char *InFile);   
void ScreenOut(const char *InFile, double array[N], int count);   
  
int main(int argc, char *argv[])   
{  
  const char first_file[] ={"1.txt"};   
     
  
  double array[N]; 
  int x;
  int count;
  
  cout<<"Input arrays number:";
  cin>>x;
  cout<<endl;
  
  for(count=0; count<=x; count++)
                 CreatInFile(first_file, array);    
  
  ViewFile(first_file);   
  ScreenOut(first_file ,array,x);   
     
  
  system("PAUSE");   
  return EXIT_SUCCESS;   
}   
  
void CreatInFile(char const *File, double array[N])   
{  
  int i;  
  ofstream outFile(File);  
  for(i=0; i<N; i++)
  {
      array[i]=50-rand()%100/5.25;      
      outFile.width(4);  
      outFile<< array[i];     
    outFile<<endl;   
  }   
  outFile<<endl;          
  outFile.close();   
}   
  
void ViewFile(const char *File)   
{  
  ifstream file(File);  
  cout<< file.rdbuf();  
  file.close();  
}   
  
void ScreenOut(const char *InFile, int array[N], int count)   
{  
  int i, j, dum;

  ifstream inFile(InFile);  
 
  for(j=0; j<=count; j++)
  {
           dum=0;
           for(i=0; i<N; i++)
           {
                    inFile>> array[i];
                    if(array[i]=0)
                    {
                                  dum++;
                    }
           }
           if(dum==0)
           {
                     for(i=0; i<N; i++)
                     {
                              cout.width(4);
                              cout<<array[i];
                     }
                     cout<<endl;
           }
         //  fseek(inFile,0L,SEEK_SET);  ---НУЖНА ИЛИ НЕТ?
  }
            
  inFile.close();   
      
}
Вроде ошибок нет, но не собирается

И еще проблема, немогу понять нужна ли ф-я fseek()? сначала подмал что нужна для организации последовательного доступа к массивам, но потом закоментировал. Прошу помощи
kermit вне форума Ответить с цитированием
Старый 10.06.2008, 20:47   #2
Игорь007
Пользователь Подтвердите свой е-майл
 
Аватар для Игорь007
 
Регистрация: 30.05.2008
Сообщений: 96
По умолчанию

В прототипе функци

Код:
void ScreenOut(const char *InFile, double array[N], int count);
array типа double, а в определении int

Код:
void ScreenOut(const char *InFile, int array[N], int count)
Игорь007 вне форума Ответить с цитированием
Старый 10.06.2008, 21:10   #3
Игорь007
Пользователь Подтвердите свой е-майл
 
Аватар для Игорь007
 
Регистрация: 30.05.2008
Сообщений: 96
По умолчанию

fseek(inFile,0L,SEEK_SET); тебе здесь использовать не получиться:
эта функция принимает указатель на структуру типа FILE.

Используй inFile.seekg(0);
Игорь007 вне форума Ответить с цитированием
Старый 11.06.2008, 01:06   #4
kermit
Пользователь
 
Аватар для kermit
 
Регистрация: 08.06.2008
Сообщений: 14
По умолчанию

Спасибо, помогло.
А inFile.seekg(0); можно использовать для ofstream?
kermit вне форума Ответить с цитированием
Старый 11.06.2008, 09:19   #5
Игорь007
Пользователь Подтвердите свой е-майл
 
Аватар для Игорь007
 
Регистрация: 30.05.2008
Сообщений: 96
По умолчанию

для ofstream существует .seekp
Игорь007 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какие функции есть в разделе Lookup & Reference. ?????????: Катруся Помощь студентам 2 09.06.2008 08:24
InttoiHex function GAGARIN-NEW Компоненты Delphi 4 27.03.2008 20:21
function procedure Toxa Microsoft Office Access 1 28.11.2007 18:32
Помогите убрать "Undefined offset" kirill555 PHP 5 31.10.2007 13:44
function WinExecAndWait malevich Общие вопросы Delphi 4 05.02.2007 19:00