0 / 0 / 0
Регистрация: 03.02.2010
Сообщений: 21
|
||||||
1 | ||||||
вывод записи24.05.2010, 22:14. Показов 551. Ответов 0
Метки нет (Все метки)
Не могу ни как вывести найденную запись на экран
вот мой код: Код
#include <iostream> #include <iterator> #include <conio.h> #include <fstream.h> #include <iomanip.h> #include <math.h> #include <stdlib.h> #include <time.h> #include <algorithm> #include <vector> using namespace std; struct Perech {int nomer; char outpunkt[20]; char inpunkt[20]; int cost; int mest; }; template<class T> class vokzal { private: Perech *px; int n; int f; std::vector<Perech> v; struct NameSortPred { bool operator()(const Perech& a, const Perech& b) const { return a.outpunkt<b.outpunkt;}}; struct DateSortPred { bool operator()(const Perech& a, const Perech& b) const { return a.nomer<b.nomer;}}; struct SearchPred { private: char *searchWord; public: explicit SearchPred(char *search):searchWord(search) {} bool operator()(const Perech& a) const { return strcmp(&(a.outpunkt[0]), searchWord) == 0; } }; public: vokzal(){n=0;px=NULL;} ~vokzal(){n=0;if(px!=NULL)delete[]px;} void newBD(); void output(); void sortByName(); void del(); void Search(); }; template<class T> void vokzal<T>::newBD() { int i; cout<<"Kolichestvo zapisey=";cin>>n; if(px!=NULL)delete[] px; px=new Perech[n]; if(px==NULL){cout<<"Net pamyati\n";getch();n=0;return;} for(i=0;i<n;i++) {cout<<"Nomer avtobusa:";cin>>px[i].nomer; cout<<"Punkt otpravleniya: ";cin>>px[i].outpunkt; cout<<"Punkt naznacheniya: ";cin>>px[i].inpunkt; cout<<"Stoimost bileta: ";cin>>px[i].cost; cout<<"Kolichestvo mest: ";cin>>px[i].mest; cout<<endl; v.push_back(px[i]); }cout<<"Baza dannuih sozdana";getch(); } template<class T> void vokzal<T>::output(){ { if (v.size() == 0) cout << "Empty" << endl; clrscr(); cout.setf(ios::left); cout<<endl<<"Baza dannuih 'Avtovokzal'\n"<<endl; cout<<"N"<<" "<<setw(6)<<"Nomer"<<setw(12)<<"Otpravlenie"<<setw(11)<<"Pribuitie" <<setw(7)<<"Vremya"<<setw(17)<<"kolichestvo mest"<<setw(8)<<"Stoimost"<<endl; for (size_t i = 0; i < v.size(); i++){ {cout.setf(ios::left); i++; cout<<setw(3)<<i<<setw(6)<<v[i-1].nomer<<setw(12)<<v[i-1].outpunkt<<setw(11)<<v[i-1].inpunkt <<setw(17)<<v[i-1].mest<<setw(8)<<v[i-1].cost<<endl; i--; } } getch(); } } template<class T> void vokzal<T>::sortByName() { sort(v.begin(),v.end(),DateSortPred()); } template<class T> void vokzal<T>::del(){ output(); cout<<"vvedite nomer stroki";cin>>n; v.erase(v.begin()+(n-1)); output(); } template<class T> void vokzal<T>::Search() { int i; char srch[20]; cout<<"Search: ";cin>>srch; if(r != v.end())//не получается сдесь вывести найденные строки { for(size_t i=0;i<v.size();i++) { cout.setf(ios::left); i++; cout<<setw(3)<<i<<setw(6)<<v[i-1].nomer<<setw(12)<<v[i-1].outpunkt<<setw(11)<<v[i-1].inpunkt <<setw(17)<<v[i-1].mest<<setw(8)<<v[i-1].cost<<endl; i--; } getch(); } else { //ñîîáùàåì îá îøèáêå cout << "Element " << srch << " is not contained in the data base!" << endl; getch(); } } int main(){ vokzal<Perech> a; a.newBD(); a.sortByName(); a.Search(); a.del(); a.output(); return 0; } дополнил код
0
|
24.05.2010, 22:14 | |
Ответы с готовыми решениями:
0
Вывод найденной записи Вывод найденной записи. С++ Рекурсия: вывод на экран восьмеричной записи натурального числа n При записи в поток wclog вывод производится на окно консоли |
24.05.2010, 22:14 | |
24.05.2010, 22:14 | |
Помогаю со студенческими работами здесь
1
Организовать режим записи append (структуры, файловый ввод/вывод) Разработать программу. Ответом понимается вывод на экран найденной записи или Продублировать элементы массива при записи в новый файл (файловый ввод/вывод) Вывод записи на редактирование Вывод в отчет текущей записи Вывод информации о записи в Label через LookupComboBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |