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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2010, 00:22   #1
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
Вопрос Проблемы с задачкой

Пользователь вводит строку в виде 24.15 и тп. То есть цифры, потом точка и снова цыфры. А программа должна вывести часов 24, минут 15. А если пользователь ввёл числа не соответствующие времени или буквы, то вывести что введено не верно. Я написал программу, но если я пишу наприер 10.01r то он всё равно считает. Помогите с решением данной проблемы. Вот код:
Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()	
{
float a;
int b;
printf("Vvedite vremya: ");
scanf("%f", &a);
b=a;
a=a-b;

if ((a==0)&(b==0)) {	
	a=a*100;
	printf("Chasov: %d, minut: %.f, eto %.f minut(a)\n", b,a,(b*60+a));
} else {
if ((b<=24)&(a<0.60)&(b>=0)&(a>=0.01))
{
a=a*100;
printf("Chasov: %d, minut: %.f, eto %.f minut(a)\n", b,a,(b*60+a));
}
else printf("Neverniy vvod!\n");
}
getch();
}
nec117 вне форума Ответить с цитированием
Старый 05.09.2010, 13:37   #2
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Я бы сделал немного по другому:
Код:
char a[5];
printf("Enter time: ");
scanf("%s", a);
int i=0;
for(;i<strlen(a); i++)
{
   if ((a[i] <'0') || (a[i] >'9'))
   {
        printf("Error");
        close;
   }
   //Тут можно еще проверять правильность ввода и т.д.
}
a[3]='\0';
printf("%s Hours\n",a);
*a+=4;
printf("%s Minutes",a);
А если Вам так нужны числа, то функция atoi поможет вам преобразовать строку в int
Искусственный интеллект - фигня по сравнению с естественной глупостью
Impuls1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачкой =( Kod Паскаль, Turbo Pascal, PascalABC.NET 4 03.08.2010 19:37
Помогите с задачкой Jackiro Паскаль, Turbo Pascal, PascalABC.NET 2 22.12.2008 08:06
help с задачкой SYL@R Помощь студентам 2 07.07.2008 12:41
Помогите с задачкой по СИ pliz Общие вопросы C/C++ 7 10.12.2007 20:08
Помогите с задачкой Sour Помощь студентам 9 08.05.2007 20:56