Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
#1

if не правильно ратотает - C++

23.09.2010, 00:47. Просмотров 351. Ответов 6
Метки нет (Все метки)

Такая проблема в структуре есть поле type типа char мне нужно его сравниь c переменной типа char и если они совпали вывисти на экран остальные значения
не могу понять почему не правильно сравнивает.
подскажите как это сделать
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
#include <iostream>
#include <clocale>
#include <conio.h>
 
using namespace std;
 
struct AEROFLOT
{
    char name[10];
    int number;
    char type[10];
};
 
void sort_name ( AEROFLOT aeroflot[7])
{   char obmen[10];
    int j,i,g;
 
    for( g=0;g<7;g++)
        for(i=0;i<=5;i++)
        {
          if(aeroflot[i].name[0]>aeroflot[i+1].name[0])
          {
        for(j=0; j<=10; j++)
    {               
       obmen[j]=aeroflot[i].name[j];        
       aeroflot[i].name[j]=aeroflot[i+1].name[j];
       aeroflot[i+1].name[j]=obmen[j];
     }
    
          }}
        /* вывод сортировки
    for(i=0; i<7; i++)
    cout << aeroflot[i].name;*/
        
}
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    AEROFLOT aeroflot[7];
    int i,j,temp;
    char n[10];
    temp=0;
 
    for (i=0;i<7;i++)
    {
        cout << "введите название пункта назначения \n";
        cin  >> aeroflot[i].name;
        cout << "введите номер рейса \n";
        cin  >> aeroflot[i].number;
        cout << "введите тип самолета \n";
        cin  >> aeroflot[i].type;
    }
    sort_name (aeroflot);
    i=0;
    cout << "введите тип нужного Вам самолета\n";
    
    cin  >> n;
    
    
 
    for (i=0;i<7;i++)
    {
        
        
        
        if(aeroflot[i].type==n) // в этой строчке не правильно сравневает 
          { cout << "\n";
            cout << "название пункта назначения  ";
            cout << aeroflot[i].name; 
            cout << "\n";
            cout << "номер  ";
            cout <<aeroflot[i].number;
            temp++;
           
        }
    }
    
    if (temp==0)
        cout << "Aircraft of this type do not";
 
 
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2010, 00:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос if не правильно ратотает (C++):

Как правильно вписать функцию в h-файл и правильно её отразить в основной функции? - C++
Создать внешнюю библиотеку, в которой написана функция вывода символьного массива обратном порядке. Подключить данную библиотеку к ...

Как правильно унаследовать TPoint2D от TPoint3D/ Правильно ли наследовать? ООП - C++
Два пользовательских класса: Точка в 2D пространстве и точка в 3D пространстве. class TPoint3D{ int X,Y,Z; public: ...

Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки - C++
Есть задачка \sum_{i=0}^{8}\sum_{j=0}^{10}\sum_{k=0}^{3}\left(\frac{i+3k-4j}{2+3i+4j} \right) и есть мой код (сразу говорю, я...

Программа правильно сохраняет, но не правильно считывает матрицу из файла - C++
Программа правильно сохраняет, но не правильно считывает матрицу из файла ... При считывание выводит на экран какие-то непонятные...

Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет. - C++
#pragma once namespace Casper { class Cat { private: unsigned int age; float weight;

RestTemplate: как правильно правильно передать JSon - Java Сети
Мне дали ссылку на самодельный веб-сервис и список параметров, которые нужно передать. Общение идет через объекты JSon. Если...

6
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
23.09.2010, 01:28 #2
Не правильно, потому что type у тебя char[] и ты к нему обращаешься по указателю: aeroflot[i].type==n
сравниваешь char* с char
0
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
23.09.2010, 01:35  [ТС] #3
А как их правельно сравнить ???
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
23.09.2010, 01:42 #4
//Александр, я перепутал, у вас n тоже char[]. В общем надо так:
if(!strcmp(aeroflot[i].type, n))
1
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
23.09.2010, 01:59  [ТС] #5
спасибо сейчас попробую

Добавлено через 16 минут
C++
1
2
3
4
5
6
7
8
9
10
11
if(!strcmp(aeroflot[i].type, n))
         {  
            cout << "\n";
            cout << "название пункта назначения  ";
            cout << aeroflot[i].name; 
            cout << "\n";
            cout << "номер  ";
            cout <<aeroflot[i].number;
            temp++;
          
         }
вот я переделал вроде сравневает номер правельно выводит а имя следующее берет
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
23.09.2010, 02:08 #6
вот я переделал вроде сравневает номер правельно выводит а имя следующее берет
Потому что когда ты сортируешь, то имена переставляешь местами, а номера и типы нет.
1
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
23.09.2010, 02:21  [ТС] #7
точно сейчас исправлю

Добавлено через 10 минут
Всем огромное спасибо за помощь все работает!!!!
0
23.09.2010, 02:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2010, 02:21
Привет! Вот еще темы с ответами:

Правильно ли я реализовываю добавляемые пользователем поля в менеджер контактов. Код есть. Нужен совет, если не правильно делаю - C#
Как я хочу это дело осуществить. Я в класс Contact добавлю какое-то кол-во свойств (BirthDay, FullName, MobilePhoneNumber и т.д.), но я так...

Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для дублирования - ActionScript
Я только начал изучать actionscript и прошу мне помочь. Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для...

Как правильно удалить элемент управления формы и как правильно после этого переименовать элементы управления? - Visual Basic .NET
Еще раз доброе утро! В ходе работы возник вопрос. У меня на форме три Label: Label1, Label2, Label3. Я выделил на форме Label1 и нажал...

подскажите как правильно Как правильно сделать цикл - jQuery
Привет всем. Наткнулся на хороший пример вот он http://dimik.github.io/ymaps/examples/group-menu/menu03.html захотел себе его реализовать,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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