|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.04.2011, 01:05 | #1 |
Пользователь
Регистрация: 22.02.2011
Сообщений: 12
|
Почему компилятор выдаёт ошибки
Составить программу, которая содержит текущую информацию о книгах в библиотеке.
Сведения о книгах включают: □ номер УДК; □ фамилию и инициалы автора; □ название; □ год издания; □ количество экземпляров данной книги в библиотеке. Программа должна обеспечивать: □ начальное формирование данных обо всех книгах в библиотеке в виде вектора; □ добавление данных о книгах, вновь поступающих в библиотеку; □ удаление данных о списываемых книгах; □ по запросу выдаются сведения о наличии книг в библиотеке, упорядоченные по годам издания. //main.cpp #include "head.h" int main() { setlocale (0,"Rus"); int n; cout<<"Введите количество записей: "; cin>>n; vector <Zapis> mas(n); for (int i=0;i<n;i++) { cout<<endl<<"Формирование "<<i+1<<" записи документа."<<endl<<"Введите номер УДК: "; cin>>mas[i].id; cout<<"Введите фамилию и инициалы автора: "; cin>>mas[i].fio; cout<<"Введите название книги: "; cin>>mas[i].nazv; cout<<"Введите год издания: "; cin>>mas[i].god; cout<<"Введите количество экземпляров: "; cin>>mas[i].kol; } vivod (mas); zapros (mas); } //fcii.cpp #include "head.h" void odin (vector<Zapis> &mas) { Zapis buf; cout<<"Введите номер УДК: "; cin>>buf.id; cout<<"Введите фамилию и инициалы автора: "; cin>>buf.fio; cout<<"Введите название книги: "; cin>>buf.nazv; cout<<"Введите год издания: "; cin>>buf.god; cout<<"Введите количество экземпляров: "; cin>>buf.kol; mas.resize(mas.size()+1,buf); vivod (mas); } void dva (vector<Zapis> &mas) { char udk[4]; cout<<"Введите УДК книги, которую необходимо удалить: "; cin>>udk; int flag=1; int k=0; for (vector<Zapis>::iterator i=mas.begin();i!=mas.end();i++) { flag=1; if (strlen(udk)==strlen(mas[k].id)) for (int j=0;udk[j]!=0;j++) if (udk[j]!=mas[k].id[j]) flag=0; if (flag==1) { mas.erase(i); flag=-1; break; } k++; } if (flag!=-1) { cout<<endl<<"Книги с данным УДК не существует"<<endl; } else vivod(mas); } void tri(vector<Zapis> &mas) { vector<int> mas_buf(mas.size()); for (int i=0;i<mas.size();i++) mas_buf[i]=mas[i].god; sort(mas_buf.begin(),mas_buf.end()) ; for (int i=0;i<mas.size();i++) mas[i].god=mas_buf[i]; vivod(mas); } int zapros (vector<Zapis> &mas) { int otvet; cout<<endl<<"Если вы хотите добавить данные о книгах - нажмите 1;"<<endl; cout<<"Если вы хотите удалить данные о списываемых книгах - нажмите 2;"<<endl; cout<<"Если вы хотите упорядочить книги по годам издания - нажмите 3;"<<endl; cout<<"Если вы хотите завершить работу программы - нажмите 0."<<endl; cin>>otvet; switch (otvet) { case 0: {return 0;} case 1: { odin(mas); zapros(mas);break; } case 2: {dva(mas); zapros(mas);}break; case 3: { tri(mas); zapros(mas); }break; } } void vivod(vector<Zapis> &mas) { if (mas.size()==0) cout<<"Данных нет."<<endl; else{ cout<<endl<<" УДК ФИО Название Год Количество"<<endl; for (int i=0;i<mas.size();i++) { cout<<setw(5)<<mas[i].id<<setw(14)<<mas[i].fio<<setw(14)<<mas[i].nazv<<setw(8)<<mas[i].god<<setw(14)<<mas[i].kol<<endl; } } } //head.h #include <vector> #include <iostream> #include <iomanip> #include <algorithm> using namespace std; struct Zapis { char id[4]; char fio[14]; char nazv[14]; int god; int kol; }; int zapros (vector<Zapis> &mas); void vivod(vector<Zapis> &mas); void odin (vector<Zapis> &mas); void dva (vector<Zapis> &mas); void tri(vector<Zapis> &mas); 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl zapros(class std::vector<struct Zapis,class std::allocator<struct Zapis> > &)" (?zapros@@YAHAAV?$vector@UZapis@@V? $allocator@UZapis@@@std@@@std@@@Z) в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl vivod(class std::vector<struct Zapis,class std::allocator<struct Zapis> > &)" (?vivod@@YAXAAV?$vector@UZapis@@V?$ allocator@UZapis@@@std@@@std@@@Z) в функции _main 1>C:\Users\Влад\Desktop\laba4\Debug \laba4.exe : fatal error LNK1120: 2 неразрешенных внешних элементов |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверьте правильность кода. Почему выдаёт ошибку? | vlados92 | Общие вопросы C/C++ | 4 | 02.03.2011 12:58 |
компилятор ошибок не выдаёт, но прога не делает то что нужно... | Chica Bond | Общие вопросы C/C++ | 5 | 02.05.2010 22:53 |
Почему выдаёт такой результат??? | bloodeagle | Помощь студентам | 1 | 12.11.2009 08:21 |
Программа на VBA выдаёт ошибки. | vfrc | Microsoft Office Excel | 7 | 06.11.2009 12:30 |
Почему ошибку выдаёт? | Inbox | Общие вопросы Delphi | 14 | 24.06.2007 02:15 |