Перевод единиц измерения информационного объема - C (СИ)
Формулировка задачи:
Доброго времени суток. Написал программу она переводит с больших единиц информационного объема в мелкие нормально ,а обратно не работает. Помогите найти решение. Буду всем благодарен (решения по сокращению кода тоже приветствуются).
#include <stdio.h>
#include <locale.h>
int main(void)
{
int sys, perv;
double ch;
setlocale(0, "");
printf("1)Bit\n");
printf("2)Byte\n");
printf("3)Kbyte\n");
printf("4)Mbyte\n");
printf("5)Gbyte\n");
printf("Введите число: ");
scanf("%d", &ch);
printf("Введите номер его единицы измерения информационного объема: ");
scanf("%d", &sys);
printf("Введите номер единицы измерения информационного объема для перевода числа: ");
scanf("%d", &perv);
if(sys <= perv) {
for( ; sys<perv; sys++) {
ch=ch/1024;
}
if(sys == 1) ch=(ch*1024)/8;
printf("Ответ: %.3f", ch);
}
if(sys > perv) {
for( ; sys>perv; sys--) {
ch=ch*1024;
}
if(perv == 1) ch=(ch/1024)*8;
printf("Ответ: %d", ch);
}
return 0;
}Решение задачи: «Перевод единиц измерения информационного объема»
textual
Листинг программы
printf("1)Bit\n2)Byte\n3)Kbyte\n4)Mbyte\n5)Gbyte\nВведите число: ");
Объяснение кода листинга программы
1) Bit - вывод на экран единицы измерения информационного объема Bit
2) Byte - вывод на экран единицы измерения информационного объема Byte
3) Kbyte - вывод на экран единицы измерения информационного объема Kbyte
4) Mbyte - вывод на экран единицы измерения информационного объема Mbyte
5) Gbyte - вывод на экран единицы измерения информационного объема Gbyte
6) Ввод с клавиатуры числа - ввод числа, которое будет использоваться в дальнейшем в программе
7) Завершение работы программы - завершение работы программы после выполнения всех задач