Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2014, 20:57   #1
Степан Симаков
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 2
По умолчанию Написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом. (язык C)

Написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом. Проблема в том, что когда вводишь дробное число пишет, что оно (число) не является дробным. Помогите пожалуйста



Код:
#include "stdio.h"
#include "conio.h"
#include <iostream>

void main()
{
	char st[50];
	int i;
	int ok = 0;
	printf("Vvedite stroku:");
	scanf_s("%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] >= '1' && st[i] <= '9')
			{
				while (st[i] >= '1' && st[i] <= '9') i++;
				ok = 1;
			}
		}
	}
		printf("stroka: %s ", st);
	if (st[i] || !ok)
		printf("ne ");
	printf(" yavlyaetsya drobnym chislom \n");
	system("pause");
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 01.04.2014 в 22:45.
Степан Симаков вне форума Ответить с цитированием
Старый 01.04.2014, 22:46   #2
niwssg
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 35
По умолчанию

Код:
if (st[i] >= '1' && st[i] <= '9')
Код:
while (st[i] >= '1' && st[i] <= '9') i++;
'0' забыли ?
niwssg вне форума Ответить с цитированием
Старый 01.04.2014, 22:55   #3
Степан Симаков
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от niwssg Посмотреть сообщение
Код:
if (st[i] >= '1' && st[i] <= '9')
Код:
while (st[i] >= '1' && st[i] <= '9') i++;
'0' забыли ?
вроде не забыл
Степан Симаков вне форума Ответить с цитированием
Старый 01.04.2014, 23:10   #4
niwssg
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 35
По умолчанию

Определенно забыли: '0' - 48, '1' - 49
Можно было использовать isdigit
niwssg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, которая проверяет является ли введенное пользователем число простым С++ программирование Помощь студентам 3 23.01.2014 06:22
Написать программу, которая проверяет(Pascal) xhatex Паскаль, Turbo Pascal, PascalABC.NET 1 23.11.2012 00:57
Написать программу которая в зависимости от веденого с клавиатуры числа(C++, Pascal) Armin van Buuren Помощь студентам 8 03.05.2012 21:47
является ли введенная строка 16-ым числом Ялок Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 03.04.2011 14:52
Написать программу, которая проверяет формулы на эквивалентность oksana baybuza Общие вопросы C/C++ 3 18.02.2010 19:38