Мегаобучалка Главная | О нас | Обратная связь


Список используемых источников. 1. Информационные системы: http://www.itcompanies.ru/04info.html



2016-01-05 461 Обсуждений (0)
Список используемых источников. 1. Информационные системы: http://www.itcompanies.ru/04info.html 0.00 из 5.00 0 оценок




1. Информационные системы: http://www.itcompanies.ru/04info.html

2. Шлее М. Qt 4.8. Профессиональное программирование на C++. – СПБ.: БХВ-Петербугр, 2012. – 912 с.: ил. – (В подлиннике)


 

ПРИЛОЖЕНИЯ

 

Листинг posterHiring.h

posterHiring.h
  #ifndef POSTERHIRING_H #define POSTERHIRING_H #include <QtGui>   class PosterHiring { protected: QString login; QString city; QString area; QString numberPhone; QString sumRoom; QString tenant; int price; bool furtiture; bool animal;   public: PosterHiring() { price = 0; furtiture = false; animal = false; }     PosterHiring(const QString &_login, const QString &_city, const QString &_area, const QString &_numberPhone, int _sumRoom, int _price, bool _furtiture, bool _animal,int _tenant) { login = _login; city = _city; area = _area; numberPhone = _numberPhone; sumRoom = _sumRoom; tenant = _tenant; furtiture = _furtiture; animal = _animal; setPrice(_price); }   QString getLogin() { return login; } QString getCity() { return city; } QString getArea() { return area; } QString getNumberPhone() { return numberPhone; } QString getSumRoom() { return sumRoom; } QString getTenant() { return tenant; } int getPrice() { return price; } bool getFurtiture() { return furtiture; } bool getAnimal() { return animal; }   void setLogin (const QString &_login ) { login = _login; } void setCity (const QString &_city ) { city = _city; } void setArea (const QString &_area ) { area = _area; } void setNumberPhone(const QString &_numberPhone) { numberPhone = _numberPhone; } void setSumRoom (const QString &_sumRoom) { sumRoom = _sumRoom; } void setTenant (const QString &_tenant) { tenant = _tenant; } void setFurtiture (const bool &_furtiture ) { furtiture = _furtiture; } void setAnimal (const bool &_animal ) { animal = _animal; } void setPrice(int _price) { if(_price < 0) price = 0; else price = _price; }

 

Листинг posterRent.h

 

posterRent.h
#ifndef POSTERRENT_H #define POSTERRENT_H #include "posterHiring.h"   class PosterRent: public PosterHiring { protected: QString street; QString numberHome; int numberFloor;   public: PosterRent(): PosterHiring() { numberFloor = 1; } PosterRent(const QString &_login, const QString &_city, const QString &_area, const QString &_street, const QString &_nHome, int _nFloor, const QString &_numberPhone, int _sumRoom, int _price, bool _furtiture, bool _animal,int _tenant): PosterHiring(_login, _city, _area, _numberPhone, _sumRoom, _price, _furtiture, _animal, _tenant) { street = _street; numberHome = _nHome; numberFloor = _nFloor; }   QString getStreet() { return street; } QString getHome() { return numberHome; } int getNumberFloor() { return numberFloor; }   void setStreet (const QString &_street ) { street = _street; } void setHome (const QString &_numberHome) { numberHome = _numberHome; } void setNumberFloor (int _floor) { if(_floor < 0) numberFloor = 0; else if(_floor > 101) numberFloor = 101; else numberFloor = _floor; } }; #endif // POSTERRENT_H    

 

Листинг user.h

 

