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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2013, 17:45   #1
weightless
 
Регистрация: 17.02.2013
Сообщений: 4
По умолчанию Cоздать односвязный список из текстового файла без СТЛ

Здравствуйте! Требуется создать односвязный список из текстового файла
[SPOILER]12.12.2034 Иван Палыч 12344
3.05.2013 Федор Степаныч 435236
10.07.2013 Александр Андреевич 463543
05.06.2013 Татьяна Петровна 123134[/SPOILER]
Строки считать как узлы, необходимо провести поиск по узлам( в случае указания номера узла, вывести строчку на экран), инвертировать список. В программе использовать pop() и push().

Заранее большое спасибо!

Здесь создал класс:[SPOILER][CPP]#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>

class TNode {
public:
char * Caption;
TNode * next;
TNode(char* a = "") {
if (a) {
Caption = new char[strlen(a) + 1];
strcpy(Caption, a);
}
else {
Caption = new char[20];
strcpy(Caption, "Node Unnamed");
}
}

~TNode() {delete[]Caption;}
};

class myList {
public:
TNode *Head;
TNode * Add(char *);
myList();
~myList();
};

myList::~myList() {
while (Head) {
TNode * node = Head;
Head = Head->next;
delete node;
}
}

TNode * myList::Add(char * a)
{
TNode * newNode = new TNode(a);
newNode->next = Head;
Head = newNode;
return newNode;
}

myList::myList() {
Head = NULL;
}

class TStack : public myList {
private:
TNode * Add(char *);
public:
TStack() : myList() {}

void push(char *s)
{
myList::Add(s);
}

TNode *pop() {
TNode * res = Head;
if (res)
{
Head = Head->next;
res->next = NULL;
}
return res;
}
};[/CPP][/SPOILER]

Дальше самое сложное... в функции main надо как считать по словам строчки. и потом заполнить лист:

[SPOILER][CPP]
int main(int argc, char* argv[]) {
system("chcp 1251");

char buf[80];
char *dr;
char * name;
char * numb;
FILE *fp = fopen("C:\\spisok.txt","rt");
fseek(fp,0,SEEK_SET);
while()[/CPP][/SPOILER]
weightless вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Программа печати текстового файла с размещением текста по 64 символов в строку без переноса слов rauhm6 Паскаль, Turbo Pascal, PascalABC.NET 0 06.12.2011 18:21
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен lineico Помощь студентам 2 09.05.2011 17:45
Список с заглавным звеном, из текстового файла получить список из записей и по нему уже сделать задание Zigfried Помощь студентам 2 04.10.2010 20:29
C++. Односвязный список. Уничтожить список Olya90 Помощь студентам 2 10.06.2009 18:52