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

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

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

как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие? - C++

25.11.2013, 16:56. Просмотров 483. Ответов 5
Метки нет (Все метки)

Вообщем я не могу понять , как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие?Мне нужно сделать так, что бы при вводе названия города , у меня выводилось количество свободных мест(inf1[i].mesta)
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
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include<string.h>
typedef struct info 
{
         char gorod[10];
         float time;
         int mesta;
     } info;
     int main()
     {
         int i,k;
         info inf1[100];
         for(i=0;i<3;i++)
         {
             cout<<"Vvedite Gorod:"<<endl;
             cin>>inf1[i].gorod;
             cout<<"vedite vremya:"<<endl;
             cin>>inf1[i].time;
             cout<<"Vedite mesta:"<<endl;;
             cin>>inf1[i].mesta;
         }
cout<<"Vvedite nazvanie goroda:"<<k<<endl;
if(k=='Minsk')
{
    cout<<inf1[i].mesta<<endl;
}
         return 0;
     }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 16:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как сделать , что бы при вводе слова "Minsk" у меня выполнялось действие? (C++):

Нужно сделать так, чтобы при вводе числа, выводило "рублей" или "рубль" - C++
Начал решать задачу и засох на средине, не выходить формулу написать,если не сложно,подскажите) с с++ знаю пока что if,else и swith) //...

Как сделать при повторном нажатие на Label не выполнялось действие? - C++
при нажатии на Label выполняются действия в обработчике событий OnClick. как сделать чтоб при повторном нажатии на компонент эти действия...

Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва" во всех остал - C++
Составить программу, которая при вводе символа с клавиатуры выво-дит &quot;латинская буква&quot; при вводе латинской буквы и &quot;не латинская бук-ва&quot;...

Имеется строка "AAABBCCAA", нужно вывести на экран "3A2B2C2A", и так же сделать обратное действие - C++
Доброго времени суток. Помогите организовать, желательно с примером, такую программу: имеется строка &quot;AAABBCCAA&quot;(так же можно абсолютно...

если не составит труда(при вводе "n" должно создаваться предложение "Мне n год (года)") - C++
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; int _tmain(int argc, _TCHAR* argv) { int n; printf(&quot;Vvedit n\n&quot;); scanf_s (&quot;%d&quot;,&amp;n); ...

Как доказать, что при "а = b" на место "а" возвращается ссылка? - C++
Нужно доказать что при &quot;a = b&quot; на место &quot;а&quot; возвращается именно ссылка... Натолкните на мысль, пожалуйста.

5
IntelCoreDuo
11 / 11 / 0
Регистрация: 09.11.2013
Сообщений: 52
25.11.2013, 17:04 #2
Твоя ошибка заключается в том, что у символьной переменной слишком много символов. Попробуй написать Mins.
0
reisal78
693 / 605 / 141
Регистрация: 28.04.2013
Сообщений: 1,727
25.11.2013, 17:20 #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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include<string.h>
using namespace std;
 
typedef struct info 
{
    char gorod[10];
    float time;
    int mesta;
} info;
int main()
{
    int i,k;
    info inf1[100];
    for(i=0;i<3;i++)
    {
        cout << "Vvedite Gorod: " << endl;
        cin >> inf1[i].gorod;
        cout << "vedite vremya:" << endl;
        cin >> inf1[i].time;
        cout << "Vedite mesta:" << endl;;
        cin >> inf1[i].mesta;
    }
    cout<<"Vvedite nazvanie goroda:"<<k<<endl;
    if(k=='Minsk')
    {
        cout<<inf1[i].mesta<<endl;
    }
return 0;
}
А вообще мне нравится ход ваших мыслей...

C++
1
2
3
int i,k;
//...
if(k=='Minsk')
т.е вы сравниваете переменную типа int со строкой? оО) + косяк с одинарными кавычками. Одинарные кавычки - для символа. Строки - в двойных.
0
Lexa_Okatow
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 22
25.11.2013, 17:34  [ТС] #4
Цитата Сообщение от reisal78 Посмотреть сообщение
Вы не могли бы использовать теги для форматирования кода?

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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include<string.h>
using namespace std;
 
typedef struct info 
{
    char gorod[10];
    float time;
    int mesta;
} info;
int main()
{
    int i,k;
    info inf1[100];
    for(i=0;i<3;i++)
    {
        cout << "Vvedite Gorod: " << endl;
        cin >> inf1[i].gorod;
        cout << "vedite vremya:" << endl;
        cin >> inf1[i].time;
        cout << "Vedite mesta:" << endl;;
        cin >> inf1[i].mesta;
    }
    cout<<"Vvedite nazvanie goroda:"<<k<<endl;
    if(k=='Minsk')
    {
        cout<<inf1[i].mesta<<endl;
    }
return 0;
}
А вообще мне нравится ход ваших мыслей...

C++
1
2
3
int i,k;
//...
if(k=='Minsk')
т.е вы сравниваете переменную типа int со строкой? оО) + косяк с одинарными кавычками. Одинарные кавычки - для символа. Строки - в двойных.


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
#include <conio.h>
#include <iostream>
#include<string.h>
using namespace std;
 
