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

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

Войти
Регистрация
Восстановить пароль
 
yuliyayuliya28
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
#1

Строка дробное число - C++

19.05.2011, 19:10. Просмотров 678. Ответов 2
Метки нет (Все метки)

Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом.

Здравствуйте помогите разрбраться в коде и исправить ошибку он выводит ответ на оборот.

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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
 
using namespace std;
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");
char st[20];
int i;
int ok = 0; // пусть строка - не дробное число
 
printf("Введите число и нажмите <Enter>");
printf("->");
scanf("%s", &st);
i = 0;
if (st[i] >= '1' && st[i] <='9')
{
while ( st[i] >= '1' && st[i] <='9' )
        i++;
if (st[i] == '.')
    {
        i++;
if (st[i] >='l' && st[i] <='9')
{
while ( st[i] >= '1' && st[i] <='9' )
 i++;
     ok = 1;
}
    }        
}
printf("Строка %s ",st);
if ( st[i] ??!ok )
printf("не ");
printf ("является дробным числом \n");
 
system("PAUSE");
return EXIT_SUCCESS; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2011, 19:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строка дробное число (C++):

Дробное число - C++
Добрый день! Можно ли ввести такое деление чтоб число выводилось (хранилось) в дробном виде, перемножение в дробном виде и т.д. Думаю...

Не отображается дробное число в С++ - C++
Почему я ввёл 7, 481 галлонов, оно посчитало как 7, 481, а написало 7? #include &lt;iostream&gt; using namespace std; int main() { ...

printf - дробное число - C++
Почему с помощью сout нормально выводится дробное число, а пишу printf(&quot;%4.f&quot;,z) вывоит целую часть, причем округляет

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

Проверить, целое число или дробное - C++
Ввожу в консоль значение 5.5, но ошибка не выдается (а должна). В чем проблема, почему не видит функцию? Попутный вопрос: кто-нибудь...

Как в C++ записать в переменную дробное число? - C++
Здравствуйте форумчане. Только начал осваивать азы программирования с++ и собсна вопрос появился: что нужно вписать в код, чтобы можно было...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
19.05.2011, 19:14 #2
для начала замените
scanf("%s", &st);
на
scanf("%s", st);
yuliyayuliya28
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
19.05.2011, 19:26  [ТС] #3
Цитата Сообщение от OstapBender Посмотреть сообщение
для начала замените
scanf("%s", &st);
на
scanf("%s", st);
а какая разница?

Добавлено через 6 минут
Исправила теперь правильно)
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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
 
using namespace std;
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");
char st[20];
int i;
int ok = 0; // пусть строка - не дробное число
 
printf("Введите число и нажмите <Enter>");
printf("->");
scanf("%s", st);
i = 0;
if (st[i] >= '1' && st[i] <='9')
{
while ( st[i] >= '1' && st[i] <='9')
        i++;
if (st[i] == '.')
    {
        i++;
if (st[i] >='l' && st[i] <='9')
{
while ( st[i] >= '1' && st[i] <='9' )
 i++;
     ok = 1;
}
    }        
}
printf("Строка %s ",st);
if ( st[i] ??!ok )
printf ("является дробным числом \n");
 
else
 printf("не является дробным числом\n");
system("PAUSE");
return EXIT_SUCCESS; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2011, 19:26
Привет! Вот еще темы с ответами:

Поле First - дробное положительное число, масса груза m - C++
Помогите пожалуйста с задачей, просто с классами ещё не работали а задачи уже начали давать. Реализовать: - конструктор без...

Преобразовать введенное с клавиатуры дробное число в формат расстояния в км и м - C++
Например Введите дробное число -&gt; 11.25 11.25 км — это 11 км 250 метров #include &lt;iostream&gt; using namespace std; int main(){ ...

Почему при выводе имею целое число, а не дробное - C++
Здравствуйте. Почему при выводе имею целое число, а не дробное (как заказывали)? #include &lt;iostream&gt; using std::cout; using...

На входе дробное число, которое надо преобразовать во float - C++
Здравствуйте, столкнулся со следующей проблемой: на входе дробное число которое читается из потока посимвольно (состоит из 3 знаков 3.2 ...


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

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

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