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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2008, 00:17   #1
Niki
 
Регистрация: 07.06.2008
Сообщений: 3
Вопрос Помогите пожалуйста с блок-схемой

Всем доброго времени суток.Очень сильно нужна ваша помощь.Курсовую не принемают только из-за одной блок-схемы...Ну не знаю я как её нарисовать...Поможете?Буду бескрайне благодарен
Код:
program kurs;
uses Crt;
label
  beg1, beg2;
var
  n,x,y:longint;
  H,T:string;
  chFl:char;
function num_to_str(m:longint; flag:boolean):string;
label
  ret;
const
  num1:array [0..19] of string=(
      нуль','один','два','три','четыре','пять','шесть',
      'семь','восемь','девять','десять','одиннадцать',
      'двенадцать','тринадцать','четырнадцать',
      'пятнадцать','шестнадцать','семьнадцать',
      'восемнадцать','девятнадцать','');

  num2:array [2..9] of string=(
      'двадцать','тридцать','сорок','пятьдесят',
      'шестьдесят','семьдесят','восемьдесят','девяносто');

  num3:array [0..9] of string = ('',
      'сто','двести','триста','четыреста','пятьсот',
      'шестьсот','семьсот','восемьсот','девятьсот');


  num4:array [0..19] of string=(
     '','одна','две','три','четыре','пять','шесть',
      'семь','восемь','девять','десять','одиннадцать',
      'двенадцать','тринадцать','четырнадцать',
      'пятнадцать','шестнадцать','семьнадцать',
      'восемнадцать','девятнадцать');

var
  dig1,dig10,dig100: byte;
  Result:string;
begin
  if m=0 then begin
     Result:=num1[0]; goto ret;
  end;
  Result:='';
  dig100:=m div 100;
  Result:=Result + num3[dig100];
  m:=m-100*dig100;
  if m=0 then goto ret;
  if m<20 then begin
    if flag=false then begin
    Result:=Result+num1[m]; goto ret;
    end else begin
    Result:=Result+num4[m]; goto ret;
    end;
  end;
  dig10:=m div 10;
  Result:=Result+num2[dig10];
  dig1:=m mod 10;
  if flag=false then begin
  if dig1<>0 then Result:=Result + num1[dig1];
  end else begin
  if dig1<>0 then Result:=Result + num4[dig1];
  end;
ret:
  num_to_str:=Result;
  end;
begin
  clrscr;
  beg1:
  T:='';
  H:='';
   writeln('Программа выводит на экран словами числа,введённые с клавиатуры');
  write('Введите целое число : ');
   {$I-}
  readln(n);
  {$I+}
  if (ioresult<>0) then begin
  writeln('Ошибка!Вы ввели не число!');
  goto beg1;
  end;
  if n>999999 then begin
  writeln('Число больше 999999');
  end
  else if n<-999999 then begin
  writeln(Число меньше -999999');
  end
  else begin
  if n<0 then
  begin
    n:=-n;
    T:='минус ';
  end;
  x:=n div 1000;
  y:=n mod 1000;
  if x <>0 then begin
  T:=T+num_to_str(x,true);

        if x<0 then x:=-x;
        x:=x mod 100;
        if x < 20 then begin
                if x>4 then begin
                T:=T+' тысяч';
                end else if x>1 then begin
                T:=T+' тысячи';
                end else if x=1 then begin
                T:=T+' тысяча*';
                end else T:=T+' влбпз';
        end else begin
                x:=x mod 10;
                if x>4 then begin
                T:=T+' тысяч';
                end else if x>1 then begin
                T:=T+' тысячи';
                end else if x=1 then begin
                T:=T+' тысяча*';
                end else T:=T+' влбпз';
        end;

  if y<>0 then H:=num_to_str(y,false);
  end else begin
  H:=H+num_to_str(y,false);
  end;
  writeln(n,' = ',T,' ',H);
  end;
beg2:
  writeln('Хотите продолжить Да/Нет (Y/N)?');
  readln(chFl);
  case chFl of
  'n','N': ;
  'y','Y': goto beg1;
  else
  writeln('Ошибка!Не правильный ввод');
  goto beg2;
  end;
end.
прога не сложная.Она всего лишь выводит число введённое с клавиатуры словами...

Последний раз редактировалось Niki; 07.06.2008 в 00:31.
Niki вне форума Ответить с цитированием
Старый 07.06.2008, 01:42   #2
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

Вот смотри картинку...Естественно строил не я, апрога - FCeditor - тут на форуме про нее написано даже.В архиве PNG картинка
Вложения
Тип файла: rar а_Part_0.rar (45.0 Кб, 20 просмотров)
Olympian вне форума Ответить с цитированием
Старый 07.06.2008, 01:51   #3
Niki
 
Регистрация: 07.06.2008
Сообщений: 3
По умолчанию

Спасибо!!!!!!!!!!!!Ты не представляешь как мне щас помог!!!!!
По поводу проги...У меня она тоже стоит,но пишет,что ошибка в строках: сначала 66,потом 84...
Спасибо!!!
Niki вне форума Ответить с цитированием
Старый 07.06.2008, 01:56   #4
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

Да - там были 2 ошибки -
у тебя не хватало 2х апострофов

14 'нуль','один','два','три','четыре', 'пять','шесть',
84 writeln('Число меньше -999999');

У меня такие выдавала. Там надо вначале строк добавить ' и всё хорошо
Olympian вне форума Ответить с цитированием
Старый 07.06.2008, 08:30   #5
Niki
 
Регистрация: 07.06.2008
Сообщений: 3
По умолчанию

Спасибо=)Буду теперь знать=)
Niki вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста!!! Esenin Помощь студентам 1 21.06.2008 01:45
Помогите пожалуйста Han_Nik C/C++ Сетевое программирование 8 10.06.2008 12:31
помогите пожалуйста pelsh Помощь студентам 2 21.12.2007 00:26