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

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

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

Массивы структур, столкнулся с небольшой проблемой! - C++

28.12.2011, 12:03. Просмотров 426. Ответов 3
Метки нет (Все метки)

Всем доброго дня, столкнулся с небольшой проблемой, вот собственно само задание и код:

Написать консольную программу на языке 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
#include <iostream>
using namespace std;
 
int main()
{
struct dannie{
          char kod[50];
          char nazvanie[50];
          double nalog;
          };
int n,i,min;
dannie *mcl;
cout<<"Vvedite kol-vo predpriyatiy"<<endl;
cin>>n;
mcl=new dannie[n];
for(i=0;i<n;i++)
 {
 cout<<"------------------------------------------------------------------------"<<endl;
 cout<<"Kod:"<<endl;
 cin>>mcl[i].kod;
 cout<<"Nazvanie"<<endl;
 cin>>mcl[i].nazvanie;
 cout<<"Nalog"<<endl;
 cin>>mcl[i].nalog;
 cout << mcl[i].kod <<" "<< mcl[i].nazvanie <<" "<< mcl[i].nalog<<endl << endl;
 }
min=-1;
for(i=0;i<n;i++)
 {
  if (mcl[i].nalog<min) {min=i;}
 }
cout<<"========================================================================="<<endl;
cout<<"Rezultat"<<endl;
cout<<"Menwe vsego naloga zaplacheno: "<<endl;
cout<<mcl[min].nazvanie<<endl;
return 0;
}
Понимаю ошибка здесь -
C++
1
2
3
4
5
6
7
8
9
min=-1;
for(i=0;i<n;i++)
 {
  if (mcl[i].nalog<min) {min=i;}
 }
cout<<"========================================================================="<<endl;
cout<<"Rezultat"<<endl;
cout<<"Menwe vsego naloga zaplacheno: "<<endl;
cout<<mcl[min].nazvanie<<endl;
Но не понимаю как её исправить. Помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2011, 12:03     Массивы структур, столкнулся с небольшой проблемой!
Посмотрите здесь:

Массивы структур - C++
Помогите с программкой, вообще не понимаю я это((( Дан массив записей, содержащий номера телефонов сотрудников учреждения: фамилия и...

Массивы структур - C++
Люди помогите пожалуйста, не совсем понял как написать программу... Нужно сделать вот эту программу... помогите пожалуйста Поля...

Массивы из структур - C++
Здравствуйте форумчане. Помогите почему не работает.#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using namespace std;...

Массивы структур - C++
Написать консольную программу на языке C++ с использованием структур. Программа должна позволять пользователю добавлять данные в массив...

Массивы структур - C++
Ввести координаты начала и конца N отрезков на плоскости.Написать функцию определяющую пересекаются два отрезка или нет.используя эту...

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

Массивы структур - C++
Помогите написать программу, выдаёт много ошибок. Разработать программу , позволяющую добавлять данные структур с указанными полями в...

Массивы структур - C++
#include &lt;iostream&gt; #include&lt;string&gt; using namespace std; const char* pName = { &quot;East-Siberian&quot;, &quot;Far-East&quot;, &quot;October &quot;,...

Массивы структур - C++
Задание № 5. Тема: Функции. Динамические массивы и структуры Сформировать одномерный динамический массив порядка N, элементы которого...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
octobersky
0 / 0 / 0
Регистрация: 12.12.2011
Сообщений: 5
29.12.2011, 13:12  [ТС]     Массивы структур, столкнулся с небольшой проблемой! #2
Проблема в том, что не выводится название.
AvaMight
7 / 7 / 1
Регистрация: 27.01.2010
Сообщений: 32
29.12.2011, 14:35     Массивы структур, столкнулся с небольшой проблемой! #3
C++
1
(mcl[i].nalog<min)
данное условие почему то не когда не выполняется, и соответственно min всегда равно -1.
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
30.12.2011, 02:30     Массивы структур, столкнулся с небольшой проблемой! #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
/*
Написать консольную программу на языке C++ с использованием структур. Программа должна
позволять пользователю добавлять данные в массив структур, просматривать этот массив,
а также выполнять дополнительную операцию в соответствии с индивидуальным заданием.
 
Поля структуры: код предприятия, название, сумма уплаченных налогов. Операция: найти название
предприятия, заплатившего меньше всего налогов.
*/
#include <iostream>
using namespace std;
 
int main()
{
struct dannie
{
    char kod[50];
    char nazvanie[50];
    double nalog;
};
int n, i;
cout << "Vvedite kol-vo predpriyatiy" << endl;
cin >> n;
dannie *mcl = new dannie[n];
for(i = 0; i < n; i++)
{
 cout << "------------------------------------------------------------------------" << endl;
 cout << "Kod:" << endl;
 cin >> mcl[i].kod;
 cout << "Nazvanie" << endl;
 cin >> mcl[i].nazvanie;
 cout << "Nalog" << endl;
 cin >> mcl[i].nalog;
 cout << endl << mcl[i].kod << " " << mcl[i].nazvanie << " " << mcl[i].nalog << endl << endl;
}
int imin = 0;
double min = mcl[imin].nalog;
for(i = 0; i < n; i++)
 {
  if (mcl[i].nalog < min)
        {
            min = mcl[i].nalog;
            imin = i;
        }
 }
cout << "=========================================================================" << endl;
cout << "Rezultat" << endl;
cout << "Menwe vsego naloga zaplacheno: " << endl;
cout << mcl[imin].nazvanie << endl;
return 0;
}
Коротко о проблеме.
Вы сравниваете int с double,потом вообще как-то выводите не пойми что.
Расписывайте на бумажке все.
Если ищете минимум представьте,что у вас этот минимум это первый элемент.
Прогоните по циклу с проверкой и запоминайте номер минимума.
Вот и все.
Yandex
Объявления
30.12.2011, 02:30     Массивы структур, столкнулся с небольшой проблемой!
Ответ Создать тему
Опции темы

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