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

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

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

Анализ входной строки - C++

28.10.2009, 22:38. Просмотров 440. Ответов 1
Метки нет (Все метки)

Вообщем суть состоит в том что при вводе текста из него вытаскивала именно время. Например:"сейчас на часах 13:23" и из этого текста нам выводило именно "13:23"
вот что я имею уже
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
    #include <iostream.h>
   #include <stdio.h>
   #include <string>
 
 
void main(void)
{
 
    int  hh, mm;
     char time[6];
        while(true){
        std::cout << "Enter the time of day in the format HH:MM"<<std::endl;
        std::cin.getline(time, 6);
               mm = time[3]-48;
               mm *= 10;
               mm += time[4]-48;
 
               hh = time[0] - 48;
               hh *= 10;
               hh += time[1] - 48;
                if((hh >= 0 && hh < 24) || (mm >= 0 && mm < 60))
                       break;
               else
                       std::cout<<"Error!"<<std::endl;
               }
        if ( hh <= 23 && mm <= 59){
        if (hh <= 9 && hh > 4){
            std::cout <<"Now 0" << hh << ":" << mm <<" hours"<< " good morning"<<std::endl;
         } else if (hh <= 15 && hh > 9){
            std::cout <<"Now " << hh << ":" << mm <<" hours"<< " good day"<<std::endl;
         } else if (hh <= 21 && hh > 15) {
            std::cout <<"Now " << hh << ":" << mm <<" hours"<< " good evening"<<std::endl;
         } else if (hh >= 22 && hh < 24 ) {
            std::cout <<"Now " << hh << ":" << mm <<" hours"<< " good night"<<std::endl;
         } else if (hh >= 1 && hh <= 4 ) {
            std::cout <<"Now 0" << hh << ":" << mm <<" hours"<< " good night"<<std::endl;
         }
      }
      if (hh > 24 || mm > 59 || hh <= -1 || mm <= -1)
        std::cout <<"Wrong indicated time"<<std::endl;
     system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2009, 22:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Анализ входной строки (C++):

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

Функция getline(s), вычисляющая длину входной строки s - C++
1. Функция getline(s), вычисляющая длину входной строки s.

Создайте символьный фильтр, производящий реверс или обращение входной строки - C++
3. Создайте символьный фильтр, производящий реверс или обращение входной строки.

Переписать в выходную строку слова из входной строки в порядке возрастания их длины. - C++
Помогите с решенеие кому не сложно в Visual C++, пожалуйста. 1. Интервал между минимальным и максимальным значениями элементов...

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

Создать новую строку, поместив в него все слова входной строки, взяв каждое слово в кавычки - C++
Задание. Дана строка, между соседними словами - запятая, за последним словом - точка. Создать новую строку, поместив в него все слова...

1
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
28.10.2009, 23:11 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    const int n = 20;
    char s[n];
    cin.getline(s,n);
    for (int i = 0 ; i < strlen(s) ; i++)
     if (s[i]==':') 
     {
                   cout<<s[i-2]-'0';
                   cout<<s[i-1]-'0';
                   cout<<s[i];
                   cout<<s[i+1]-'0';
                   cout<<s[i+2]-'0';
                   }
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2009, 23:11
Привет! Вот еще темы с ответами:

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

Анализ данных строки - C++
В процессе решения задачи у меня появилась необходимость анализа данных строки введенной пользователем. 1)Т е пользователь вводит...

Частотный анализ строки - C++
Помогите пожалуйста дописать программу выполняющую частотный анализ строки, введенной пользователем (т. е. вычисляющей, сколько раз в...

Чтение/анализ строки текста - C++
Уважаемые господа, помогите советом. Нужно строку текста (из четного кол-ва символов) разбить в на фрагменты по два символа (задать...


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

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

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