|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.07.2012, 07:23 | #1 |
Новичок
Джуниор
Регистрация: 10.07.2012
Сообщений: 1
|
Не могу сделать задачу....
Не могу создать работу со списком:
*разработать программу для создания и работы с двусвязным списком, состоящим из структур.Структура содержит название издания, газета или журнал, цена экземпляра. Добавлять новые записи так, чтобы сначала располагались журналы, затем газеты.*/ #include "stdafx.h" #include <io.h> #include <stdio.h> #include <cstdio> #include <conio.h> #include <windows.h> #include <fstream> #include <string.h> char name[20];//название int tip=0;//, тип int price=0;//цена int choice=0;//выбор bool listexist=0; // наличие списка int f=0; bool z=0; FILE *pr; // Указатели на файлы struct spisok { int tip[1];//тип int price[10];//цена char name[20]; }bib; struct List { List*curret; List*next;//указатель след List*prev;//указатель пред List*last;//указатель полседний List*first;//указатель начальный List*NewList; } int fileexists() { pr=fopen("C:\\biblioteka.txt","r"); // open for reading if (!pr) f=0; else f=1; fclose(pr); return f; } int create() // создание нового файла { fileexists(); printf("------------------------------------\n"); int v=0; if (f!=0) printf(" Удалить старый и создать новый список? (1-Да, 0-Меню):\n" ); scanf("%d",&v); if (v!=0) { std::remove("C:\\biblioteka.txt"); pr=fopen("C:\\biblioteka.txt","w"); // Создание нового файла new1.txt fprintf (pr,"%s\n",bib); // Запись в файл строки text fclose(pr); // Закрытие файла pf printf(" Файл списка создан! :\n"); return listexist=1; } else z=1; return z; }; int print() // просмотр файла {char* st; pr=fopen("C:\\biblioteka.txt","r"); // Открытие файла pr для чтения while (!feof(pr)) // Пока не конец файла pr { fgets(st,50,pr); // Чтение из файла pr строки в переменную st printf("%s\n",st); // Вывод строки st на дисплей } fclose(pr); printf("------КОНЕЦ---------\n"); getch(); z=1; return z; }; void corr(void) // поиск и изменение { }; void vvod() {int k=1; char l; system( "cls" ); do{ printf(" ---Внесение данных в список:--- \n" ); printf("------------------------------------\n"); List*curret=l; l=new spisok; printf(" Введите название:\n" ); scanf("%s",bib.name); printf(" Введите стоимость:\n" ); scanf("%d",&bib.price); printf(" Введите тип издания (журнал-1, газета-0) :\n" ); scanf("%d",&bib.tip); printf(" Вы ввели товар под названием %s",&bib.name,":\n\n" ); printf("\n Ввод окончен? (0-Продолжить, 1-Закончить):\n" ); scanf("%d",&k); getch(); } while (k!=0); z=1; }; void add()// добавление в файл { }; void menu() { SetConsoleCP(1251); SetConsoleOutputCP(1251); do { choice=0; printf(" Меню программы \n" ); printf(" ----------------------------------------\n"); printf(" 1. Создание списка. \n" ); printf(" 2. Просмотр списка. \n" ); printf(" 3. Добавление в конец списка новой структуры.\n" ); printf(" 4. Корректировка списка.\n" ); printf(" 5. Выход. \n" ); printf(" ----------------------------------------\n"); scanf("%d", &choice); switch(choice) { case 1: if (listexist!=0) {printf(" Внимание! Список уже создан! \n" ); break;} else {printf(" ---Создание списка--- \n" );break; create(); } case 2: if (listexist=0) {printf(" Внимание! Список не создан-создайте его! \n" );menu(); break;} else {printf("---Просмотр списка--- \n" ); print() ;break; } case 3: if (listexist=0) {printf(" Внимание! Список не создан-создайте его! \n" );menu(); break;} else vvod(); printf(" ---Добавление в список--- \n"); break; case 4: if (listexist=0) {printf(" Внимание! Список не создан-создайте его! \n" );menu(); break;} else { printf("---Корректировка списка (Сначала журналы, потом газеты) \n" );corr();break;} case 5: ;{printf(" Выполняется выход из программы \n" ); break; exit(1);} default : {printf(" Внимание! Ошибка ввода! Необходимо ввести число 1-5 согласно пункта в МЕНЮ ");break; } } printf (" Нажмите клавишу Ввод... \n" ); } while (choice!=5); } int _tmain() { SetConsoleCP(1251); SetConsoleOutputCP(1251); while (z=0) { menu(); vvod(); } menu(); getch(); return 0; } help, please... |
12.07.2012, 10:45 | #2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
1. Заключите код в тег CODE, иначе это будет нечто нечитабельное.
2. Список реализуется на основе узлов. Для двусвязного списка будет примерно такой вид: Код:
Правда, у вас в коде вообще черт ногу сломит, какие-то непонятные глобальные переменные, непонятные массивы в spisok и так далее. Но пока не оформите код соответствующим тегом, в этом будет совсем невозможно разбираться.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
12.07.2012, 12:47 | #3 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
12.07.2012, 13:58 | #4 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Krok27, а в чем проблема?
Цитата:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
12.07.2012, 14:05 | #5 | |||
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
2Гром Возможно ошибаюсь, но что-тот мне подсказывает, что все не так все просто, особенно
Цитата:
Цитата:
Топикстартер конкретно нас спрашивает Цитата:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
|||
12.07.2012, 20:16 | #6 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Формулировка запроса, оформление кода, и его содержание(!)красноречиво намекают проницательному читателю: ТС не является автором кода. И он имеет весьма весьма туманные представления о том, как он работает. Что касается "списков" - вероятно ТС хочет заполучить их примерно так же, как заполучил представленный код. |
|
12.07.2012, 20:44 | #7 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
Просто по той простой причине, что ГДЕ бы он мог найти такой ужас? Уже от одного этого плохо делается: Код:
Код:
Автору точно нужно изучать язык и тренироваться на хеллоуворлдах, но в воровстве кода я бы его не стал обвинять. Просто потому, что мне даже трудно представить, КЕМ надо быть, чтобы украсть вот ЭТО?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
13.07.2012, 08:28 | #8 | |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Цитата:
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять задачу. | Artem_Kow | Помощь студентам | 1 | 28.03.2012 18:31 |
не могу сделать задачу Pascal на массивы!!! | sergsergserg | Помощь студентам | 11 | 07.12.2010 18:50 |
НЕ МОГУ РЕШЫТЬ ЗАДАЧУ | romann | Общие вопросы C/C++ | 13 | 31.10.2010 18:36 |