1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

двусвязные списки

Тема в разделе "С и С++", создана пользователем AILEKCAHdP, 4 июн 2009.

  1. AILEKCAHdP

    AILEKCAHdP Гость

    Репутация:
    0
    Написал программу,а она не запускается. И ошибок не выдает. Подскажите пожайлуста что не так сделал.

    Разработать программу для создания и работы с двусвязным списком, состоящим из структур. Для работы со списком создать меню со следующими пунктами:

    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();
    
    }
    }
     
  2. Dimmuborgir

    Dimmuborgir Гость

    Репутация:
    0
    что значит не запускается? поподробнее пожалста. Среда Visual C++ 6.0 ?

    попробвал скомпилить у себя, тут же ошибки:

    main.obj : error LNK2001: unresolved external symbol "void __cdecl udalenie_EL(void)" (?udalenie_EL@@YAXXZ)
    main.obj : error LNK2001: unresolved external symbol "void __cdecl dobavlenie_SP(void)" (?dobavlenie_SP@@YAXXZ)
    main.obj : error LNK2001: unresolved external symbol "void __cdecl prosmotr_SP(void)" (?prosmotr_SP@@YAXXZ)

    обратите внимание на параметры вышеуказанных функций в прототипе и собственно описании тела.
     
  3. AILEKCAHdP

    AILEKCAHdP Гость

    Репутация:
    0
    Спасибо! Я исправил. Теперь работает, как часики)
     
Загрузка...
Похожие Темы - двусвязные списки
  1. komodikus
    Ответов:
    0
    Просмотров:
    0
  2. gx6060
    Ответов:
    0
    Просмотров:
    939
  3. kingl
    Ответов:
    5
    Просмотров:
    2.426
  4. shilovec5377
    Ответов:
    0
    Просмотров:
    1.230
  5. lmike
    Ответов:
    1
    Просмотров:
    1.920

Поделиться этой страницей