Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: AI\EKCAH^P (04.06.2009 в 17:20) Написал программу,а она не запускается. И ошибок не выдает. Подскажите пожайлуста что не так сделал. Разработать программу для создания и работы с двусвязным списком, состоящим из структур. Для работы со списком создать меню со следующими пунктами: 1. Создание списка. 2. Просмотр списка. 3. Добавление в конец списка новой структуры. 4. удаление записи. 5. Выход. Структура содержит название, цену, количество товара. Удалить из списка заданный товар.
#include<string.h> #include<conio.h> #include<io.h> struct tov{ char nazvanie[10]; float cena; int kol; tov * nextElement; tov * lastElement; }; //======================================= tov * firstElement, //первый * endElement, //последний * currentElement, //текущий * nextElement, //следующий * lastElement, //предыдущий * tempElement; int allElement=0; FILE *save; //======================================= void Menu(void); void sozdanie_SP(void); void prosmotr_SP(); void dobavlenie_SP(); void udalenie_EL(); int main(){ firstElement=0; endElement=0; Menu(); getche(); return 0; } //=================== для ввода данных =================== void enterElement(tov * element){ printf(" vvedite nazvanie tovara : "); scanf("%s",&element->nazvanie); printf(" vvedite cenu tovara : "); scanf("%f",&element->cena); printf(" vvedite kolichestvo tovara : "); scanf("%d",&element->kol); } void sozdanie_SP(void){ tov * newElement; //новый do{ allElement++; newElement = new tov; enterElement(newElement); if (firstElement!=0){ newElement->nextElement=firstElement; firstElement->lastElement=newElement; firstElement=newElement; } else firstElement=endElement=newElement; }while(getche()!=27); newElement->lastElement=endElement; endElement->nextElement=newElement; Menu(); } //============================== Удаление одной записи =================================== void udalenie_EL(tov * delRec){ delRec->lastElement->nextElement=delRec->nextElement; delRec->nextElement->lastElement=delRec->lastElement; delete delRec; } //============================== Добавление записи =================================== void dobavlenie_SP(tov * lastRec, tov * nextRec){ tov *tempLast=lastRec; tov *tempNext=nextRec; do{ allElement++; tov * newElement; newElement = new tov; enterElement(newElement); newElement->lastElement=lastRec; newElement->nextElement=nextRec; lastRec->nextElement=newElement; nextRec->lastElement=newElement; lastRec=newElement; }while(getche()!=27); } //============================== Создание меню =================================== void Menu(void) { printf(" MENU \n"); printf(" F1 - VVEDITE NAZVANIE TOVARA \n"); printf(" F2 - PROSMOTR \n"); printf(" F3 - DOBAVLENIE \n"); printf(" Del - UDALENIE \n"); printf(" Esc - VYHOD \n"); switch (getch()){ case 59: sozdanie_SP();break; case 60: prosmotr_SP();break; case 61: prosmotr_SP();break; case 62: dobavlenie_SP();break; case 63: udalenie_EL();break; case 27: break; default: Menu(); } }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: