Я новичок в C++ и работал над назначением для класса. Нам был предоставлен файл .txt, он должен прочитать информацию из него и сохранить его в связанном списке, а затем распечатать его пользователю. После нескольких часов попыток манипулировать приведенными нами примерами, а еще пару часов, когда мы пытались написать код с нуля, я становлюсь ближе к нему.Ошибка C++ Linker
Файл называется payroll.txt и имеет около 30 или около линий в этом типе формата:
Clark Kent 55000 2500 0,07
Lois Lane 65000 1000 0,06
Tony Stark 70000 1500 0,05
Наша профессор действительно большой, комментируя наш код, поэтому я надеюсь, что это поможет. Это мой код:
#include <cstdlib>
#include <stdio.h>
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
#define MAX_STR 100
/* Structure Definition */
typedef struct employeeType Employ;
struct employeeType {
char first[MAX_STR]; /* first name */
char last[MAX_STR]; /* last name */
int salary; /* salary */
int bonus; /* bonus */
double deduc; /* percent deduction */
Employ *next;
};
/* operations on the data */
Employ *ReadRecord();
void PrintRecord(Employ *);
main()
{{
Employ *head, *tail, *newp, *tmp;
head = tail = newp = tmp = NULL;
FILE *in; /* file description */
/* open a file, check if it's there */
if((in = fopen("payroll.txt", "r")) == NULL)
{
printf("Error opening file\n");
exit(1);
}
while(newp = ReadRecord())
{
/* Add object to the list */
if(head == NULL)
{
/* Beginning of the list */
head = newp;
/* Current record */
tail = newp;
}
else
{
/* Previous record reference to new record */
tail->next = newp;
/* Current record */
tail = newp;
}
}
/* End of the list */
tail->next = NULL;
/* Loop through the list */
for(tmp=head; tmp!=NULL; tmp=tmp->next)
{
PrintRecord(tmp);
}
Теперь, когда я компилирую, я получаю ошибки:
[Linker Error] неопределенную ссылку на ReadRecord()
[Linker Error] неопределенному ссылку на PrintRecord (employeeType *)
Я почти уверен, что команды ReadRecord и PrintRecord, которые он нам дал в этом примере, это Pseudo Code, предназначенный для нас, но я понятия не имею, что там можно сделать. Я проливал много учебников и искал простой способ исправить ошибки компоновщика в Интернете, и у меня закончились идеи.
Если кто-нибудь может мне помочь или указать мне в правильном направлении, было бы весьма полезно. Ссылка на веб-страницу с дополнительной информацией о связанных списках и ошибках компоновщика будет еще более удивительной.
Спасибо,
Адам
Какой C++ компилятор вы используете? – 2010-07-06 14:59:37
Я использую Dev-C++. – AdamY
Вы должны добавить тег C. Это вряд ли C++, кроме включенных заголовков и 'use' clause. – pmr