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

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

Войти
Регистрация
Восстановить пароль
 
Илюза19
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 41
#1

Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы) - C++

27.05.2013, 22:06. Просмотров 585. Ответов 3
Метки нет (Все метки)

Посмотрите код все правильно ли??? Задание звучит так, используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы. Где первой лексемой будет код, второй первые три цифры номера, а третьей после четыре цифры. Семь цифр телефона должны обьедин-ся в одну строку операцией конкатенации.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main(void)
{
    char line[] = " (555) 555-5555 ", *p;
    int pref, part1, part2;
 
    if ((p = strtok(line, " ()")) != NULL)
        pref = atoi(p);
 
    if ((p = strtok(NULL, " -")) != NULL)
        part1 = atoi(p);
 
    if ((p = strtok(NULL, " ")) != NULL)
        part2 = atoi(p);
 
    printf("[%d][%d][%d]\n", pref, part1, part2);
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 22:06     Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы)
Посмотрите здесь:

C++ Разбить на лексемы и вывести в обратном порядке
C++ Как разбить на лексемы
C++ String разбить на лексемы
C++ Считать из текстового файла информацию начинающую со слова "example" и закачивающуюся числом 555
C++ Разбить строку на массив слов используя strtok()
Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok C++
Strtok как разбить строку пополам по первому пробелу? C++
C++ Разбить строки на отдельные лексемы
C++ после strtok записать лексемы в массив
C++ Разделение строки на лексемы с strtok, проверка длины каждой лексемы (выдает ошибку)
Функция разделения строки на лексемы strtok C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
behemoth
 Аватар для behemoth
44 / 30 / 7
Регистрация: 29.09.2012
Сообщений: 75
Записей в блоге: 1
27.05.2013, 22:35     Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы) #2
конкатинации нету жиш. В конце проги ты просто выводишь числа.
имхо самый простой способ:
C
1
2
char x[sizeof(line)];
sprintf(x,"[%d][%d][%d]\n", pref, part1, part2);
можно еще использовать: strcat ;
Илюза19
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 41
27.05.2013, 22:45  [ТС]     Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы) #3
behemoth, а можете весь код написать если не трудно я не понимаю(
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
27.05.2013, 23:20     Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы) #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string.h>
#include <stdio.h>
 
int main(void)
{
    char telephoneNumber[] = "(111) 222-3333";
    char *currentLexem = strtok(telephoneNumber, "()- ");
    while (currentLexem) {
        printf("- %s\n", currentLexem);
        currentLexem = strtok(NULL, "()- ");
    }
    return 0;
}
Yandex
Объявления
27.05.2013, 23:20     Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы)
Ответ Создать тему
Опции темы

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