Здравствуйте, много дней бился с этим кодом. Дошел до отчаяния понять почему он не работает. С++ и WinApi никогда не было моей сильной стороной.
Этот код должен создать проецируемый файл, а потом записать в него введенные данные, затем считать эти данные.
1) 500 Гб * 1024 = 512000 мегабайт * 1024 = 524288000 килобайт
2) 524288000 Кб / 65525 кластеров = 8001 Кб для одного кластера на жестком диске, если использовали FAT16, а объем жесткого диска 500 Гб
Примечание, так использовать не удобно - 1 кластер - 1 файл - файл может занимать и больше кластеров, но другой файл будет записываться только в следующий кластер:)
Type int=100..999;
Var x:int;
Begin
readln(x);
case (x div 100) of
1:write('Сто ');
2:write('Двести ');
3:write('Триста ');
4:write('Четыреста ');
5:write('Пятьсот ');
6:write('Шестьсот ');
7:write('Семьсот ');
8:write('Восемьсот ');
9:write('Девятьсот ');
end;
if ((x mod 100) div 10)=1 then
case (x mod 10) of
0:write('десять ');
1:write('одиннадцать ');
2:write('двенадцать ');
3:write('тринадцать ');
4:write('четырнадцать ');
5:write('пятнадцать ');
6:write('шестнадцать ');
7:write('семнадцать ');
8:write('восемнадцать ');
9:write('девятнадцать ');
end
else
begin
case ((x mod 100) div 10) of
2:write('двадцать ');
3:write('тридцать ');
4:write('сорок ');
5:write('пятьдесят ');
6:write('шестьдесят ');
7:write('семьдесят ');
8:write('восемьдесят ');
9:write('девяносто ');
end;
case (x mod 10) of
1:write('один');
2:write('два');
3:write('три');
4:write('четыре');
5:write('пять');
6:write('шесть');
7:write('семь');
8:write('восемь');
9:write('девять');
end;
end;
End.