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

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

Войти
Регистрация
Восстановить пароль
 
Andru1312
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 102
#1

Объяснить прогграму - C++

17.05.2013, 00:34. Просмотров 370. Ответов 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <string.h>
#include <iomanip>
using namespace std;
struct Avt                                         
{                                                          
    int      number;                                   
    char*    type;                             
    char*    destination;                          
    double   otTime;                                
    double   prTime;                            
}; 
int main() 
{
    char* type = new char[20];
 
struct Avt  indexes[100];
 char d[20];
    double time = 0.0;
    int n,i;
 
cout<<"Vvedite kolichestvo reisov: ";
cin>>n;
for ( i=0; i<n; i++)
{
    indexes[i].destination = new char[20];
        indexes[i].type = new char[20];
}
for ( i = 0; i < n; i++) 
{
cout << "-------------------------------" << endl;
cout << "Nomer reisa: "; 
cin >> indexes[i].number;
cout << "Tip reisa: "; 
cin >> indexes[i].type;
cout << "Mesto nazhacheniya: ";
cin >> indexes[i].destination;
cout << "Vremya otpravleniya: "; 
cin >> indexes[i].otTime;
cout << "Vremya pribitiya: "; 
cin >> indexes[i].prTime;
cout << "-------------------------------" << endl;
 
}
 
 cout <<"Vvedite mesto naznacheniya: "<<endl;
   cin.get();
   cin.getline(d, 20);
    cout<<"Vvedite vremya pribitiya: ";
    cin>>time;
    cout<<endl<<"-----------------------------------------------" <<endl;
    for( i=0; i < n; i++)
    {
    char *str=indexes[i].destination;
        if(strcmp(d,str)==0)
        if(indexes[i].prTime<=time)
        {
           cout.width(21);
           cout <<"Nomer reysa: "<<indexes[i].number<<endl;
           cout.width(21);
           cout<<"Tip reysa: "<<indexes[i].type<<endl;
           cout.width(21);
           cout<<"Mesto nazhacheniya: "<<indexes[i].destination<<endl;
           cout.width(19);
           cout<<"Vremia otpravleniya: "<<fixed<<setprecision(2)<<indexes[i].otTime<<endl;
           cout.width(21);
           cout<<"Vremya pribitiya: "<<fixed<<setprecision(2)<<indexes[i].prTime << endl;
           cout <<"-----------------------------------------------" << endl;
        }
    }
system("pause");
    return 0;
}
для чего нужно indexes[i] и как он работает в строках
C++
1
indexes[i].destination = new char[20];
C++
1
cin >> indexes[i].number;
C++
1
if(indexes[i].prTime<=time)
C++
1
cout <<"Nomer reysa: "<<indexes[i].number<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 00:34     Объяснить прогграму
Посмотрите здесь:

Объяснить код - C++
Может кто-нибудь смог бы закомментировать данные участок кода или объяснить что за что отвечает( можно еще и ссылки на сторонние ресуры...

объяснить функцию - C++
Всем привет! Есть код: #include&lt;conio.h&gt; #include&lt;iostream.h&gt; class integer1 { int val; public: integer1(int v0...

Объяснить выражение - C++
Привет всем. Помогите пожалуйста, объясните, что значит следующее выражение: int value = flex != 0 ? flex : 10000;

Объяснить программу - C++
объясните пожалуйста программу,что делается на каждом этапе.struct sp{ int inf; sp* adr;} sp *fst,*lst,*tmp; tmp=(sp*)malloc(vl); int...

Объяснить строку - C++
Что значит такая конструкция, например: k-&gt;next-&gt;prev=tmp

просьба объяснить - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { long a, b; char s, c; int i; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.05.2013, 08:14     Объяснить прогграму #2
Andru1312, indexes - это массив на 100 элементов типа Avt. В "непонятных" строках идет обращение к полям i-го элемента массива, и выполняются соответствующие действия с этими полями.
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
17.05.2013, 10:21     Объяснить прогграму #3
Вот здесь вот:
C++
1
struct Avt  indexes[100];
Объявляется сто вот таких штук:
C++
1
2
3
4
5
6
7
8
struct Avt                                         
{                                                          
    int      number;                                   
    char*    type;                             
    char*    destination;                          
    double   otTime;                                
    double   prTime;                            
};
То есть каждый index[i] содержит в себе свой собственный, отличный от других набор (number, type, destination, otTime, prTime).
Andru1312
2 / 2 / 0
Регистрация: 03.03.2013
Сообщений: 102
18.05.2013, 19:54  [ТС]     Объяснить прогграму #4
Объясните данный фрагмент код
C++
1
2
3
4
if(strcmp(d,str)==0)
        if(indexes[i].prTime<=time)
        {
           cout.width(21);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 20:43     Объяснить прогграму
Еще ссылки по теме:

Объяснить программу - C++
Объясните пожалуйста каждую строку. #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; struct is_punct { ...

Функция (объяснить) - C++
Здраствуйте помогите пожалуйста разобраться в функции Не пойму, мы передаём в функцию символ и массив символов, i- счётчик, по...

объяснить команду - C++
Кто-то может сказать о операторе ceil?

Объяснить задание - C++
как понять: &quot;The program should be capable of accepting a multi-line input&quot;


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

Или воспользуйтесь поиском по форуму:
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
18.05.2013, 20:43     Объяснить прогграму #5
Цитата Сообщение от Andru1312 Посмотреть сообщение
Объясните данный фрагмент код
C++
1
2
3
4
if(strcmp(d,str)==0)
        if(indexes[i].prTime<=time)
        {
           cout.width(21);
strcmp(d,str) сравнивает строки d и str, если они равны то возвращает 0
и у нас срабатывает if(indexed[i].prTime<=time). Ну тут видно, что в indexed[i] хранится объект какой то я код выше не смотрел, и мы обращаемся к открытому члену этого объекта ptTime и сравниваем с time. Если ptTime объекта который хранится в indexed[i] будет меньше или равен time, то срабатывает cout.width(21); Ну а это что за фигня я не помню, наверно ширину поля устанавливает в 21 символ.
Yandex
Объявления
18.05.2013, 20:43     Объяснить прогграму
Ответ Создать тему
Опции темы

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