user.h
#ifndef USER_H #define USER_H #define USER false #define ADMIN true   #include <QtGui> #include "posterHiring.h" #include "posterRent.h"   class User { protected: QString login; QString password; bool access; QLinkedList<PosterHiring *> *postersHiring; QLinkedList<PosterRent *> *postersRent;   public: User() { access = USER; } User(const QString &_login, const QString &_password, bool _access = false ) { login = _login; password = _password; setAccess(_access); postersHiring = new QLinkedList<PosterHiring *>; postersRent = new QLinkedList<PosterRent *>; } bool check(const QString &_login, const QString &_password) { if( login == _login && password == _password) return true; return false; }   QString getLogin() { return login; } QString getPassword() { return password; } bool getAccess() { return access; } QLinkedList<PosterHiring *> *getPostersHiring() { return postersHiring; } QLinkedList<PosterRent *> *getPostersRent() { return postersRent; }   void setLogin (const QString &_login) { login = _login; } void setPassword (const QString &_password) { password = _password; } void setPostersHiring (PosterHiring *poster) { postersHiring->push_back(poster); } void setPostersRent (PosterRent *poster) { postersRent->push_back(poster); } void setAccess(const bool &_access) { if(_access == false) access = USER; else access = ADMIN; } }; #endif // USER_H  

 

Листинг login.h

login.h
#ifndef LOGIN_H #define LOGIN_H #include <QtGui> #include "user.h" #include "ui_login.h"   class Login: public QDialog { Q_OBJECT   protected: Ui::login uiLogin; User *current; QLinkedList<User *> *users; QFile *file;   protected: void consider(); void readPostersHiring(); void readPostersRent(); void fillPosterHiring(QDataStream &in, QString &tempQStr, int &tempInt, bool &tempBool, PosterHiring *poster); void fillPosterRent(QDataStream &in, QString &tempQStr, int &tempInt, bool &tempBool, posterRent *poster); void appointAdmin(); void readOutFile();   public: Login(QWidget *parent = 0); ~Login(); void saveInFile(const QString &login, const QString &password, const bool &access); void reset(QLineEdit *login, QLineEdit *password); User *searchUser(const QString &login, const QString &password); User *getCurrentUser(); QLinkedList< User * > *getUsers(); bool searchUserForLogin(const QString &login); protected slots: void slotCheck(); void slotRegistration(); void slotUserGuest(); }; #endif // LOGIN_H

 

Листинг login.cpp

