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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 20:19   #1
doter
Пользователь
 
Регистрация: 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;
}
doter вне форума Ответить с цитированием
Старый 21.02.2011, 20:19   #2
doter
Пользователь
 
Регистрация: 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;
}
doter вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Каталог Файлов 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