Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
aidoqa
586 / 99 / 2
Регистрация: 08.02.2011
Сообщений: 839
#1

Программирование задач обработки структур и файлов. - C++

21.03.2012, 19:30. Просмотров 662. Ответов 7
Метки нет (Все метки)

Даны сведения о книгах, поступивших в библиотеку: ФИО автора, название книги, название издательства, год издания, дата поступления книги в библиотеку. Вывести сведения о книгах, изданных издательством “Мир”, которые поступили в библиотеку за последние пять лет.


как можно переделать данный скрипт?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
program tt;
uses crt;
type Tkniga=record
       name_avtor:string;
       name_kniga:string;
       name_izdatelstvo:string;
       god_izdanija:integer;
       data_postuplenia:integer;
     end;
Tfile=file of Tkniga;
var
  kniga:Tkniga;
  f:Tfile;
  ch:char;
  fname:string;
  izd_:string;
  god_:integer;
 
procedure enter(fname:string);
var
  ch1:char;
begin
  ClrScr;
  {$I-}
  assign(f,fname);
  reset(f);
  {$I+}
  if IOResult<>0 then begin writeln('Фаил не найден он был создан!'); rewrite(f);end;
    while ch1<>'н' do begin
      seek(f,filesize(f));
      write('Ф.И.О автора: ');
      readln(kniga.name_avtor);
      write('Название книги: ');
      readln(kniga.name_kniga);
      write('Название издательства: ');
      readln(kniga.name_izdatelstvo);
      write('Год издания: ');
      readln(kniga.god_izdanija);
      write('Год поступления: ');
      readln(kniga.data_postuplenia);
      write(f,kniga);
      writeln('Повторить ввод? (д/н)');
      readln(ch1);
    end;
  close(f);
  writeln('Записи добавлены! Для возврата в меню Enter');
  readln;
end;
 
procedure find(fname:string;izd:string;god:integer);
var
  k:boolean;
  god1,god2:integer;
begin
   ClrScr;
   k:=false;
   {$I-}
  assign(f,fname);
  reset(f);
  {$I+}
  god1:=god-5;
  god2:=god;
  if IOResult<>0 then writeln('Фаил не найден!')else
     while not eof(f) do begin
        read(f,kniga);
        if (kniga.name_izdatelstvo=izd) and (kniga.data_postuplenia<=god2)and(kniga.data_postuplenia>=god1) then begin
          k:=true;
          writeln('Ф.И.О автора: ',kniga.name_avtor);
          writeln('Название книги: ',kniga.name_kniga);
          write('Название издательства: ',kniga.name_izdatelstvo);
          writeln('Год издания: ',kniga.god_izdanija);
          writeln('Год поступления: ',kniga.data_postuplenia);
        end;
     end;
  if k=false then writeln('Записи не найдены!');
  writeln('Для влзврата в меня нажмите Enter');
  readln;
end;
 
BEGIN
   repeat
   ClrScr;
   writeln('1.Добавить запись');
   writeln('2.Поиск');
   writeln('3.Выход');
   ch:=readkey;
   case ch of
     #49:begin
         writeln('Введите имя файла, если он не существует, то он будет создан');
         readln(fname);
         enter(fname);
       end;
     #50:begin
          writeln('Введите имя файла');
          readln(fname);
          writeln('Введите издание');
          readln(izd_);
          writeln('Введите текущий год');
          readln(god_);
          find(fname,izd_,god_);
        end;
   end;
   until ch=#51;
END.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2012, 19:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программирование задач обработки структур и файлов. (C++):

Программирование задач обработки структур и файлов - C++
помогите пожалуйста! Даны сведения о студентах группы: ФИО студента, дата рождения студента, место рождения студента. Вывести список...

Программирование задач обработки структур и файлов - C++
Даны сведения о книгах: автор, название, год издания. Вывести на экран сведения о книге &quot;Информатика&quot;, упорядочив по возрастанию год...

Программирование задач обработки структур и файлов - C++
Задание: Даны сведения о результатах сессии: ФИО студента, названия четырех предметов и оценки, полученные по каждому предмету. Вывести...

Программирование задач обработки файлов - C++
Дан файл f, компоненты которого являются целыми числами. Записать в файл g наибольшее значение первых ста компонент файла f, затем -...

