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

Описание структуры ORDER - C++

Восстановить пароль Регистрация
 
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
26.04.2014, 04:32     Описание структуры ORDER #1
Может помочь с ошибкой и проверить правильно ли все работает)) Описать структуру с именем ORDE: Записи должны быть размещены в алфавитном порядке по расчетным счетам плательщиков. Вывод на экран о сумме снятой с расчетного счета плательщика веденного с клавиатуры. Если такого счет нет то выдать такого расчетного счета нет

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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <cstdlib.h>
#include <iostream.h>
 
using namespace std;
    int const n=3;
struct ORDER {
       char plat[n],pol[n];
       float summa;
};
 int main()
{system("chcp 1251>0");
 ORDER tmp;
 ORDER Spisok[15];
 int nomer_plat;
 bool r=false;
 float snyataya_summa=0;
    for (int i=0;i<=14;i++)
     { cout<<"Платильщик - ";
        cin>>Spisok[i].plat;
        cout<<"Получатель - ";
        cin>>Spisok[i].pol;
        cout<<"Сумма - ";
        cin>>Spisok[i].summa;
     }
for (int i=0;i<=15;i++)
        for (int j=0;j<=15;j++)
            {
             if ( i != j )
             if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
                {
                  tmp=Spisok[j];
                  Spisok[j]=Spisok[i];
                  Spisok[i]=tmp;
                }
            }
   for (int i=0;i<=14;i++)
   cout<<"Плательщик "<<Spisok[i].plat<<" Получатель "<<Spisok[i].pol<<" Сумма "<<Spisok[i].summa<<"\n";
   cout<<"Введите номер лицевого счета\n";
   cin>>nomer_plat;
   for (int i=0;i<=15;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<<"\n";
   else
       cout<<"Такого счета нет\n";
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2014, 04:32     Описание структуры ORDER
Посмотрите здесь:

Описание структуры TRAIN C++
Описание структуры C++
Важно: Описание структуры C++
Описать структуру с именем ZNAK C++
C++ Описание структуры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Komi
 Аватар для Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
26.04.2014, 04:36     Описание структуры ORDER #2
Может быть, сначала, напишешь саму ошибку?

Добавлено через 1 минуту
кстати это еще что за покемон?
C++
1
#include <cstdlib.h>
нет такой библиотеки.
C++
1
2
3
#include <stdlib.h>
//или
#include <cstdlib>
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
26.04.2014, 04:46  [ТС]     Описание структуры ORDER #3
Цитата Сообщение от Komi Посмотреть сообщение
Может быть, сначала, напишешь саму ошибку?
там закоменченно в какой строчке ошибка

Добавлено через 9 минут
Цитата Сообщение от Komi Посмотреть сообщение
Может быть, сначала, напишешь саму ошибку?
Та в строчке
C++
1
 46  if ( strcmp(&Spisok[i].plat[0], &nomer_plat[0]) == 0 )
выдает invalid inderection
Alex-One
0 / 0 / 0
Регистрация: 21.01.2014
Сообщений: 52
26.04.2014, 05:09  [ТС]     Описание структуры ORDER #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
47
48
49
50
51
52
53
54
55
56
57
58
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
 
using namespace std;
    int const n=3;
struct ORDER {
       char plat[n],pol[n];
       float summa;
};
 int main()
{system("chcp 1251>0");
 ORDER tmp;
 ORDER Spisok[15];
 char nomer_plat[15];
 bool r=false;
 float snyataya_summa=0;
    for (int i=0;i<=n;i++)
     { cout<<"Платильщик - ";
        cin>>Spisok[i].plat;
        cout<<"Получатель - ";
        cin>>Spisok[i].pol;
        cout<<"Перечисляемая сумма - ";
        cin>>Spisok[i].summa;
     }
for (int i=0;i<=n;i++)
        for (int j=0;j<=n;j++)
            {
             if ( i != j )
             if (strcmp(&Spisok[i].plat[0], &Spisok[j].plat[0]))
                {
                  tmp=Spisok[j];
                  Spisok[j]=Spisok[i];
                  Spisok[i]=tmp;
                }
            }
   for (int i=0;i<=n;i++)
   cout<<"Плательщик "<<Spisok[i].plat<<" Получатель "<<Spisok[i].pol<<" Сумма "<<Spisok[i].summa<<"\n";
   cout<<"Введите номер лицевого счета(плательщика)\n";
   cin>>nomer_plat;
   for (int i=0;i<=n;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<<"\n";
   else
       cout<<"Такого счета нет\n";
    system("PAUSE");
    return 0;
}
Миниатюры
Описание структуры ORDER  
Komi
 Аватар для Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
26.04.2014, 05:32     Описание структуры ORDER #5
Цитата Сообщение от Alex-One Посмотреть сообщение
Код C++
nomer_plat[0] это во первых не стринг, тоесть в strcmp ему делать нечего, во вторых это даже не массив. я пологаю ты очепятался, замени на plat[0] ?

еще:я не знаком с классом ORDER, но ты уверен что "&" уместен?
Yandex
Объявления
26.04.2014, 05:32     Описание структуры ORDER
Ответ Создать тему
Опции темы

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