login.cpp
#include "login.h" #include "ui_registration.h" Login::Login(QWidget *parent): QDialog(parent) { if(!parent) parent = this; uiLogin.setupUi(parent); current = 0;   file = new QFile("login.bin"); users = new QLinkedList<User *>;   consider(); }   Login::~Login() { delete file; delete users; }   void Login::appointAdmin() { QLinkedList<User *>::Iterator passage = users->begin(); while(passage != users->end()) { if((*passage)->getLogin() == "ADMIN") { (*passage)->setAccess(ADMIN); return; } ++passage; } saveInFile("ADMIN", "KI11-08", ADMIN); }   void Login::consider() { if(!file) return; if( file->exists()) readOutFile(); else saveInFile("ADMIN", "KI11-08", ADMIN); }   void Login::readOutFile() { file->open(QIODevice::ReadOnly); QDataStream in(file); QString login; QString password; bool access; bool flAdmin = false;   while(! in.atEnd() ) { in >> login; in >> password; in >> access;   if(access) flAdmin = true; users->push_back(new User(login, password, access)); }   if(!flAdmin) appointAdmin(); file->close(); }   void Login::saveInFile(const QString &login, const QString &password, const bool &access) { file->open(QIODevice::Append); QDataStream out(file);   out << login; out << password; out << access; users->push_back(new User(login, password, access));   file->close(); }   User * Login::searchUser(const QString &login, const QString &password) { QLinkedList< User * >::iterator passage = users->begin();   while( passage != users->end() ) { if( (*passage)->check(login, password) ) return *passage; passage++; } return 0; }   bool Login::searchUserForLogin(const QString &login) { QLinkedList< User * >::iterator passage = users->begin(); while( passage != users->end() ) { if( (*passage)->getLogin() == login ) return true; passage++; } return false; }   void Login::slotCheck() { current = searchUser(uiLogin.loginLineEdit->text(), uiLogin.passwordLineEdit->text()); if(current == 0) { QMessageBox::information(this, tr("Error"), tr("Error write login or password!"), QMessageBox::Ok); uiLogin.passwordLineEdit->clear(); } else { emit accept(); readPostersHiring(); readPostersRent(); } }   void Login::reset(QLineEdit *login, QLineEdit *password) { login->clear(); password->clear(); }   void Login::slotRegistration() { QDialog *windowRegistration = new QDialog(this); Ui::registration uiReg; uiReg.setupUi(windowRegistration); while( windowRegistration->exec() ) { if (! searchUserForLogin(uiReg.loginLineEdit->text())) { saveInFile(uiReg.loginLineEdit->text(), uiReg.passwordLineEdit->text(), USER); break; } else { QMessageBox::information(this, tr("Error"), tr("Error, user is have this login"), QMessageBox::Ok); reset(uiReg.loginLineEdit, uiReg.passwordLineEdit); } } delete windowRegistration; }   void Login::slotUserGuest() { emit accept(); readPostersHiring(); readPostersRent(); }   User *Login::getCurrentUser() { return current; }   QLinkedList< User * > *Login::getUsers() { return users; }   void Login::fillPosterHiring (QDataStream &in, QString &tempQStr, int &tempInt, bool &tempBool, PosterHiring *poster) { in >> tempQStr; poster->setLogin( tempQStr );   in >> tempQStr; poster->setCity(tempQStr);   in >> tempQStr; poster->setArea(tempQStr);   in >> tempQStr; poster->setNumberPhone(tempQStr);     in >> tempInt; poster->setPrice(tempInt);   in >> tempBool; poster->setFurtiture(tempBool);   in >> tempBool; poster->setAnimal(tempBool);   in >> tempQStr; poster->setSumRoom(tempQStr);   in >> tempQStr; poster->setTenant(tempQStr); }   void Login::fillPosterRent (QDataStream &in, QString &tempQStr, int &tempInt, bool &tempBool, PosterRent *poster) { fillPosterHiring (in, tempQStr, tempInt, tempBool, poster); in >> tempQStr; poster->setStreet(tempQStr);   in >> tempQStr; poster->setHome(tempQStr);   in >> tempInt; poster->setNumberFloor(tempInt); }   void Login::readPostersHiring() { file->setFileName("posterHiring.bin"); if(!file->open(QIODevice::ReadOnly)) return; QDataStream in(file); QString tempQStr; int tempInt; bool tempBool; PosterHiring *poster = 0; QLinkedList<User *>::Iterator passage = users->begin();   while( passage != users->end() ) { if(!poster) { poster = new PosterHiring; fillPosterHiring(in, tempQStr, tempInt, tempBool, poster); }   if ( (*passage)->getLogin() == poster->getLogin() ) { (*passage)->setPostersHiring(poster); if(!in.atEnd()) poster = 0; else break; } else ++passage; } file->close(); }   void Login::readPostersRent() { file->setFileName("posterRent.bin");   if(!file->open(QIODevice::ReadOnly)) return; QDataStream in(file); QString tempQStr; int tempInt; bool tempBool; PosterRent *poster = 0;   QLinkedList<User *>::Iterator passage = users->begin(); while( passage != users->end()) { if(!poster) { poster = new PosterRent; fillPosterRent(in, tempQStr, tempInt, tempBool, poster); }   if ( (*passage)->getLogin() == poster->getLogin() ) { (*passage)->setPostersRent(poster); if(!in.atEnd()) poster = 0; else break; } else ++passage; }   if(!poster) delete poster; file->close(); }

 

Листинг mainWindow.h

 

mainWindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H   #include <QMainWindow> #include "ui_mainWindow.h"   class MainWindow : public QMainWindow { Q_OBJECT   protected: Ui::MainWindow uiMainWindow;   public: MainWindow(QWidget *parent = 0): QMainWindow(parent) { uiMainWindow.setupUi(this); } }; #endif // MAINWINDOW_H

 



2016-01-05 461 Обсуждений (0)
Список используемых источников. 1. Информационные системы: http://www.itcompanies.ru/04info.html 0.00 из 5.00 0 оценок









Обсуждение в статье: Список используемых источников. 1. Информационные системы: http://www.itcompanies.ru/04info.html

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (461)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)