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

Массив структур: книги, хранящиеся в библиотеке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.71
RAMON@
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 67
01.04.2010, 14:50     Массив структур: книги, хранящиеся в библиотеке #1
8. Для книг, хранящихся в библиотеке, задаются регистрационный номер книги, автор, название, год издания, издательство, количество страниц. Вывес-ти список книг с фамилиями авторов, изданных после заданного года.!!!!!!!!!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2010, 14:50     Массив структур: книги, хранящиеся в библиотеке
Посмотрите здесь:

C++ Бинарное дерево. книги в библиотеке
Написать программу удаления книги из массива структур с введенным именем автора C++
Написать программу добавления новой книги в начало массива структур. C++
Массив структур, сохранение начала каждой из структур C++
C++ Написать программу удаления книги из массива структур с введенным именем автора
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lаmer
7 / 7 / 4
Регистрация: 24.03.2010
Сообщений: 25
02.04.2010, 23:53     Массив структур: книги, хранящиеся в библиотеке #2
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
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
#include <iostream>
#define m 10
 
struct Books
{
    int ID;
    char Auth[40];
    char Name[50];
    int Year;
    char Publ[40];
    int Pages;
};
Books *base = new Books[m];
 
void input_struct(struct Books, size_t k);
void print_struct(struct Books, size_t k);
void year_query(struct Books, size_t k);
 
int main(void)
{
    setlocale(0, "");
    input_struct(*base, m);
    print_struct(*base, m);
    year_query(*base, m);
    delete[] base;
    system("pause");
    return 0;
}
 
void input_struct(struct Books, size_t k)
{
    std::cout << "Поля заполняются в кодировке ANSI ASCII!\n";
    std::cout << std::endl;
    for(size_t i = 0; i < k; ++i)
    {
        std::cout << "Введите данные о книге [" << i + 1 << "] -> ";
        std::cin >> base[i].ID;
        std::cin >> base[i].Auth;
        std::cin >> base[i].Name;
        std::cin >> base[i].Year;
        std::cin >> base[i].Publ;
        std::cin >> base[i].Pages;
    }
    std::cout << std::endl;
}
 
