karl 777
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите найти ошибку. Я разбираюсь со структурами и узлами. В данной программе я хочу забрать данные из файла и перенести их в файл вывода, как опорная задача, в общем. Добавлено: struct Node { float floatnum; //Вещественное число Node *next; //Ссылка на следующий узел }; typedef Node *PNode; //Указатель на узел //---------------------------------------------------------------------- PNode Create (float x) //Создание узла { PNode NewNode=new Node; //Указатель на новый узел NewNode->floatnum=x; //Заполнение в созданом узле поле с числом NewNode->next=NULL; //Заполнение поля с ссылкой return NewNode; } //---------------------------------------------------------------------- void AddNode (PNode &Head, PNode NewNode) //Добавление узла { PNode q=Head; if (Head==NULL) //Если список пуст, то вставить первый узел { NewNode->next=q; Head=NewNode; return; } while (q->next!=NULL) //Поиск крайнего узла q=q->next; NewNode->next=q->next; q->next=NewNode; } //---------------------------------------------------------------------- int main() { FILE *in, *out; int n; float x; PNode Head=NULL, p; in=fopen("D:\\input.txt","r"); while (1) { n=fscanf(in, "%f", x); if (n<=0) break; p=Create(x); AddNode(Head, p); } fclose(in); out=fopen("D:\\output.txt", "w"); p=Head; while (p) { fprintf(out, "%f", p->floatnum); p=p->next; } fclose(out); } |