Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2013, 13:17   #1
edvin25
 
Регистрация: 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;
}


/////////////////////////////////////////////////////////////////////////////////


Если что извините за надписи, они на латышском... но я думаю вам больше нужен код... я первый курс ИТ... Потому я оч многого не знаю...
edvin25 вне форума Ответить с цитированием
Старый 12.04.2013, 13:20   #2
edvin25
 
Регистрация: 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;
}

/////////////////////////////////////////////////////////////////////

но сдесь лишнего много.. как например создание каждый раз нового файла....
edvin25 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление из дом маГГ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