2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Создание файлов в С++
Сообщение04.11.2009, 13:48 
Помогите пожалйста!!!
А) Создать файл, содержащий сведения о личной коллекции книголюба. Структура записи: автор, название, год издания, местоположение ( номер шкафа)
Б) написать программу, выдающую следующую информацию:
- местонахождение книги автора Х названия Y. Значения Х и Y вывести с терминала;
- список книг автора Z, находящееся в коллекции;
- число книг издания NN года, имеющееся в библиотеке.

Под буквой А у меня получилось!!!
А вот под Б вообще не зная как!!!
#include <iostream.h>
#include <stdio.h>

typedef struct{
double shifr_books;
char avtor[100];
char nazvanie[100];
int god_izdaniya;
int number;
}Library;


void main(){
int N;
FILE*FP=fopen("Library.dat","wb");

Library X;
cout<<"VVedite kolichestvo knig: \n";
cin>>N;

for (int i=0; i<N; i++){
cout<<"\nVvedite shifr knigi: ";
cin>>X.shifr_books;
cout<<"\nVvedite avtora knigi: ";
cin>>X.avtor;
cout<<"\nVvedite nazvanie knigi: ";
cin>>X.nazvanie;
cout<<"\nVvedite god izdaniya knigi: ";
cin>>X.god_izdaniya;
cout<<"\nVvedite nomer stellaga,gde nahoditsya kniga: ";
cin>>X.number;


fwrite(&X,sizeof(X),1,FP);
}
fclose(FP);

}

 
 
 
 Re: Создание файлов в С++
Сообщение04.11.2009, 15:01 
Для задачи Б мне кажется надо уже класс писать,а не структуру

 
 
 
 Re: Создание файлов в С++
Сообщение04.11.2009, 15:14 
2azurella
  • Используйте потоки std::ifstream и std::ofstream вместо функций fopen()/fclose()/etc.
  • Подберите типы полей более тщательно.
  • Для решение задачи Б последовательно считывайте записи из файла (с их последующим анализом). Во втором пункте можно выводить элементы списка сразу на консоль, а в третьем пункте нужно будет завести счетчик.

P.S.: Посмотрите также похожую тему Файлы в C++.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group