typedef struct info 
{
    char gorod[10];
    float time;
    int mesta;
} info;
int main()
{
    int i,k;
    info inf1[100];
    for(i=0;i<3;i++)
    {
        cout << "Vvedite Gorod: " << endl;
        cin >> inf1[i].gorod;//Ввожу название города
        cout << "vedite vremya:" << endl;
        cin >> inf1[i].time;//Ввожу время 
        cout << "Vedite mesta:" << endl;;
        cin >> inf1[i].mesta;//Вводу количество свободных мест
    }
    cout<<"Vvedite nazvanie goroda:"<<k<<endl;// тут мне нужно ввести название города(маршрута).То есть мне .
//то есть мне нужно узнать количество свободных мест по указанному маршруту.
    if(k=="Minsk")// ну а тут мне нужно сделать так, что бы при вводе названия города мне вывело 
//количество мест, которые я задаю в inf1[i].mesta
 
    {
        cout<<inf1[i].mesta<<endl;
    }
return 0;
}
0
reisal78
693 / 605 / 141
Регистрация: 28.04.2013
Сообщений: 1,727
26.11.2013, 09:14 #5
Ладно, намек был не понят =)

в 14й строке вы объявляете переменную k как int. В переменных типа int могут храниться только целые числа (ваш кэп)

в 27й строке вы пытаетесь сравнить k (которая, как мы помним может быть только целым числом) с текстовой константой "Minsk". Это условие никогда не будет выполнено.

PS. Даже если предположить что той ошибки на которую я указал выше не было бы. У вас переменная k объявлена, но не инициализирована. (Нет стоки где вы ее вводите)
0
alsav22
5430 / 4825 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.11.2013, 09:21 #6
Lexa_Okatow, логика должны быть такой: вводите название города (в массив char), перебираете, в цикле, массив структур и сравниваете (strcmp()) поле gorod с введённым, если совпадают, то выводите, из данной структуры, нужное поле.
0
26.11.2013, 09:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2013, 09:21
Привет! Вот еще темы с ответами:

Из слова "яблоко" путем склеек и вырезок его букв получить слова "блок" и "око" - C++
Самым самым самым простым способом.

Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" - C++
дано натуральное число n. Вывести на экран фразу &quot;Мне n лет&quot;, учитывая что при некоторых значениях n слово &quot;лет&quot; надо заменить на &quot;год&quot; или...

Error C2440: инициализация: невозможно преобразовать "void *" в "listnode *". подскажите, что можно сделать? - C++
#include &lt;iostream&gt; struct listnode { char *data; int value; struct listnode *next; }; struct listnode...

Ошибка с массивом: программа при вводе "ступорится" при нажатии клавиши Enter - C++
Задание: Напишите программу, используя указатели, которая вычисляет адреса чётных элементов массива, состоящего из 10 чисел типа float. ...


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

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

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