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

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

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

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

27.05.2013, 22:06. Просмотров 633. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 22:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы) (C++):

Разбить строку на массив слов используя strtok() - C++
Мне нужно разделить строку на массив слов используя функцию strtok(), но получается скопировать только первое слово. Подскажите пожалуйста,...

Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok - C++
Задача Дана строка слов с разделителями, в данном примере слова с пробелами Нужно, используя функцию strtok, сформировать из этих слов...

Разделение строки на лексемы с strtok, проверка длины каждой лексемы (выдает ошибку) - C++
я именно вот разделяю строку на лексемы и хочу проверить длину каждой лексемы, потом выполнить действия в зависимости от длины..но...

Strtok как разбить строку пополам по первому пробелу? - C++
Есть вот такая строка: 28 -1.221636 -1.183837 32.839973 0.885457 -0.348518 -0.307412 0.357200 0.834200 Мне нужно заменить первое...

Разбить строку на лексемы и вывести лексемы в обратном порядке. - C (СИ)
Ребята, помогите. Получил такое задание: Напишите программу, которая вводит строку текста, разбивает ее на лексемы и выводит лексемы в...

Как таймер 555 подключить к МК MSP430? - Микроконтроллеры
Как таймер LMC555CN подключить к микроконтроллеру, т.е. какие порты куда подключать?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
behemoth
44 / 30 / 7
Регистрация: 29.09.2012
Сообщений: 75
Записей в блоге: 1
27.05.2013, 22:35 #2
конкатинации нету жиш. В конце проги ты просто выводишь числа.
имхо самый простой способ:
C
1
2
char x[sizeof(line)];
sprintf(x,"[%d][%d][%d]\n", pref, part1, part2);
можно еще использовать: strcat ;
0
Илюза19
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 41
27.05.2013, 22:45  [ТС] #3
behemoth, а можете весь код написать если не трудно я не понимаю(
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
27.05.2013, 23:20 #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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 23:20
Привет! Вот еще темы с ответами:

Как разблокировать ядра на AMD Phenom II X2 555 Black Edition - Процессоры
Пожалуйста опишите поэтапно как разблокировать ядра на AMD &quot;Phenom II X2 555 Black Edition Системная плата:Gigabyte GA-MA770T-UD3 ...

Как разогнать процессор AMD Phenom II X2 555 Black Edition - Процессоры
Помогите разогнать процессор AMD Phenom II X2 555 Black Edition Системная плата:Gigabyte GA-MA770T-UD3 ОЗУ:4ГБ Видеоадаптер:NVIDIA...

Как разблокировать ядра Рhenom x2 555 на материнке Asus M4N68T V2 - Процессоры
Конфигурация: Процессор AMD Phenom II X2 555 Материнская плата Asus M4N68T V2, Память DDR3 2 ГБ Kingston -2планки,Видеокарта NVIDIA...

Разбить строку на лексемы - C (СИ)
Напишите программу, которая вводит строку текста, разбивает его на лексемы с помощью strtok и выводит лексемы в обратном порядке.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.05.2013, 23:20
Ответ Создать тему
Опции темы

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