С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
#1

Создать библиотечный каталог n порядка, ввести данные - C++

30.03.2013, 00:58. Просмотров 1075. Ответов 24
Метки нет (Все метки)

Задача: Создать библиотечный каталог n порядка, ввести данные: название книги, автор, год издания, цена, вывод: общая цена, порядок каталога, книги, стоимостью больше 100.
Проблемы: класс задан в виде массива n порядка, не понятно, где присобачить:
C++
1
*sum+=*cost;//для суммирования стоимости на i-ом шаге
C++
1
2
if(*cost>=100)
return *title; //для возврата имени книг, которые дороже 100
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
#include<iostream>
#include<string>
 
using namespace std;
 
short n;
 
class catalog
{
    private:
    string *title;
    string *author;
    int *year;
    float *cost;
    float *sum=0;
    public:
    catalog(string goo, string roo, int bd, float price, float psum)
    {
      title=new string(goo);
      author=new string(roo);
      year=new int(bd);
      cost=new float(price);
      sum=new float(psum);
    }
    catalog()
    {
      title=new string();
      author=new string();
      year=new int();
      cost=new float();
      sum=new float();
    }
    float input()
    {
    cout<<"Title of book:"<<endl;
    cin>>*title;
    cout<<"Author of book:"<<endl;
    cin>>*author;
    cout<<"Year of print:"<<endl;
    cin>>*year;
    cout<<"Price of book:"<<endl;
    cin>>*cost;
    }
    void output()
    {
       cout<<"Books with price < 100: "<<endl;
       cout<<"Sum of books: "<<n<<endl;
       cout<<"Sum cost: "<<*sum<<endl;
 
    }
    ~catalog()
    {
        delete title; title=NULL;
        delete author; author=NULL;
        delete year; year=NULL;
        delete cost; cost=NULL;
    }
};
int main()
{
    cout<<"Enter size of catalog"<<endl;
    cin>>n;
    catalog h[n];
    for(int i=0;i<n;i++){
    h[i].input();
    h[i].output();}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2013, 00:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать библиотечный каталог n порядка, ввести данные (C++):

Программа - библиотечный каталог - C++
Всем привет! Рад что здесь есть луди действительно опытные в этотом вопросе... вообщем нуждаюсь в программе, которая бы реализовывала...

создать таблицу и ввести в нее данные по номеру - C++
Хочу сделать таблицу-простую-номера столбцов 1 2 3 4 5 6 7 8 9 10 1a 1b 1c 1d 1e 1f-шестнадцатиричная система. Строки-обычные...

Создать массив объектов пользовательского типа "Car" (каталог машин) и функции чтения/записи из/в каталог(а) - C++
Добрый день! Нужно составить программу, которая будет дополнять каталог автомобилей Имеется массив структур Auto *car = new Auto ...

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

Структуры: ввести данные о работниках и вывести их данные, отсортированные по алфавиту - C++
Всем привет! Подскажите пожалуйста, что не так с моей функцией proverka? Мне нужно ввести данные о работниках и вывести их данные,...

Ввести данные в файл, и записать данные с файла в массив структур - C++
Ввести все данные в файл, и записать данные с файла в структуру. Помогите ввести и вывести структуру из файла. Допускается - и желательно...

24
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
30.03.2013, 15:30  [ТС] #16
Реализация "Выводить книги, стоимость которых больше 100" уткнулась в невозможность конверта стрингов в матрицу символов.

Весь код, с кривотой в мейне (:
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<string>
 
using namespace std;
 
short n;
 
class catalog
{
    private:
    string *title;
    string *author;
    int *year;
    float *cost;
    public:
    catalog(string goo, string roo, int bd, float price)
    {
      title=new string(goo);
      author=new string(roo);
      year=new int(bd);
      cost=new float(price);
    }
    catalog()
    {
      title=new string();
      author=new string();
      year=new int();
      cost=new float();
    }
    float input()
    {
    cout<<endl<<"Title of book:"<<endl;
    cin>>*title;
    cout<<"Author of book:"<<endl;
    cin>>*author;
    cout<<"Year of print:"<<endl;
    cin>>*year;
    cout<<"Price of book:"<<endl;
    cin>>*cost;
    }
    float summ()
    {
        return *cost;
    }
    string liab()
    {
        return *title;
    }
    void output()
    {
       cout<<endl<<"Books with price < 100: "<<endl;
       cout<<"Sum of books: "<<n<<endl;
       cout<<"Sum cost: "<<summ()<<endl;
 
    }
    ~catalog()
    {
        delete title; title=NULL;
        delete author; author=NULL;
        delete year; year=NULL;
        delete cost; cost=NULL;
    }
};
int main()
{
    float *sum;
    char **lib[50];
    cout<<"Enter size of catalog"<<endl;
    cin>>n;
    catalog h[n];
    for(int i=0;i<n;i++){
    h[i].input();
    h[i].output();
    *sum+=h[i].summ();
    if(h[i].summ()>=100)
    {*lib[i]=h[i].liab();}
    };
    cout<<endl<<*sum<<endl;
    cout<<*lib<<endl;
    return 0;
}
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 15:34 #17
Satansoft, я задам один вопрос, ты пишешь без компиляции?
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
30.03.2013, 15:42  [ТС] #18
Цитата Сообщение от yoghurt92 Посмотреть сообщение
я задам один вопрос, ты пишешь без компиляции?
с компиляцией
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 15:45 #19
Satansoft, а почему тогда так много ошибок? надо же смотреть что пишет компилятор...
0
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
30.03.2013, 15:48  [ТС] #20
yoghurt92,
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 15:57 #21
Satansoft,

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
82
83
84
85
86
87
88
89
90
91
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>            
#include <iterator>
#include <functional>
using namespace std;
 
short n;
 
class catalog
{
    private:
    string *title;
    string *author;
    int *year;
    float *cost;
    public:
    catalog(string goo, string roo, int bd, float price)
    {
      title=new string(goo);
      author=new string(roo);
      year=new int(bd);
      cost=new float(price);
    }
    catalog()
    {
      title=new string();
      author=new string();
      year=new int();
      cost=new float();
    }
    void input()
    {
    cout<<endl<<"Title of book:"<<endl;
    cin>>*title;
    cout<<"Author of book:"<<endl;
    cin>>*author;
    cout<<"Year of print:"<<endl;
    cin>>*year;
    cout<<"Price of book:"<<endl;
    cin>>*cost;
    }
    float summ()
    {
        return *cost;
    }
    string *liab()
    {
        return title;
    }
    void output()
    {
       cout<<endl<<"Books with price < 100: "<<endl;
       cout<<"Sum of books: "<<n<<endl;
       cout<<"Sum cost: "<<summ()<<endl;
 
    }
    ~catalog()
    {
        delete title; title=NULL;
        delete author; author=NULL;
        delete year; year=NULL;
        delete cost; cost=NULL;
    }
};
int main()
{
    float *sum = new float(0);
    string *lib;
    cout<<"Enter size of catalog"<<endl;
    cin>>n;
 
    catalog *h = new catalog[n];
    for(int i=0;i<n;i++){
        h[i].input();
        h[i].output();
        *sum+=h[i].summ();
        if(h[i].summ()<=100)
        {
            lib = h[i].liab();
            cout<< "lib: " << *lib;
            cout<<endl<<*sum<<endl;
        }
    };
 
    delete []sum;
    delete []h;
    return 0;
}
1
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
30.03.2013, 16:13  [ТС] #22
Я уже так сделал (: , но ведь ясно же, что оно выводит "Книги дороже 100" лишь на i-м шаге, я же пытался создать массив, в который бы записывались эти книги и на выводе, прогнав по массиву, вывести эти самые книги)

Примерно:
C++
1
2
3
for(j=0;j<n;j++){
lib[j] = h[j].liab();
cout<<lib[j];}
Проблема заключалась в том, что бы заставить стринг (жуть как не хочецо в привате что-то менять, по понятным причинам )записываться в символьную матрицу.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 16:22 #23
Satansoft, ну так надо было сказать что ты хочешь, я же не экстрасенс а не легче просто выводить эти книги, просто я особой нужды в символьном массиве не вижу) у нас есть массив книг, мы его просматриваем, а затем выводим то, что удовлетворяет нашему условию И не нужен никакой массив стрингов)
1
Satansoft
8 / 8 / 1
Регистрация: 27.02.2012
Сообщений: 724
30.03.2013, 16:36  [ТС] #24
yoghurt92, понял, погоняемся по массиву класса, благодарю за внимание (:
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 16:37 #25
Satansoft, да, и не надо никакого массива символов)
1
30.03.2013, 16:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2013, 16:37
Привет! Вот еще темы с ответами:

С помощью методов ввести данные, вывести данные из массива - C++
Создать класс собак (название породы, возраст (больше двух лет), вес, средний вес породы, группа). В функции main создать массив собак трех...

Создать каталог организаций города и отсортировать по названию - C++
Создать каталог организаций города (динамический массив) и отсортировать по названию ( friend - функция). Помогите пожалуйста #include...

Создать каталог организаций города и отсортировать по названию - C++
Помогите пожалуйста! Только начала изучать классы, не все понимаю. Создать класс Organization. Переменная типу Organization должна...

Используя STL контейнер создать каталог песен - C++
помогите пожалуйста написать программу на С++. Буду очень благодарна) Текстовый файл содержит информацию о каталоге песен в форме –...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

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