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

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

Восстановить пароль Регистрация
 
 
Satansoft
 Аватар для Satansoft
7 / 7 / 1
Регистрация: 27.02.2012
Сообщений: 698
30.03.2013, 00:58     Создать библиотечный каталог n порядка, ввести данные #1
Задача: Создать библиотечный каталог 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();}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 15:57     Создать библиотечный каталог n порядка, ввести данные #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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Satansoft
 Аватар для Satansoft
7 / 7 / 1
Регистрация: 27.02.2012
Сообщений: 698
30.03.2013, 16:13  [ТС]     Создать библиотечный каталог n порядка, ввести данные #22
Я уже так сделал (: , но ведь ясно же, что оно выводит "Книги дороже 100" лишь на i-м шаге, я же пытался создать массив, в который бы записывались эти книги и на выводе, прогнав по массиву, вывести эти самые книги)

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

Структуры: ввести данные о работниках и вывести их данные, отсортированные по алфавиту C++
C++ Используя STL контейнер создать каталог песен
C++ С помощью методов ввести данные, вывести данные из массива

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

Или воспользуйтесь поиском по форуму:
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
30.03.2013, 16:37     Создать библиотечный каталог n порядка, ввести данные #25
Satansoft, да, и не надо никакого массива символов)
Yandex
Объявления
30.03.2013, 16:37     Создать библиотечный каталог n порядка, ввести данные
Ответ Создать тему
Опции темы

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