void print_struct(struct Books, size_t k)
{
    std::cout << "Состояние полей структуры Books: \n";
    for(size_t i = 0; i < k; ++i)
    {
        std::cout << base[i].ID << '\t';
        std::cout << base[i].Auth << '\t';
        std::cout << base[i].Name << '\t';
        std::cout << base[i].Year << '\t';
        std::cout << base[i].Publ << '\t';
        std::cout << base[i].Pages << '\t';
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
void year_query(struct Books, size_t k)
{
    int y;
    std::cout << "Введите год для выборки -> ";
    std::cin >> y;
    std::cout << std::endl;
    bool f = false;
    for(size_t i = 0; i < k; ++i)
        if(y < base[i].Year)
        {
            std::cout << base[i].Name << '\t' << base[i].Auth << std::endl;
            f = true;
        }
    if(!f)
        std::cout << "Книг после " << y << " года" << " нет" << std::endl;
}
Не идеально, но задачу выполняет.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.04.2010, 12:45     Массив структур: книги, хранящиеся в библиотеке #3
RAMON@, с чем именно проблема?
RAMON@
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 67
16.04.2010, 12:47  [ТС]     Массив структур: книги, хранящиеся в библиотеке #4
грубо говоря мне не понятна сама структура.. я даже не понимаю как писать и что писать.. есть понимаеш напиши полностью задачу со всеми начальными библиотеками..
RAMON@
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 67
23.04.2010, 18:31  [ТС]     Массив структур: книги, хранящиеся в библиотеке #5
Создать массив структур.Для книг, хранящихся в библиотеке, задаются регистрационный номер книги, автор, название, год издания, издательство, количество страниц. Вывес-ти список книг с фамилиями авторов, изданных после заданного года.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream.h>
#include <string.h>
int main ()
{
struct strc // Объявление структуры strc
{ char fio[40];
char ngr[7];
int otc[4];
double sb;
} mstud[100]; // Объявление массива структур mstud
а дальше как?
Dr_Carmack
 Аватар для Dr_Carmack
3 / 3 / 1
Регистрация: 23.04.2010
Сообщений: 12
23.04.2010, 19:25     Массив структур: книги, хранящиеся в библиотеке #6
ты объявил массив из структур. теперь работай с ними как с элементами массива - mstud[i] И доступ к полям через оператор "."
RAMON@
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 67
23.04.2010, 19:33  [ТС]     Массив структур: книги, хранящиеся в библиотеке #7
у меня не получается выскакивает ошибок кучу...
GrihaI
13 / 13 / 1
Регистрация: 23.04.2010
Сообщений: 31
23.04.2010, 20:43     Массив структур: книги, хранящиеся в библиотеке #8
исправь #include <iostream.h>
на #include <stdio.h>
если пишешь на "С"
Dr_Carmack
 Аватар для Dr_Carmack
3 / 3 / 1
Регистрация: 23.04.2010
Сообщений: 12
23.04.2010, 21:03     Массив структур: книги, хранящиеся в библиотеке #9
можно на ошибки посмотреть?
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
08.05.2010, 17:06     Массив структур: книги, хранящиеся в библиотеке #10
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
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
//Для книг, хранящихся в библиотеке, задаются регистрационный номер книги, 
//автор, название, год издания, издательство, количество страниц. 
//Вывести список книг с фамилиями авторов, изданных после заданного года.
#include<iostream>
#include<windows.h>
using namespace std;
struct Bibliot
{
    char name[50];
    int regn;
    char avtor[50];
    int god;
    int stranic;
    char izdat[100];
};
void Find(Bibliot *obj, int n, int god)
{
    for(int i=0;i<n;i++)
    {
        if(obj[i].god>god)
        {
            cout<<"Назваие книги: "<<obj[i].name<<"\n";
            cout<<"Автор книги: "<<obj[i].avtor<<"\n";
        }
    
    }
    cout<<endl;
 
 
}
void main()
{
    setlocale(LC_CTYPE,"Rus");
    int n=0,god=0;
    int key=0;
    Bibliot obj[100];
    do
    {
        cout<<"1. Добавить книгу в бибилиотеку\n2. Вывод книг изданных в определенный период\n0. Выход\n";
        cin>>key;
        cin.ignore(1);
        switch(key)
        {
        case 1:
            cout<<"Введите название книги: \n";
            gets(obj[n].name);
            OemToCharA(obj[n].name,obj[n].name);
            cout<<"Введите автора книги: \n";
            gets(obj[n].avtor);
            OemToCharA(obj[n].avtor,obj[n].avtor);
            cout<<"Введите регистрационный номер: \n";
            cin>>obj[n].regn;
            cout<<"Введите год издания: \n";
            cin>>obj[n].god;
            cout<<"Введите количество страниц: \n";
            cin>>obj[n].stranic;
            cin.ignore(1);
            cout<<"Введите издательство: \n";
            gets(obj[n].izdat);
            OemToCharA(obj[n].izdat,obj[n].izdat);
            n++;
            system("pause");
            system("cls");
            break;
        case 2:
            cout<<"Введите год после которого найти книги: ";
            cin>>god;
            Find(obj,n,god);
            system("pause");
            system("cls");
            break;
        case 0:
            cout<<"До свидания.\n";
            break;
        default:
            cout<<"Выбран неправильный пункт меню\n";
            break;
        }
    }while(key!=0);
    cout<<"\n\n";
}
RAMON@
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 67
08.05.2010, 17:48  [ТС]     Массив структур: книги, хранящиеся в библиотеке #11
почему в конце пишется что неправильный n? это программа сама или она неправильная?
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
08.05.2010, 17:53     Массив структур: книги, хранящиеся в библиотеке #12
у меня программа нормально работает без каких либо ошибок, на какую строку ссылается ошибка?
RAMON@
0 / 0 / 0
Регистрация: 07.11.2009
Сообщений: 67
08.05.2010, 18:00  [ТС]     Массив структур: книги, хранящиеся в библиотеке #13
да у меня что с прграммой в универе там показывает какие ошибкм точнее строку и пишет подробно а у меня пишет ошибку я даже незнаю где
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2010, 18:07     Массив структур: книги, хранящиеся в библиотеке
Еще ссылки по теме:

C++ Сортировка структур по названию книги
C++ книги в библиотеке
C++ Блочная сортировка структур (Отсортировать массив структур по фамилии)

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

Или воспользуйтесь поиском по форуму:
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
08.05.2010, 18:07     Массив структур: книги, хранящиеся в библиотеке #14
Build log was saved at "file://c:\******\Debug\BuildLog.htm"
ssss - 0 error(s), 3 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Программа рабочая, без ошибок
Yandex
Объявления
08.05.2010, 18:07     Массив структур: книги, хранящиеся в библиотеке
Ответ Создать тему
Опции темы

Текущее время: 01:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru