С++

C++, Assembler, PHP и т.д. и т.п...

Модератор: Tiger

Cenek
Сообщения: 7
Зарегистрирован: Чт 27 апр, 2006 20:24

С++

Сообщение Cenek » Сб 29 дек, 2007 4:31

Проверьте плиз прогу

Cenek
Сообщения: 7
Зарегистрирован: Чт 27 апр, 2006 20:24

Re: С++

Сообщение Cenek » Сб 29 дек, 2007 4:34

Вот задание:
Для книг, хранящихся в библиотеке, задаются:
► регистрационный номер;
► Ф.И.О. автора;
► название;
► год издания;
► количество страниц.
Выведите список книг, изданных после заданного года.
вот, что я написал, но не уверен, что правильно. Если кто-ибудь может проверьте и напиши комментарии к строкам.
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <iomanip.h>



struct f1
{
int reg nomer;
char familia[20];
char nazvanie[20];
float god;
int kol;
};


void zapis(R n);
void poisk(R n);
void chtenie(R n);

int main()
{
int a=1;
while (a)
{
struct R n;
int far;

cout <<"dlya vivoda informacii na ekran vvedite 1" << endl;
cout <<"dlya vvoda vvedite 2" << endl;
cout <<"dlya poiska vvedite 3" << endl;
cout <<"dlya vihoda vvedite 4" << endl;

cin >> far;
switch(far)
{
case 1: chtenie(R n); break;
case 2: vvod(R n); break;
case 3: poisk(R n); break;
case 4: exit(1); break;
default: cout << "Chto vvodish???" << endl;
continue;
}
}
return 0;
}

void vvod(R n)
{

cout << "Vvedite registracionnii nomer \n";
cin >> n.reg nomer;
cout << "Vvedite familiy avtora \n";
cin >> n.familia;
cout << "Vvedite nazvanie knigi \n";
cin >> n.nazvanie;
cout << "Vvedite god izdania \n";
cin >> n.god;
cout << "Vvedite kolichestvo stranic \n";
cin >> n.kol;
ofstream fout("1.txt", ios::app);
fout << endl << n.reg nomer;
fout << endl << n.familia;
fout << endl << n.nazvanie;
fout << endl << n.god;
fout << endl << n.kol;
}

void chtenie(R n)
{
ifstream fin ("1.txt");
while (!fin.eof() )
{
fin >> n.reg nomer >> "\t"
cout << n.reg nomer << endl;
fin >> n.familia >> "\t"
cout << n.familia << endl;
fin >> n.nazvanie >> "\t"
cout << n.nazvanie << endl;
fin >> n.god >> "\t"
cout << n.god << endl;
fin >> n.kol >> "\t"
cout << n.kol << endl;
}
}

void poisk(R n)
{
cout << "vvedite 1 dlya poiska po gody izdania \n";
cout << "vvedite 2 dlya poiska po nazvaniy knigi \n";
int variant poiska;
cin >> variant poiska;
switch(variant poiska)
{
case 1:{
cout << "vvedite god dlya poiska" << "\n";

float god1;
cin >> god1;

ifstream fin("1.txt");
while ( !fin.eof() )
{
fin >> n.god
>> n.reg nomer
>> n.familia
>> n.nazvanie
>> n.kol >> "\n";
if (n.god = god1)

{
cout << n.god << "\t"
<< n.reg nomer << "\t"
<< n.familia << "\t"
<< n.nazvanie << "\t"
<< n.kol << "\n";

}
}
fin.close();
fin.clear();}break;

case 2:{
char *nazvanie=new char[20];
cout << "vvedite nazvani knigi dlya poiska" << "\n";


cin >> nazvanie;
ifstream fin("1.txt");
while ( !fin.eof() )
{
ffin >> n.nazvanie
>> n.reg nomer
>> n.familia
>> n.god
>> n.kol >> "\n";
if(strcmp( n.nazvanie, nazvanie)==0)
{
cout << n.nazvanie << "\t"
<< n.reg nomer << "\t"
<< n.familia << "\t"
<< n.god << "\t"
<< n.kol << "\n";
}
}
fin.close();
fin.clear();}break;
}
}

Аватара пользователя
GOBLIN
Сообщения: 391
Зарегистрирован: Вт 30 ноя, 2004 11:49
Откуда: Ул Свободы Д 38
Контактная информация:

Re: С++

Сообщение GOBLIN » Пн 31 дек, 2007 1:19

Слушай а ты случаем не из МФПА?))
До боли знакомое задание!)
http://goblin.tushino.com/ - Сайт для программистов :lol:


Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость