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

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

  1. AILEKCAHdP

    AILEKCAHdP Гость

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

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

    1. Создание списка.
    2. Просмотр списка.
    3. Добавление в конец списка новой структуры.
    4. удаление записи.
    5. Выход.
    Структура содержит название, цену, количество товара. Удалить из списка заданный товар.

    Код (Text):
    #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 Гость

    что значит не запускается? поподробнее пожалста. Среда 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 Гость

    Спасибо! Я исправил. Теперь работает, как часики)
     
Загрузка...
Похожие Темы - двусвязные списки
  1. gx6060
    Ответов:
    0
    Просмотров:
    278
  2. kingl
    Ответов:
    5
    Просмотров:
    2.252
  3. shilovec5377
    Ответов:
    0
    Просмотров:
    1.186
  4. lmike
    Ответов:
    1
    Просмотров:
    1.868
  5. DNT
    Ответов:
    8
    Просмотров:
    4.019

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