Программирование типовых числовых задач обработки одномерных массивов - C++
1) Вычислить и запомнить в структуре одномерного массива (таблица 1) фиксированное количество элементов числовой последовательности,...

Программирование задач с использованием комбинированного типа данных или структур - C++
Написать программу данных задач используя комбинированный тип: Абитуриенты сдают пробные экзамены и получают сумму очков до 100....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 19:56 #2
aidoqa, вам нужно переделать код на паскале или сделать код на плюсах/Си? Если первый вариант, то вы разделом ошиблись.
1
aidoqa
586 / 99 / 2
Регистрация: 08.02.2011
Сообщений: 839
21.03.2012, 20:03  [ТС] #3
мну нужен код на с++
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 20:32 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <string>
#include <cstdlib>
 
typedef std::size_t T_year;
 
struct Book
{
    std::string name;
    std::string author;
    std::string publishingHouse;
    T_year      publication;
    T_year      receipt;
    //--------------------------------------------------------------------------
    friend std::ostream& operator << (std::ostream& stream, Book& b)
    {
        stream  << b.name << " by " << b.author             << std::endl
                << "publishing house " << b.publishingHouse << std::endl
                << "create in " << b.publication            << std::endl
                << "received in the library in " << b.receipt;
        return stream;
    }
};
 
int main(int argc, const char* argv[])
{
    const std::size_t size = 5;
    Book b[size];
    for(std::size_t i = 0; i < size; ++i)
        std::cin    >> b[i].name >> b[i].author >> b[i].publishingHouse
                    >> b[i].publication >> b[i].receipt;
    T_year year;
    std::cin >> year;
    const std::string   house("Mir");
    const T_year        lastNYears(5);
    std::cout << std::endl;
    for(std::size_t i = 0; i < size; ++i)
        if
        (
            (b[i].publishingHouse == house) && 
            (year - b[i].receipt <= lastNYears)
        )
            std::cout   << b[i] << std::endl
                        << "//-------------------------//" << std::endl;
    return 0;
}
out
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
soon@desktop:~/Src/C++/main$ make && ./main
g++ -c -Wall --std=gnu++11 main.cpp -o main.o
g++ main.o -o main
asd asd Mir 1234 5678
qwe qwe qwe 123 123
zxc sdf Mir 2004 2005
redg seg Mir 2008 2010 
awd awd gaf 123 123
2012
 
redg by seg
publishing house Mir
create in 2008
received in the library in 2010
//-------------------------//
soon@desktop:~/Src/C++/main$
3
aidoqa
586 / 99 / 2
Регистрация: 08.02.2011
Сообщений: 839
21.03.2012, 20:36  [ТС] #5
Цитата Сообщение от soon Посмотреть сообщение
std::
вместо него можно просто в начале написать using namespace std;или как будет выглядеть код без std?
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 20:52 #6
aidoqa, да, можно. Только понять никак не могу, чем вам(не конкретно вам, а вообще людям, которые сюда обращаются) не нравится std::? Разве не сможете объяснить, что это такое? Просто интересно
1
aidoqa
586 / 99 / 2
Регистрация: 08.02.2011
Сообщений: 839
22.03.2012, 07:24  [ТС] #7
Цитата Сообщение от soon Посмотреть сообщение
Просто интересно
просто меньше вопросов задавать будут)к примеру сделал с std сделай ее без std и т.д.)
1
ChingizBat
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 110
12.11.2015, 19:17 #8
Здравствуйте! А можно это все через файл оформить?

Добавлено через 12 минут
soon, Помоги плиз, как организовать ввод и вывод в файл
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2015, 19:17
Привет! Вот еще темы с ответами:

обработки структур данных - C++
Всем добрый вечер! народ это для меня сложновато заранее всем спасибо.emal.t.bekzat_ismail@mail.ru Тема:Программирование задач...

Программа обработки структур - C++
Найдите пожалуйста ошибку. На 33 строке выдаёт error: too few arguments to function 'complex mul (complex, complex)' #include...

обработки структур данных - C++
добрый день. помогите пожалуйста решить задачу на Си. Даны характеристики обменных пунктов: название, курс покупки валюты, курс...

Функции обработки структур BOX - C++
Помогите с задачей, пожалуйста! Условие на фотографии:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.11.2015, 19:17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru