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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 18:49   #1
Nifirtiri
Новичок
Джуниор
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию Задача на С++

Пожалуйста гляньте кто знает=)
В командной строке через пробел вводятся числа в единицах измерения как вещественные числа. Например вводятся числа в командной строке:
20,717л 615мл
Я к сожалению не могу сообразить как мне эти числа перевести в мкл, для того чтобы далее произвести определенные расчеты в программе. Я знаю как дальше производить расчеты в программе, но к сожалению застраяла на этой части программы.
1 литр=10^3 мл=10^6 мкл;
1 мл=10^3мкл
Nifirtiri вне форума Ответить с цитированием
Старый 28.10.2011, 19:07   #2
Alexander_A
Пользователь
 
Регистрация: 27.10.2011
Сообщений: 13
По умолчанию

А единица измерения тоже вводится ("мл")? Или она выбирается как-то иначе?
Alexander_A вне форума Ответить с цитированием
Старый 28.10.2011, 19:17   #3
Alexander_A
Пользователь
 
Регистрация: 27.10.2011
Сообщений: 13
По умолчанию

Думаю, можно сделать так:
1. Считываем строку
2. В цикле распознаем все цифры (до первой буквы е.и.)
3. Составляем из цифр число (с помощью умножения на 10, 100, 1000 и т.д.)
Alexander_A вне форума Ответить с цитированием
Старый 28.10.2011, 19:18   #4
Nifirtiri
Новичок
Джуниор
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию

Значения объёма могут вводиться в микролитрах (мкл), миллилитрах (мл), литрах (л), т.е.
20.7л 61.8 мкл 55 мл 90 мл 3л ( это просто например числа)
Вот я в этом и запуталась, что вводятся в разных единицах измерения в командной строке через пробел, а мне надо привести все эти вводимые числа в одну единицу измерения в мкл.
Nifirtiri вне форума Ответить с цитированием
Старый 28.10.2011, 19:21   #5
Nifirtiri
Новичок
Джуниор
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию

да все единицы измерения тоже вводятся.
я понимаю сам алгоритм, но не знаю как его реализовать на с++

Последний раз редактировалось Nifirtiri; 28.10.2011 в 19:45.
Nifirtiri вне форума Ответить с цитированием
Старый 28.10.2011, 19:54   #6
Alexander_A
Пользователь
 
Регистрация: 27.10.2011
Сообщений: 13
По умолчанию

Можно реализовать вот так
Код:
#include "stdafx.h"
#include <stdlib.h>


int main()
{
	int i, j, s, ch;
	char c, chislo[10];

	for(i=0; (c=getchar()) != 13; i++) // 13 - код клавиши Enter
	{
		s=0;
		while(c >= '0' && c <= '9')
		{
			c=getchar();
			chislo[s] = c;
			s++;
		}
		ch=atoi(chislo); // функция превода строки в число

		for(j=0; j<=s; j++)
			chislo[j]='\0';
		
		if(c == 'л')
		{
			//...
		}
		if(c == 'м')
		{
			c=getchar();
			if(c == 'л')
			{
				//...
			}
			else
			{
				//...
			}
		}
		//...
	}

Текст программы я не дописал, но, идею понять можно.

Последний раз редактировалось Alexander_A; 28.10.2011 в 20:06.
Alexander_A вне форума Ответить с цитированием
Старый 28.10.2011, 20:02   #7
Nifirtiri
Новичок
Джуниор
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию

СПС большое=))))))))
Nifirtiri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51
Задача. 13model13 Microsoft Office Excel 13 26.01.2011 16:54
Задача на while Dramus Помощь студентам 8 27.12.2009 17:28