прошу помочь по С++

avatar smocer

523

7

  • smocer

    Пользователь

    Регистрация: 03.04.2014

    Сообщения: 3492

    Рейтинг: 1826

    smocer

    Регистрация: 03.04.2014

    Сообщения: 3492

    Рейтинг: 1826

    img
    уже создавал тут подобную тему, вроде со всем разобрался, но компилятор все равно выдает ошибки.
    Моя задача: написать программу для работы с БД на основе линейного двусвязного списка. (некоторые функции там еще не написаны, но прототипы их имеются перед main)
    Спойлер: "Исходный код"


    // kurs_inf.cpp : main project file.

    #include "StdAfx.h"

    #include
    #include
    #include

    using namespace std;

    struct Star {
      char Name[50];
      float Mass, Radius, Age, Temperature, Luminosity;
      Star *Next;
      Star *Prev;
    };

    void ShowMenu();
    Star * OpenBase();
    Star * AddNewRec(Star Rec, Star *Head, Star *Tail);
    void AddRec();
    void Show(Star *Head);
    void DelRec();
    void Search();
    void Save();

    void main() {
     char OperCode;
      Star *Head;
      Head = OpenBase();
      do {
        ShowMenu();
        cout << "\nДля выполнения операции введите соответствующий код:\t";
        cin >> OperCode;
        switch (OperCode) {
        case '1' : Show(Head); break;
        case '2' : AddRec(); break;
        case '3' : DelRec(); break;
        case '4' : Search(); break;
        case '5' : Save(); break;
        }
      }
      while (OperCode != '6');
    }

    void ShowMenu() {
      /*clrscr;*/
      cout << "\nПрограмма базы данных. Доступные операции:";
      cout << "\n\tПоказать всю БД (1)\n\tДобавить запись (2)\n\tУдалить запись (3)\n\tПоиск по базе (4)\n\tСохранить БД (5)\n\tВыход (6)";
    }

    Star * OpenBase() {
      char Filename[50];
      ifstream File;
      Star NewStar;
      Star *Tail, *Head;
      Tail = NULL;
      Head = NULL;

      cout << "\nВведите полное имя файла с БД: ";
      cin >> Filename;
      File.open(Filename, ios::in);
      while (!File.eof()) {
        File >> NewStar.Name;
        File >> NewStar.Mass;
        File >> NewStar.Radius;
        File >> NewStar.Age;
        File >> NewStar.Temperature;
        File >> NewStar.Luminosity;
        AddNewRec(NewStar, Head, Tail);
      }
      return(Head);
    }

    Star * AddNewRec(Star Rec, Star *Head, Star *Tail) {
      Star *PNew;
      PNew = new Star;
      *PNew = Rec;
     (*PNew).Next = NULL;
      if (Head == NULL) {
        Head = PNew;
        (*PNew).Prev = NULL;
      } else {
        (*Tail).Next = PNew;
        (*PNew).Prev = Tail;
      }
      Tail = PNew;
      return(Tail);
    }

    void Show(Star *Head) {
      Star *P = Head;
      while (P != NULL) {
        cout << "\n" << (*P).Name << " " << (*P).Mass << " " << (*P).Radius << " " << (*P).Age << " " << (*P).Temperature << " " << (*P).Luminosity;
        P = (*P).Next;
      }
    }



    В процессе компиляции выдает следующие ошибки:
    Спойлер: "Ошибки"


    1>------ Build started: Project: kurs_inf, Configuration: Debug Win32 ------
    1>  kurs_inf.cpp
    1>kurs_inf.obj : error LNK2028: unresolved token (0A0003A7) "void __cdecl Save(void)" (?Save@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2028: unresolved token (0A0003A8) "void __cdecl Search(void)" (?Search@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2028: unresolved token (0A0003A9) "void __cdecl DelRec(void)" (?DelRec@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2028: unresolved token (0A0003AA) "void __cdecl AddRec(void)" (?AddRec@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2019: unresolved external symbol "void __cdecl Save(void)" (?Save@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2019: unresolved external symbol "void __cdecl Search(void)" (?Search@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2019: unresolved external symbol "void __cdecl DelRec(void)" (?DelRec@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>kurs_inf.obj : error LNK2019: unresolved external symbol "void __cdecl AddRec(void)" (?AddRec@@$$FYAXXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
    1>C:\Users\smocer\Documents\Visual Studio 2010\Projects\kurs_inf\Debug\kurs_inf.exe : fatal error LNK1120: 8 unresolved externals
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


    Подскажите, плз, как исправить.
  • Berglol

    Пользователь

    Регистрация: 20.09.2013

    Сообщения: 919

    Рейтинг: 1731

    Berglol

    Регистрация: 20.09.2013

    Сообщения: 919

    Рейтинг: 1731

    Просто попробуй сделать
    int main
    и верни ноль в конце мейна.
    П.с. танцы с бубном никто не отменял)
  • ebw.by

    Пользователь

    Регистрация: 04.11.2012

    Сообщения: 107

    Рейтинг: 40

    ebw.by

    Регистрация: 04.11.2012

    Сообщения: 107

    Рейтинг: 40

  • dorogo25

    Пользователь

    Регистрация: 02.08.2013

    Сообщения: 560

    Рейтинг: 186

    dorogo25

    Регистрация: 02.08.2013

    Сообщения: 560

    Рейтинг: 186

    1
  • dorogo25

    Пользователь

    Регистрация: 02.08.2013

    Сообщения: 560

    Рейтинг: 186

    dorogo25

    Регистрация: 02.08.2013

    Сообщения: 560

    Рейтинг: 186

    Berglol сказал(а):
    Просто попробуй сделать
    int main
    и верни ноль в конце мейна.
    П.с. танцы с бубном никто не отменял)
    Нажмите, чтобы раскрыть...

    таки он прав.
    что за main без int и return
  • smocer

    Пользователь

    Регистрация: 03.04.2014

    Сообщения: 3492

    Рейтинг: 1826

    smocer

    Регистрация: 03.04.2014

    Сообщения: 3492

    Рейтинг: 1826

    img
    Berglol сказал(а):
    Просто попробуй сделать
    int main
    и верни ноль в конце мейна.
    П.с. танцы с бубном никто не отменял)
    Нажмите, чтобы раскрыть...

    сделал, все осталось по-старому.
    я пока что нуб в си, осваиваюсь вот.
  • Yondive

    Пользователь

    Регистрация: 29.06.2014

    Сообщения: 5

    Рейтинг: 0

    Yondive

    Регистрация: 29.06.2014

    Сообщения: 5

    Рейтинг: 0

    Вообще то MS стандартный компилятор допускает void main (это не значит, что так писать нужно).
    По теме: функции без тела в соурс файле не работают.
  • smocer

    Пользователь

    Регистрация: 03.04.2014

    Сообщения: 3492

    Рейтинг: 1826

    smocer

    Регистрация: 03.04.2014

    Сообщения: 3492

    Рейтинг: 1826

    img
    Yondive сказал(а):
    Вообще то MS стандартный компилятор допускает void main (это не значит, что так писать нужно).
    По теме: функции без тела в соурс файле не работают.
    Нажмите, чтобы раскрыть...

    ща попробую закомментировать прототипы пока еще ненаписанных ф-ций
    UPD: спасибо, заработало!
    если еще какие вопросы будут возникать, напишу в эту же тему, дабы не засорять форум.

Кто смотрит тему (Пользователи: 0, Гости: 0)