Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <windows.h>
- using namespace std;
- typedef struct market{
- string nazvanie="";
- string telephon="";
- string adres="";
- string vremya_raboty="";
- }market;
- market add_market(){
- market m;
- cout<<"Vvedite nazvanie magazyna : ";
- cin>>m.nazvanie;
- cout<<"Vvedite nomer telefona : ";
- cin>>m.telephon;
- cout<<"Vvedite adres : ";
- cin>>m.adres;
- cout<<"Vvedite vremya raboty: ";
- cin>>m.vremya_raboty;
- return m;
- }
- void find_by_tel_number(string num){
- market m;
- fstream f;
- f.open("Data.txt");
- while(f>>m.nazvanie>>m.telephon>>m.adres>>m.vremya_raboty){
- if(num==m.telephon){
- cout<<m.nazvanie<<" "<<m.telephon<<" "<<m.adres<<" "<<m.vremya_raboty<<endl;
- }
- }
- f.close();
- }
- void find_by_title(string title){
- market m;
- fstream f;
- f.open("Data.txt");
- while(f>>m.nazvanie>>m.telephon>>m.adres>>m.vremya_raboty){
- if(title==m.nazvanie)
- cout<<m.nazvanie<<" "<<m.telephon<<" "<<m.adres<<" "<<m.vremya_raboty<<endl;
- }
- f.close();
- }
- int print_menu(){
- start:int k;
- cout<<"1 - Vyvod bazy danyh"<<endl;
- cout<<"2 - Dobavit v bazu danyh"<<endl;
- cout<<"3 - Udalit iz bazy danyh"<<endl;
- cout<<"4 - Poisk po bazie danyh"<<endl;
- cout<<"5 - Exit"<<endl;
- cin>>k;
- if(k<1 || k>5){
- cout<<"Incorrect input"<<endl;
- goto start;
- }
- return k;
- }
- void printDB(){
- fstream f;
- f.open("Data.txt");
- market m;
- cout<<"| Nazvanie | Nomer telefona | Adresa | Vremya roboty |"<<endl;
- cout<<"|____________________|____________________|____________________|____________________|"<<endl;
- while (f>>m.nazvanie>>m.telephon>>m.adres>>m.vremya_raboty) {
- if(m.nazvanie.length()<20) //ïîãàíÿåì ïîä ðàçìåð ñòîëáöà
- while (m.nazvanie.length()<19)
- m.nazvanie+=" ";
- if(m.telephon.length()<20)
- while (m.telephon.length()<19)
- m.telephon+=" ";
- if(m.adres.length()<20)
- while (m.adres.length()<19)
- m.adres+=" ";
- if(m.vremya_raboty.length()<20)
- while (m.vremya_raboty.length()<19)
- m.vremya_raboty+=" ";
- cout<<"| "<<m.nazvanie<<"| "<<m.telephon<<"| "<<m.adres<<"| "<<m.vremya_raboty<<"|\n";
- }
- cout<<"|____________________|____________________|____________________|____________________|"<<endl;
- f.close();
- }
- void delete_line(int line){
- fstream o;
- ofstream o1;
- o.open("Data.txt");
- o1.open("tmp.txt");
- int k=0;
- market m;
- while(o>>m.nazvanie>>m.telephon>>m.adres>>m.vremya_raboty){
- if(k!=line){
- o1<<m.nazvanie<<" "<<m.telephon<<" "<<m.adres<<" "<<m.vremya_raboty<<endl;
- }
- k++;
- }
- o.close();
- o1.close();
- remove("Data.txt");
- rename("tmp.txt","Data.txt");
- }
- int main()
- {
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- st:int a=print_menu();//çàïèñûâàåì òî ÷òî âûáåðåò ïîëüçîâàòåëü
- ofstream out;
- fstream fin;
- SetConsoleTextAttribute(hConsole, a);
- switch (a) {
- case 1:
- printDB();
- goto st;
- case 2:{
- market m;
- m=add_market();
- out.open("Data.txt", std::ios::app);
- out<<m.nazvanie<<" "<<m.telephon<<" "<<m.adres<<" "<<m.vremya_raboty<<endl;
- out.close();
- }
- goto st;
- case 3:{
- int line;
- cout<<"Vvrdite nomer stroki dla udalenia : ";
- cin>>line;
- delete_line(line);
- }
- goto st;
- case 4:{
- int k;
- s:cout<<"1 - Poisk po telefonu"<<endl;
- cout<<"2 - Poisk po navaniu"<<endl;
- cin>>k;
- if(k==1){
- string num1;
- cout<<"Vvedite noer telefona : ";
- cin>>num1;
- find_by_tel_number(num1);
- goto st;
- }else if(k==2){
- string title;
- cout<<"Vvrdite nazwanie : ";
- cin>>title;
- find_by_title(title);
- goto st;
- }else goto s;
- }
- goto st;
- case 5:{
- goto e;
- }
- default:
- goto st;
- }
- e:return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement