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

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

Войти
Регистрация
Восстановить пароль
 
Sunman
56 / 56 / 4
Регистрация: 02.03.2010
Сообщений: 406
#1

scanf. Разбиение. - C++

13.10.2010, 23:04. Просмотров 651. Ответов 6
Метки нет (Все метки)

Помогите с задачей. Не могу додуматься как это сделать:
С клавиатуры вводится следующий набор символов:
AGENT007:1234567.25
В программе определены три переменные: типов int i, long l и float f. Используя scanf
прочитать и поместить в соответствующие переменные значения: а) 123 и 4567.25; б) 123456
и 7.25.

Подскажите как "рассовать" это все? Вообще работал всегда с Паскалем, казалось, что переходить будет легко, но что-то пока не очень)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 23:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос scanf. Разбиение. (C++):

scanf в C - C++
можна прочитать несколько значений использав всего раз scanf например : scanf ("%d %d",&a,&b); ? - правильно ли это...

scanf() - C++
Всем привет! Вот маленький тестовый пример #include <stdio.h> int i; int main() { printf("Enter value:...

Scanf - C++
#include <iostream> #include <string> #include <cstdio> #include <cstdlib> using namespace std; int maska(string a,string...

scanf ? - C++
господа, подскажите пожалуйста, почему после этого в VC++ вылетает исключение о нарушении доступа (access violation) к каким-то (по ходу...

Функция scanf() - C++
//--------------------------------------------------------------------------- #include <vcl.h> #include <stdio.h> #include...

Ошибка scanf? - C++
Вот кусок кода. double lf; sscanf("5000.7","%lf",&lf); if(lf==double(5000.6999999999998))exit(123); Почему sscanf неправильно...

6
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
14.10.2010, 07:33 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Никогда не любил scanf() - ошибки трудно обрабатывать
Если строка "12345" и scanf( "%3d", &i ), то по идее в i прочитается только 123
3
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
14.10.2010, 12:30 #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
#include <stdio.h>
 
int main(void)
{
    int i;
    long l;
    float f;
    
    const char *s = "AGENT007:1234567.25";
    int retval;
    
    /* 
        а) 123 и 4567.25;
        б) 123456 и 7.25.
    */
    
    retval = sscanf(s, "%*[^:]:%3d%f", &i, &f);
    
    if (retval == 2)
        printf("%10d, %10.2f" "\n", i, f);
    
    
    retval = sscanf(s, "%*[^:]:%6ld%f", &l, &f);
    
    if (retval == 2)
        printf("%10ld, %10.2f" "\n", l, f);
    
    
    return 0;    
}
Код
[guest@localhost tests]$ ./t
       123,    4567.25
    123456,       7.25
[guest@localhost tests]$
Добавлено через 3 часа 29 минут
C
1
scanf("AGENT007:%3d%f", &i, &f);
тоже
2
papochka
33 / 33 / 2
Регистрация: 14.11.2009
Сообщений: 137
14.10.2010, 12:34 #4
C
1
scanf( "%3d", &i ),
- %3d - 3 знака берётся я так понимаю?
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
14.10.2010, 12:43 #5
от одного до трёх символов (цифры воспринимаются как символы)
1
Igor_k
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 8
03.10.2011, 15:50 #6
Объясните пожалуйста код...)
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
04.10.2011, 02:14 #7
Цитата Сообщение от Igor_k
Объясните пожалуйста код...)
а что непонятно ?
0
04.10.2011, 02:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 02:14
Привет! Вот еще темы с ответами:

Ошибка в SCANF - C++
warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use...

scanf for double - C++
Не подскажите как будет выглядеть функция scanf если нужно считать double Заранее спасибо

Затруднение со scanf - C++
Вот моя переписанная программа, затрудняюсь со scanf (как переделать на С++ ?) #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

Разногласия с scanf - C++
Фрагмент кода: int x, y, xmod; printf(&quot;Введите X:&quot;); scanf(&quot;%d&quot;,&amp;x); Ругается на scanf(&quot;%d&quot;,&amp;x) и говорит: ...


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

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

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