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

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

Войти
Регистрация
Восстановить пароль
 
 
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
#1

Использование класса ORDER - C++

09.05.2014, 17:58. Просмотров 775. Ответов 22
Метки нет (Все метки)

Следующие задания требуется решить с использованием классов.
При этом обязательно оформить методы для выполнения каждого из действий: по вводу данных, выводу их в файл, чтению данных из файла и выводу их на экран, сортировке данных.

---------------------------------------------------------------------------------------------------------------
Дана структура с именем ORDER, состоящая из полей:
- расчетный счет плательщика;
- расчетный счет получателя;
- перечисляемая сумма в руб.
Написать программу, которая выполняет следующие действия:
- ввод с клавиатуры данных в массив, состоящий из 8 элементов типа ORDER, и занесение их в файл данных;
- чтение данных из файла и вывод их на экран;
- вывод на экран информации о сумме, cнятой с расчетного счета
плательщика, введенного с клавиатуры (если таких нет – вывести об этом
сообщение);
- список должен быть упорядочен по расчетным счетам плательщиков.
---------------------------------------------------------------------------------------------------------------

Вот, что попытался сделать:
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
#include <iostream>
#include <fstream>
using namespace std;
 
int const n=21;
 
struct ORDER
{
       char plat[n], pol[n];                 //Ввод счета длиной 20 символов
       double summa;
};
 
 int main()
{
    setlocale (LC_ALL, "rus");
    ofstream fout; ifstream fin;
    ORDER tmp;
    ORDER Spisok[21];
    char nomer_plat[21];
    bool r=false;
    float snyataya_summa=0;
    fout.open ("input.txt");                                    //Запись данных в файл
    for (int i=1;i<=3;i++)
    { 
        cout<<"# "<<i<<endl;
        cout<<"Расчетный счет плательщика: ";
        cin>>Spisok[i].plat;
        cout<<"Расчетный счет получателя: ";
        cin>>Spisok[i].pol;
        cout<<"Перечисляемая сумма в руб.: ";
        cin>>Spisok[i].summa;
        cout << endl;
        fout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
    }
    fout.close();
 
 
    fin.open ("input.txt");                                     //Чтение данных из файла
    cout <<"--------------------------------------------------------------------------------"<<"Чтение данных из файла."<<endl;
    for (int i=1;i<=3;i++)
    {
        int a;
        fin >> a;
        cout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
    }
    cout <<"--------------------------------------------------------------------------------";
    fin.close ();
 
 
    for (int i=1;i<=3;i++)                              //Сортировка по расчетным счетам плательщиков (исправить)
    for (int j=1;j<=3;j++)
    {
        if (i!=j)
        if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
        {
            tmp=Spisok[j];
            Spisok[j]=Spisok[i];
            Spisok[i]=tmp;
        }
    }
    cout<<"Сортировка по расчетным счетам плательщиков.";
    for (int i=1;i<=3;i++)
    cout<<endl<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
    <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl;
    cout << "--------------------------------------------------------------------------------";
    cout<<"Введите номер расчетного счета (плательщика): ";                 //Поиск расчетного счета
    cin>>nomer_plat;
    for (int i=1;i<=3;i++)
    if (strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 )
    {
        snyataya_summa+=Spisok[i].summa;
        r=true;
    }
    if (r==true)
    cout<<"С расчетного счета "<<nomer_plat<<" снято "<<snyataya_summa<<" руб."<<endl;
    else
    cout<<"Такого расчетного счета нет!"<<endl;
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2014, 17:58     Использование класса ORDER
Посмотрите здесь:

Использование класса - C++
Доброго времени суток! Подскажите пожалуйста... Я как-то неправильно использую класс: #include &lt;windows.h&gt; class Timer { ...

Использование шаблона класса - C++
Здравствуйте. у меня возникла проблемка при использовании шаблона класса. template &lt;class X&gt; class CArray { public: X *myarray; ...

Использование this в методе класса - C++
Добрый день! Пытаюсь написать класс красно-чёрного дерева. Вот фрагмент класса: class Tree { long value; Tree* parent; ...

Использование дружественного класса - C++
Нужно что бы классы стали общее дружеские вложенные классы поидее в книге написано можно добавить всего лишь к примеру friend class Remote;...

Использование вложенного класса - C++
Доброго времени суток. Решил подтянуть знания в базовых алгоритмах и структурах данных, а заодно попрактиковаться в шаблонах и обобщенном...

Использование переменных main из класса - C++
Создал класс, подключил так: #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &quot;kartoteka.h&quot; #include &lt;string&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5264 / 4584 / 1537
Регистрация: 14.04.2014
Сообщений: 18,213
09.05.2014, 18:03     Использование класса ORDER #2
А где твой класс? Судя по заданию Order надо классом описывать, а не структурой.
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
09.05.2014, 18:07  [ТС]     Использование класса ORDER #3
nmcf, Как раз в этом проблема и состоит, как мне реализовать класс?
Сейчас скину с классом, но там ошибка, подумал может вы поможете:

С фэйловым классом.
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
#include <fstream>
using namespace std;
 
int const n=21;
 
class ORDER
{
public:
    char plat[n], pol[n];                 //Ввод счета длиной 20 символов
    double summa;
public:
    void setDATA (char plat_s, char pol_s, double summa_r)
    {
        plat[n] = plat_s;
        pol[n] = pol_s;
        summa = summa_r;
    }
 
    void getDATA()
    {
        ORDER Spisok[21];
        ifstream fin;
        fin.open ("input.txt");                                     //Чтение данных из файла
        cout <<"--------------------------------------------------------------------------------"<<"Чтение данных из файла."<<endl;
        for (int i=1;i<=3;i++)
        {
            int a;
            fin >> a;
            cout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
            <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
        }
        cout <<"--------------------------------------------------------------------------------";
        fin.close ();
    }
 
    void sort()
    {
        ORDER tmp;
        ORDER Spisok[21];
        for (int i=1;i<=3;i++)                              //Сортировка по расчетным счетам плательщиков (исправить)
        for (int j=1;j<=3;j++)
        {
            if (i!=j)
            if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
            {
                tmp=Spisok[j];
                Spisok[j]=Spisok[i];
                Spisok[i]=tmp;
            }
        }
        cout<<"Сортировка по расчетным счетам плательщиков.";
        for (int i=1;i<=3;i++)
        cout<<endl<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl;
        cout << "--------------------------------------------------------------------------------";
    }
 
    void search()
    {
        bool r=false;
        ORDER Spisok[21];
        double snyataya_summa=0;
        char nomer_plat[21];
        cout<<"Введите номер расчетного счета (плательщика): ";                 //Поиск расчетного счета
        cin>>nomer_plat;
        for (int i=1;i<=3;i++)
        if (strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 )
        {
            snyataya_summa+=Spisok[i].summa;
            r=true;
        }
        if (r==true)
        cout<<"С расчетного счета "<<nomer_plat<<" снято "<<snyataya_summa<<" руб."<<endl;
        else
        cout<<"Такого расчетного счета нет!"<<endl;
    }
};
 
 int main()
{
    setlocale (LC_ALL, "rus");
    char plat[n], pol[n];
    double summa=0;
    ofstream fout;
    ORDER Spisok[21];
    fout.open ("input.txt");                                    //Запись данных в файл
    ORDER *obj = new ORDER;
    for (int i=1;i<=3;i++)
    { 
        cout<<"# "<<i<<endl;
        cout<<"Расчетный счет плательщика: ";
        cin>>Spisok[i].plat;
        cout<<"Расчетный счет получателя: ";
        cin>>Spisok[i].pol;
        cout<<"Перечисляемая сумма в руб.: ";
        cin>>Spisok[i].summa;
        cout << endl;
        fout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
    }
    fout.close();
    obj->setDATA(plat[n], pol[n], summa);
    obj->getDATA();
    obj->sort();    
    obj->search();
    delete obj;
    system("PAUSE");
    return 0;
}
Добавлено через 1 минуту
nmcf, ошибка на 103 строчке!
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
09.05.2014, 18:35     Использование класса ORDER #4
C++
1
2
3
4
5
6
void setDATA (char* plat_s, char* pol_s, double summa_r)
    {
        strcpy(plat,plat_s);
        strcpy(pol, pol_s);
        summa = summa_r;
    }
и вызов
C++
1
obj->setDATA(plat, pol, summa);
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
09.05.2014, 19:15  [ТС]     Использование класса ORDER #5
zss, И все что ли?

Добавлено через 6 минут
zss, После того как я ввел сумму, ошибки повыскакивали

Добавлено через 32 минуты
Помогите кто-нибудь с этой задачей, уже 3 дня решаю.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
09.05.2014, 20:12     Использование класса ORDER #6
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
92
93
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int n=21;
 
class ORDER
{
private:
    char plat[n], pol[n];                 //Ввод счета длиной 20 символов
    double summa;
public:
    void setDATA (char* plat_s, char* pol_s, double summa_r)
    {
        strcpy(plat,plat_s);
        strcpy(pol, pol_s);
        summa = summa_r;
    }
 
    void getDATA()
    {
        cout<<"Расчетный счет плательщика: ";
        cin>>plat;
        cout<<"Расчетный счет получателя: ";
        cin>>pol;
        cout<<"Перечисляемая сумма в руб.: ";
        cin>>summa;
     }
    void ReadDATA( ifstream fin)
    {
        fin>>plat;
        fin>>pol;
        fin>>summa;
   }
    friend void sort(ORDER* Spisok)
    {
        ORDER tmp;
        for (int i=0;i<3;i++)                              //Сортировка по расчетным счетам плательщиков (исправить)
        for (int j=0;j<3;j++)
        {
            if (i!=j)
            if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
            {
                tmp=Spisok[j];
                Spisok[j]=Spisok[i];
                Spisok[i]=tmp;
            }
        }
        cout<<"Сортировка по расчетным счетам плательщиков.";
        for (int i=0;i<3;i++)
        cout<<endl<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl;
        cout << "--------------------------------------------------------------------------------";
    }
 
    friend void search(ORDER* Spisok)
    {
        bool r=false;
        double snyataya_summa=0;
        char nomer_plat[21];
        cout<<"Введите номер расчетного счета (плательщика): ";                 //Поиск расчетного счета
        cin>>nomer_plat;
        for (int i=0;i<3;i++)
        if (strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 )
        {
            snyataya_summa+=Spisok[i].summa;
            r=true;
        }
        if (r)
        cout<<"С расчетного счета "<<nomer_plat<<" снято "<<snyataya_summa<<" руб."<<endl;
        else
        cout<<"Такого расчетного счета нет!"<<endl;
    }
};
 
 int main()
{
    setlocale (LC_ALL, "rus");
    ifstream fin;
    fin.open("input.txt",ios::in);
    if(!fin)
        return 0;
    ORDER Spisok[4];
    for (int i=0;i<3;i++)
    { 
        Spisok[i].ReadDATA(fin);
    }
    fin.close();
    sort(Spisok);    
    search(Spisok);
    system("PAUSE");
    return 0;
}
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
09.05.2014, 20:41  [ТС]     Использование класса ORDER #7
zss, Огромное спасибо, но он выводит ошибку:
Ошибка 3 error C2248: std::basic_ios<_Elem,_Traits>::basic_ios: невозможно обратиться к private член, объявленному в классе "std::basic_ios<_Elem,_Traits>" c:\program files (x86)\microsoft visual studio 10.0\vc\include\fstream

Добавлено через 8 минут
zss, Запись в файл как-то связана через ios::in?
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
09.05.2014, 20:48     Использование класса ORDER #8
В описании ReadDATA надо передать параметр по ссылке
C++
1
void ReadDATA( ifstream& fin)
Добавлено через 3 минуты
Цитата Сообщение от Lom1 Посмотреть сообщение
Запись в файл как-то связана через ios::in?
Запись ios::out
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
09.05.2014, 20:49  [ТС]     Использование класса ORDER #9
zss, Обошел, программа запустилась, вышел вывод чисто, а ввода никакого нет + он не записал ничего в файл
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
09.05.2014, 20:54     Использование класса ORDER #10
Цитата Сообщение от Lom1 Посмотреть сообщение
он не записал ничего в файл
В этом примере из файла ЧИТАЕТСЯ а не пишется
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
09.05.2014, 20:57  [ТС]     Использование класса ORDER #11
zss, Для записи нужно метод разработать тогда?
У меня такой алгоритм: Ввожу я лицевой счет плательщика затем получателя кому я деньги передаю, затем сумму, после этого он все записывает в файл, потом сразу оттуда читает и выводит тот же вид, но который прочитал из файла, потом сортировку выводит, ну а потом поиск лиц. счета!
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
09.05.2014, 21:06     Использование класса ORDER #12
Действуйте по аналогии
C++
1
2
3
4
5
6
    void WriteDATA( ofstream& fin)
    {
        fin<<plat<<" ";
        fin<<pol<<" ";
        fin<<summa<<endl;
   }
Ну и соответственно создайте объект ofstream
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
09.05.2014, 22:35  [ТС]     Использование класса ORDER #13
zss, Сейчас попробую.

Добавлено через 1 час 17 минут
zss, Не получается что-то, попробовал так:

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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include <fstream>
using namespace std;
 
int const n=21;
 
class ORDER
{
public:
    char plat[n], pol[n];               //Ввод счета длиной 20 символов
    double summa;
public:
    void setDATA (char* plat_s, char* pol_s, double summa_r)
    {
        strcpy(plat,plat_s);
        strcpy(pol, pol_s);
        summa = summa_r;
    }
 
    void readDATA_and_showDATA()        //Чтение данных из файла и вывод их на экран
    {
        ORDER Spisok[21];
        ifstream fin;
        fin.open ("input.txt");
        cout <<"--------------------------------------------------------------------------------"<<"Чтение данных из файла."<<endl;
        for (int i=1;i<=3;i++)
        {
            int a;
            fin >> a;
            cout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
            <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
        }
        cout <<"--------------------------------------------------------------------------------";
        fin.close ();
    }
 
 
    void recordDATA_and_getDATA()       //Ввод данных и запись данных в файл
    {
        ofstream fout;
        for (int i=1;i<=3;i++)
        { 
            ORDER Spisok[21];
            fout.open ("input.txt");
            cout<<"# "<<i<<endl;
            cout<<"Расчетный счет плательщика: ";
            cin>>Spisok[i].plat;
            cout<<"Расчетный счет получателя: ";
            cin>>Spisok[i].pol;
            cout<<"Перечисляемая сумма в руб.: ";
            cin>>Spisok[i].summa;
            cout << endl;
            fout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
            <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
        }
        fout.close();
    }
 
    void sort()             //Сортировка по расчетным счетам плательщиков
    {
        ORDER tmp;
        ORDER Spisok[21];
        for (int i=1;i<=3;i++)
        for (int j=1;j<=3;j++)
        {
            if (i!=j)
            if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
            {
                tmp=Spisok[j];
                Spisok[j]=Spisok[i];
                Spisok[i]=tmp;
            }
        }
        cout<<"Сортировка по расчетным счетам плательщиков.";
        for (int i=1;i<=3;i++)
        cout<<endl<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl;
        cout << "--------------------------------------------------------------------------------";
    }
 
    void search()           //Поиск расчетного счета
    {
        bool r=false;
        ORDER Spisok[21];
        double snyataya_summa=0;
        char nomer_plat[21];
        cout<<"Введите номер расчетного счета (плательщика): ";
        cin>>nomer_plat;
        for (int i=1;i<=3;i++)
        if (strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 )
        {
            snyataya_summa+=Spisok[i].summa;
            r=true;
        }
        if (r==true)
        cout<<"С расчетного счета "<<nomer_plat<<" снято "<<snyataya_summa<<" руб."<<endl;
        else
        cout<<"Такого расчетного счета нет!"<<endl;
    }
};
 
 int main()
{
    setlocale (LC_ALL, "rus");
    char plat[n], pol[n];
    double summa=0;
    ORDER *obj = new ORDER;
    obj->setDATA(plat, pol, summa);
    obj->recordDATA_and_getDATA();
    obj->readDATA_and_showDATA();
    obj->sort();
    obj->search();
    system("PAUSE");
    return 0;
}
Lom1
1 / 1 / 0
Регистрация: 09.05.2014
Сообщений: 79
10.05.2014, 09:09  [ТС]     Использование класса ORDER #14
Прошу отважной помощи срочно с данной задачей, послезавтра сдавать. Никто помочь не может, уже 3-4 дня мучаюсь.
----------------------------------------------------------------------------------
Следующие задания требуется решить с использованием классов.
При этом обязательно оформить методы для выполнения каждого из действий: по вводу данных, выводу их в файл, чтению данных из файла и выводу их на экран, сортировке данных.

---------------------------------------------------------------------------------------------------------------
Дана структура с именем ORDER, состоящая из полей:
- расчетный счет плательщика;
- расчетный счет получателя;
- перечисляемая сумма в руб.
Написать программу, которая выполняет следующие действия:
- ввод с клавиатуры данных в массив, состоящий из 8 элементов типа ORDER, и занесение их в файл данных;
- чтение данных из файла и вывод их на экран;
- вывод на экран информации о сумме, cнятой с расчетного счета
плательщика, введенного с клавиатуры (если таких нет – вывести об этом
сообщение);
- список должен быть упорядочен по расчетным счетам плательщиков.
---------------------------------------------------------------------------------------------------------------

Вот, что попытался сделать:
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
#include <iostream>
#include <fstream>
using namespace std;
 
int const n=21;
 
struct ORDER
{
       char plat[n], pol[n];                 //Ввод счета длиной 20 символов
       double summa;
};
 
 int main()
{
    setlocale (LC_ALL, "rus");
    ofstream fout; ifstream fin;
    ORDER tmp;
    ORDER Spisok[21];
    char nomer_plat[21];
    bool r=false;
    float snyataya_summa=0;
    fout.open ("input.txt");                                    //Запись данных в файл
    for (int i=1;i<=3;i++)
    { 
        cout<<"# "<<i<<endl;
        cout<<"Расчетный счет плательщика: ";
        cin>>Spisok[i].plat;
        cout<<"Расчетный счет получателя: ";
        cin>>Spisok[i].pol;
        cout<<"Перечисляемая сумма в руб.: ";
        cin>>Spisok[i].summa;
        cout << endl;
        fout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
    }
    fout.close();
 
 
    fin.open ("input.txt");                                     //Чтение данных из файла
    cout <<"--------------------------------------------------------------------------------"<<"Чтение данных из файла."<<endl;
    for (int i=1;i<=3;i++)
    {
        int a;
        fin >> a;
        cout<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
        <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl<<endl;
    }
    cout <<"--------------------------------------------------------------------------------";
    fin.close ();
 
 
    for (int i=1;i<=3;i++)                              //Сортировка по расчетным счетам плательщиков (исправить)
    for (int j=1;j<=3;j++)
    {
        if (i!=j)
        if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
        {
            tmp=Spisok[j];
            Spisok[j]=Spisok[i];
            Spisok[i]=tmp;
        }
    }
    cout<<"Сортировка по расчетным счетам плательщиков.";
    for (int i=1;i<=3;i++)
    cout<<endl<<"# "<<i<<endl<<"Плательщик - "<<Spisok[i].plat<<endl
    <<"Получатель - "<<Spisok[i].pol<<endl<<"Сумма - "<<Spisok[i].summa<<" руб."<<endl;
    cout << "--------------------------------------------------------------------------------";
    cout<<"Введите номер расчетного счета (плательщика): ";                 //Поиск расчетного счета
    cin>>nomer_plat;
    for (int i=1;i<=3;i++)
    if (strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 )
    {
        snyataya_summa+=Spisok[i].summa;
        r=true;
    }
    if (r==true)
    cout<<"С расчетного счета "<<nomer_plat<<" снято "<<snyataya_summa<<" руб."<<endl;
    else
    cout<<"Такого расчетного счета нет!"<<endl;
    system("PAUSE");
    return 0;
}
Пробовал использовать с классом, но там ошибки, исправил, а затем не работает, поэтому решил сбросить код без класса, чтобы легче было понять ситуацию.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2014, 18:19     Использование класса ORDER
Еще ссылки по теме:

Ошибка использование неопределенного класса - C++
Добрый день. У меня есть несколько классов с циклической вложенностью, мною были использовано предварительное объявление класса, но это...

Использование конструктора класса-шаблона - C++
Есть функция, которая принимает шаблон класса, но при попытке использовать конструктор возникает ошибка, как быть?

Использование собственного класса строк - C++
Здравствуйте, уважаемые господа. Есть реализация собственного класса строк: class MyString { private: size_t length; ...

Использование класса list STL - C++
Здравствуйте, у меня есть базовый класс и унаследованный от него. Мне надо хранить в этом одном списке либо указатели на объекты базового...


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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
10.05.2014, 18:19     Использование класса ORDER #15
Цитата Сообщение от Lom1 Посмотреть сообщение
Не получается что-то
А для кого я писал:
Цитата Сообщение от zss Посмотреть сообщение
void WriteDATA( ofstream& fin)
Такая функция будет писать ОДИН текущий(*this) объект в поток fin.
А в main организуйте открытие файла на запись и цикл записи всех
элементов массива по очереди.
Yandex
Объявления
10.05.2014, 18:19     Использование класса ORDER
Ответ Создать тему
Опции темы

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