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

Вывести на экран информацию о самом высоком мосте. - C++

Войти
Регистрация
Восстановить пароль
 
STRAG 92
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 59
02.11.2011, 10:04     Вывести на экран информацию о самом высоком мосте. #1
Условие: Сделать структуру в виде функции, Мосты. Название, высота, длинна. Вывести на экран информацию о самом высоком, мосте.

Вод код что сам сделал.

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
#include<iostream>
#include<string>
using namespace std;
const int n=3;
void InArray();
void OutArray();
void main()
{
    InArray;
    OutArray;
}
void InArray ()
{
    struct mostu;
    {
        char name [100];
        int dov,vus;
    }
mostu x[n];
for (int i=1; i<n; i++)
    cout<<">>>>>"<<i<<"<<<<<"<<endl;
cout<<"Nazvanie"<<i<<"mosta"<<endl;
cin>>x[i].name;
cout<<"Dlinna"<<i<<"mosta"<<endl;
cin>>x[i].dov;
cout<<"Vusota"<<i<<"mmosta"<<endl;
cin>>x[i].vus;
cout<<endl;
}
void OutArray ()
{
    for(int i=1;i<=n;i++)
        if (x[i].vus= max)
            cout<<"max="<<x[i].vus<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 10:04     Вывести на экран информацию о самом высоком мосте.
Посмотрите здесь:

C++ Вывести данные о самом высоком спортсмене
C++ Файлы. Вывести данные о самом высоком спортсмене
C++ Структура: вывести на экран информацию о результатах прыжков в длину, отсортированную в порядке возрастания мест
C++ Описать структуру TIMETABLE с рассписанием поездов. Вывести на экран информацию о поездах, дата отправления которых введена с клавиатуры.
Массив. Вывести на экран информацию о товарах, продающихся в магазине C++
C++ Классы (вывести на экран информацию о треугольнике: равносторонний, равнобедренный или разносторонний)
C++ Вывод данных на экран, а не в самом коде
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
02.11.2011, 10:48     Вывести на экран информацию о самом высоком мосте. #2
Ошибки из тех, что заметил навскидку:
Цитата Сообщение от STRAG 92 Посмотреть сообщение
for (int i=1; i<n; i++)
На вводе надо
C++
1
for (int i=0; i<n; i++)
Цитата Сообщение от STRAG 92 Посмотреть сообщение
for(int i=1;i<=n;i++)
На выводе также, потому как выход за границы массива
C++
1
for (int i=0; i<n; i++)
Дальше, массив структур объявлен в функции InArray и за её пределами не будет доступен
C++
1
mostu x[n];
Поэтому в OutArray это бессмысленно, к тому же сравнение делается оператором ==, простое = это присваивание.
Цитата Сообщение от STRAG 92 Посмотреть сообщение
if (x[i].vus= max)
Ну и чтобы сравнивать с max, надо его сначала найти

Добавлено через 20 минут
Тобишь со всеми мыслимыми/немыслимыми правками должно выглядеть примерно так:
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
#include<iostream>
 
using namespace std;
 
struct most
{
 char name [100];
 unsigned int length;
 unsigned int height;
};
 
void InArray(most *mostiki, int len);
void OutArray(most *mostiki, int len);
 
void main()
{
 const int n=3;
 most x[n];
 InArray(&x[0], n);
 OutArray(&x[0], n);
 system("pause");
}
 
void InArray (most *mostiki, int len)
{
 for (int i=0; i<len; i++)
 {
  cout<<">>>>>"<<i+1<<" most <<<<<"<<endl;
  cout<<"Nazvanie "<<i+1<<" mosta: ";
  cin>>mostiki[i].name;
  cout<<"Dlina "<<i+1<<" mosta: ";
  cin>>mostiki[i].length;
  cout<<"Visota "<<i+1<<" mosta: ";
  cin>>mostiki[i].height;
 }
}
 
void OutArray (most *mostiki, int len)
{
 unsigned int max=0, num;
 for(int i=0;i<len;i++)
 {
  if (mostiki[i].height>max)
  {
   max=mostiki[i].height;
   num=i;
  }
 }
 cout<<"Maximum height = "<< max<<" in "<< mostiki[num].name << " most number "<< num+1 << endl;
}
STRAG 92
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 59
03.11.2011, 19:52  [ТС]     Вывести на экран информацию о самом высоком мосте. #3
Народ а как переписать эту структуру в класс??

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
#include<iostream>
 
using namespace std;
 
struct most
{
 char name [100];
 unsigned int length;
 unsigned int height;
};
 
void InArray(most *mostiki, int len);
void OutArray(most *mostiki, int len);
 
void main()
{
 const int n=3;
 most x[n];
 InArray(&x[0], n);
 OutArray(&x[0], n);
 system("pause");
}
 
void InArray (most *mostiki, int len)
{
 for (int i=0; i<len; i++)
 {
  cout<<">>>>>"<<i+1<<" most <<<<<"<<endl;
  cout<<"Nazvanie "<<i+1<<" mosta: ";
  cin>>mostiki[i].name;
  cout<<"Dlina "<<i+1<<" mosta: ";
  cin>>mostiki[i].length;
  cout<<"Visota "<<i+1<<" mosta: ";
  cin>>mostiki[i].height;
 }
}
 
void OutArray (most *mostiki, int len)
{
 unsigned int max=0, num;
 for(int i=0;i<len;i++)
 {
  if (mostiki[i].height>max)
  {
   max=mostiki[i].height;
   num=i;
  }
 }
 cout<<"Maximum height = "<< max<<" in "<< mostiki[num].name << " most number "<< num+1 << endl;
}
mr.n-drey
40 / 40 / 1
Регистрация: 16.11.2010
Сообщений: 110
03.11.2011, 20:55     Вывести на экран информацию о самом высоком мосте. #4
Смотря как ты хочешь видеть этот класс...
Можешь просто вместо struct написать class, а можешь добавить в этот класс методы для отображения данных о каждом мосте и прийдется поправить метод определяющий самый высокий мост.
STRAG 92
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 59
03.11.2011, 21:48  [ТС]     Вывести на экран информацию о самом высоком мосте. #5
ну тип классов.
Class mostu
{
public:
void InArray;
void OutArray;
private:

}

вот такой тип, как сделать?
mr.n-drey
40 / 40 / 1
Регистрация: 16.11.2010
Сообщений: 110
03.11.2011, 23:13     Вывести на экран информацию о самом высоком мосте. #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
#include<iostream>
 
using namespace std;
 
class most
{
 char name [100];
 unsigned int length;
 unsigned int height;
 public:
void InArray(most *mostiki, int len);
friend:void OutArray(most *mostiki, int len);
 };
 
void main()
{
 const int n=3;
 most x[n];
 for(int i = 0;i<n;i++)
 {
 x[i].InArray(i);
 }
 OutArray(&x[0], n);
 system("pause");
}
 
void most::InArray (int i)
{
cout<<"Nazvanie "<<i+1<<" mosta: ";
  cin>>name;
  cout<<"Dlina "<<i+1<<" mosta: ";
  cin>>length;
  cout<<"Visota "<<i+1<<" mosta: ";
  cin>>height;
}
 
void OutArray (most *mostiki, int len)
{
 unsigned int max=0, num;
 for(int i=0;i<len;i++)
 {
  if (mostiki[i].height>max)
  {
   max=mostiki[i].height;
   num=i;
  }
 }
 cout<<"Maximum height = "<< max<<" in "<< mostiki[num].name << " most number "<< num+1 << endl;
}
только friend не помню как прально пишется...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2011, 00:58     Вывести на экран информацию о самом высоком мосте.
Еще ссылки по теме:

C++ Вывести на экран информацию о фильмах, выходящих в прокат в указанный период
Вывести на экран информацию обо всех ноутбуках фирмы, название которой вводится клавиатуры C++
C++ Cout не выводит информацию на экран
Написать friend функцию, которая выведет информацию о самом легком спортсмене в команде C++
C++ Вывести на экран все слова убрав в самом длинном слове среднюю букву

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

Или воспользуйтесь поиском по форуму:
KeyGen
 Аватар для KeyGen
334 / 290 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
04.11.2011, 00:58     Вывести на экран информацию о самом высоком мосте. #7
Вот такой класс:
main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "lib.h"
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    Bridge Sevastopol("Sevastopol",300.60,500);
    
    Bridge Pustoy;
    
    cout << Pustoy;
    cout << Sevastopol;
    
    
    
    cout << "\n\n\n";
    system("PAUSE");
    return 0;
}
lib.cpp:
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
#include "lib.h"
 
Bridge::Bridge(){
         name="No bridge";
         height = long_most = 0;
}
 
 
Bridge::Bridge(std::string na, double h, double l) {
         name=na;
         height = h;
         long_most = l;        
                  
}
 
 
std::ostream & operator<<(std::ostream & os, const Bridge & t){
 
             os << "\nName of the bridge: " << t.name << endl;
             os << "Height: " << t.height << endl;
             os << "Length: " << t.long_most << endl;
             
             return os;
}
lib.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
#ifndef LIB_H_
#define LIB_H_
 
class Bridge
{
private:
        std::string name; //Г*Г*çâГ*Г*ГЁГҐ
        double height;    //âûñîòГ*
        double long_most; //äëèГ*Г*Г*
public:
       Bridge();
       Bridge(std::string na, double h, double l);
       friend std::ostream & operator<<(std::ostream &, const Bridge &);
       
};
 
#endif
Миниатюры
Вывести на экран информацию о самом высоком мосте.  
Yandex
Объявления
04.11.2011, 00:58     Вывести на экран информацию о самом высоком мосте.
Ответ Создать тему
Опции темы

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