|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.02.2011, 20:19 | #1 |
Пользователь
Регистрация: 25.09.2010
Сообщений: 34
|
Каталог файлов
Задание звучит так : нужно составить каталог файлов в виде линейного списка.У каждого файла должно быть имя , дата и количество обращений к данному файлу.
Ошибок нет,но прога не хочет добавлять новые элементы в список. И еще помогите плиз снабдить каждый элемент датой и количеством обращений к данному файлу. Вот мой вариант : #include <iostream> #include <windows.h> using namespace std; struct Node { char name; int data; Node* next; }; void russia(const char*); void main() { Node* head = NULL; Node* lastPtr = NULL; short action = -1; while (1) { russia("1. Äîáàâèòü Ýëåìåíò\n"); russia("2. Ïðîñìîòð Ñïèñêà\n"); russia("3. Ïîèñê Ýëåìåíòà\n"); russia("4. Óäàëèòü Ýëåìåíò\n"); russia("0. Âûõîä\n\n"); russia("Âàø Âûáîð: "); cin>>action; if (action == 0) { system("CLS"); break; } if (action == 1) { system("CLS"); Node* ptr = new Node; char name = -1; russia("Ââåäèòå íàçâàíèå ôàéëà: "); cin>> name; ptr->name = name; ptr->next = NULL; if (head == 0) { head = ptr; lastPtr = ptr; system("CLS"); continue; } lastPtr->next = ptr; lastPtr = ptr; system("CLS"); continue; } if (action == 2) { Node* ptr = NULL; system("CLS"); if (head == NULL) { russia("\t!!! ÑÏÈÑÎÊ ÏÓÑÒ !!!\n\n"); system("PAUSE"); system("CLS"); continue; } russia("* * * * * ÑÏÈÑÎÊ * * * * *\n\n"); ptr = head; while (1) { cout<<ptr->name<<ptr->data<<" "; if (ptr->next == 0) break; ptr = ptr->next; } cout<<"\n\n"; system("PAUSE"); system("CLS"); continue; } if (action == 3) { Node* ptr = NULL; int key = -1; system("CLS"); if (head == NULL) { russia("\t!!! ÑÏÈÑÎÊ ÏÓÑÒ !!!\n\n"); system("PAUSE"); system("CLS"); continue; } russia("Ââåäèòå Ýëåìåíò Äëÿ Ïîèñêà: "); cin>>key; ptr = head; while (1) { if (key == ptr->name) { russia("\n\t!!! ÝËÅÌÅÍÒ ÍÀÉÄÅÍ !!!\n"); break; } if (ptr->next == NULL) { russia("\n\t!!! ÝËÅÌÅÍÒ ÍÅ ÍÀÉÄÅÍ !!!\n"); break; } ptr = ptr->next; } system("PAUSE"); system("CLS"); continue; } |
21.02.2011, 20:19 | #2 |
Пользователь
Регистрация: 25.09.2010
Сообщений: 34
|
if (action == 4)
{ system("CLS"); Node* ptrDelete = NULL; if (head == NULL) { russia("\t!!! ÑÏÈÑÎÊ ÏÓÑÒ !!!\n\n"); system("PAUSE"); system("CLS"); continue; } if (head->next == NULL) { head = NULL; delete head; continue; } ptrDelete = head; head = ptrDelete->next; delete ptrDelete; continue; } if (action > 5) { system("CLS"); russia("\t!!! ÍÅÂÅÐÍÛÉ ÂÛÁÎÐ. ÏÎÂÒÎÐÈÒÅ ÂÂÎÄ !!!\n\n"); system("PAUSE"); system("CLS"); continue; } } } void russia(const char* rus) { char word[100]; CharToOem(rus, word); cout<<word; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Каталог Файлов TClientSocket ServerSocket | CraftR14 | Общие вопросы Delphi | 7 | 20.05.2010 19:07 |
Копирование файлов(каталог-а) с ProgressBar | KurtWagner | Общие вопросы Delphi | 9 | 23.03.2009 03:22 |
Как задать команду загрузки файлов данных на кнопку если каталог и имена файлов известны??? | Andbuba | Microsoft Office Excel | 2 | 28.12.2008 17:28 |
Копирование файлов в каталог | SANTA_KLAUD | Общие вопросы Delphi | 10 | 13.05.2008 18:30 |