|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.04.2013, 13:17 | #1 |
Регистрация: 12.04.2013
Сообщений: 4
|
Контрольная на дом. бд в консоле через DEV C++
вот, в принципе-то, всё задание.
помогите, пожалуйста, хотя бы с несколькими первыми заданиями. никогда не встречалась с подобными заданиями. 1. Создание новой базы данных(это по заданию 2 файла bin i txt- txt сделал bin не пишет и не читает) 2. Сохранение базы данных в файл(txt,bin-с выбором в какой именно) 3. Загрузка базы данных из файла(txt,bin-с выбором из какого именно) 4. Проверка целостности данных при в воде(ну это я кое как сделал) 5. Дополнение базы данных новыми членами 6. Просмотр базы данных 7. Поиск записей (по имени,фамилии, году, зарплате) 8. Сортировка в поиске по различным аспектам (алфавит, год, зарплата) 9.Отображение системной информации (количество записей в базе) #include<iostream> #include<fstream> using namespace std; struct person { char fname[20]; char sname[20]; double pay; int year; }; //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- void ievads(person *p) { char mas[20]; int k; cout<<"\n ievadi vardu: "; cin>>p->fname; cout<<" ievadi uzvardu: "; cin>>p->sname; cout<<" ievadi algu: "; cin>>p->pay; do { cout<<" ievadi gadu: "; cin>>mas; k=atoi(mas); } while(k<=1920 || k>=2008); p->year=k; } void izvads(person *p) { cout<<"\n vards: "<<p->fname; cout<<"\n uzvards: "<<p->sname; cout<<"\n alga: "<<p->pay; cout<<"\n gads: "<<p->year<<"\n"; } int main()//////////////////main { int x; system("cls"); cout<<"1. Datubazes parskats txt faila"<<endl; cout<<"2. Datubazes parskats bin faila"<<endl; cout<<"3. Datubazes papildinasana txt faila"<<endl; cout<<"4. Datubazes papildinasana bin faila"<<endl; cout<<"\n\nIevadiet darbibu: "; cin>>x; switch(x){ case 1: { system("cls"); char mas1[1000]; ifstream f1("dbase.txt"); while(!f1.eof()) { f1.getline (mas1,100); cout << mas1 << endl; } f1.close(); }break; case 2: { system("cls"); char mas2[1000]; int n; person dbase[n]; ///////////////////// ifstream f; f.open("personas.bin", ios::in); if(f.is_open()) { f.seekg(0); n=0; while (!f.eof()) { if(f.read((char*)&dbase[n], sizeof(mas2))) { cout<<"#"<<n<<":surname: "<<dbase[n].fname<<" name: "<<dbase[n].sname<<" gads: "<<dbase[n].pay<<" pay: "<<dbase[n].year<<endl; n++; } } } f.close(); ///////////////////////// }break; case 3: { system("cls"); int n,i; person p1, permas[20], masper[20]; cout<<"Cik darbinieku ievadisi? "; cin>>n; for(i=0;i<n;i++) { cout<<"\n n= "<<i+1; ievads(&permas[i]); } ofstream f1("dbase.txt", ios::app); //papildinasana txt faila for(i=0;i<n;i++) { f1<<permas[i].fname<<" "; f1<<permas[i].sname<<" "; f1<<permas[i].pay<<" "; f1<<permas[i].year<<"\n"; } f1.close(); cout<<"\nDatubazei ir pievienota sekojosa informacija:"; for(i=0;i<n;i++) { cout<<"\n"<<i+1<<". darbinieks"; izvads(&permas[i]); } }break; case 4: { system("cls"); int n,i; person p1, permas[20], masper[20]; cout<<"Cik darbinieku ievadisi? "; cin>>n; for(i=0;i<n;i++) { cout<<"\n n= "<<i+1; ievads(&permas[i]); } ofstream f2("dbaze.bin", ios::binary | ios::app); //papildinasana bin faila f2.write((char*)&permas,sizeof(pers on)*n); f2.close(); cout<<"\nDatubazei ir pievienota informacija:"; for(i=0;i<n;i++) { cout<<"\n"<<i+1<<". darbinieks"; izvads(&permas[i]); } }break; default: { cout<<"Nepareiza komanda, ludzu meginiet vel reiz!\n"; }break; }//main system("PAUSE>nul"); return 0; } ///////////////////////////////////////////////////////////////////////////////// Если что извините за надписи, они на латышском... но я думаю вам больше нужен код... я первый курс ИТ... Потому я оч многого не знаю... |
12.04.2013, 13:20 | #2 |
Регистрация: 12.04.2013
Сообщений: 4
|
мне один 2-курссник немного помог... но там не всё работает как надо...
#include<iostream>
#include<fstream> using namespace std; struct person { char fname[20]; char sname[20]; double pay; int year; }; //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- void ievads(person *p) { char mas[20]; int k; cout<<"\n ievadi vardu: "; cin>>p->fname; cout<<" ievadi uzvardu: "; cin>>p->sname; cout<<" ievadi algu: "; cin>>p->pay; do { cout<<" ievadi gadu: "; cin>>mas; k=atoi(mas); } while(k<=1920 || k>=2008); p->year=k; } void izvads(person *p) { cout<<"\n vards: "<<p->fname; cout<<"\n uzvards: "<<p->sname; cout<<"\n alga: "<<p->pay; cout<<"\n gads: "<<p->year<<"\n"; } int main()//////////////////main { int x; system("cls"); cout<<"1. Datubazes parskats txt faila"<<endl; cout<<"2. Datubazes parskats bin faila"<<endl; cout<<"3. Datubazes papildinasana txt faila"<<endl; cout<<"4. Datubazes papildinasana bin faila"<<endl; cout<<"\n\nIevadiet darbibu: "; cin>>x; switch(x){ case 1: { system("cls"); char mas1[1000]; ifstream f1("dbase.txt"); while(!f1.eof()) { f1.getline (mas1,100); cout << mas1 << endl; } f1.close(); }break; case 2: { system("cls"); char mas2[1000]; int n; person dbase[n]; ///////////////////// ifstream f; f.open("personas.bin", ios::in); if(f.is_open()) { f.seekg(0); n=0; while (!f.eof()) { if(f.read((char*)&dbase[n], sizeof(mas2))) { cout<<"#"<<n<<":surname: "<<dbase[n].fname<<" name: "<<dbase[n].sname<<" gads: "<<dbase[n].pay<<" pay: "<<dbase[n].year<<endl; n++; } } } f.close(); ///////////////////////// }break; case 3: { system("cls"); int n,i; person p1, permas[20], masper[20]; cout<<"Cik darbinieku ievadisi? "; cin>>n; for(i=0;i<n;i++) { cout<<"\n n= "<<i+1; ievads(&permas[i]); } ofstream f1("dbase.txt", ios::app); //papildinasana txt faila for(i=0;i<n;i++) { f1<<permas[i].fname<<" "; f1<<permas[i].sname<<" "; f1<<permas[i].pay<<" "; f1<<permas[i].year<<"\n"; } f1.close(); cout<<"\nDatubazei ir pievienota sekojosa informacija:"; for(i=0;i<n;i++) { cout<<"\n"<<i+1<<". darbinieks"; izvads(&permas[i]); } }break; case 4: { system("cls"); int n,i; person p1, permas[20], masper[20]; cout<<"Cik darbinieku ievadisi? "; cin>>n; for(i=0;i<n;i++) { cout<<"\n n= "<<i+1; ievads(&permas[i]); } ofstream f2("dbaze.bin", ios::binary | ios::app); //papildinasana bin faila f2.write((char*)&permas,sizeof(pers on)*n); f2.close(); cout<<"\nDatubazei ir pievienota informacija:"; for(i=0;i<n;i++) { cout<<"\n"<<i+1<<". darbinieks"; izvads(&permas[i]); } }break; default: { cout<<"Nepareiza komanda, ludzu meginiet vel reiz!\n"; }break; }//main system("PAUSE>nul"); return 0; } ///////////////////////////////////////////////////////////////////// но сдесь лишнего много.. как например создание каждый раз нового файла.... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление из дом | маГГ85 | JavaScript, Ajax | 0 | 09.02.2012 16:13 |
Контрольная. Сдать надо через три часа. | Boginy | Фриланс | 6 | 23.02.2010 20:31 |
нарисовать дом в Паскале | Leshiy1 | Помощь студентам | 8 | 26.09.2009 15:04 |
Умный дом | SNUPY | Свободное общение | 8 | 10.02.2009 21:25 |