Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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;
defaultMenu();

}
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: