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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2014, 22:33   #1
mrthesklyar
 
Регистрация: 14.09.2014
Сообщений: 7
Сообщение Нужно преобразовать программу из C в Pascal

На лекции преподаватель написал нам программу на C и попросил попытаться ее переделать на Паскаль. Криво косо вроде получилось, но компилятор freepascal после компиляции выдает 217 exitcode, что не так?
P.S. - В коде препода компилятор ругается на пару строк, с sIn, если не лень, гляньте что не так.
Вот на C:
Код:
#include <stdio.h>
#include <stdlib.h>
	
void Error (int, char*);
	
	int main ()
	{
		char*sIn="Ex0101.in", c;
		FILE*fIn=NULL;
		if(!(fIn=fopen(sIn,"r")))Error(1,sIn);
			while (!feof(fIn))
			{
                                 c=fgetc(sIn);
				putchar(c);
			}
		fclose(fIn);
		getchar();
		return 0;
	}
	void Error(int nError, char*sIn)
	{
		printf ("Error #%d!\nError opening file%s.\n", nError, sIn);
		exit (nError);
	}
А вот кривоватая реализация на Pascal с которой выкидывает при запуске на 217 ошибке.
Код:
Program Ex0101;
Uses CRT, sysutils;
var
fl:text;
str:string;
begin
        if FileExists('D:\Ex0101.txt') then
        begin
        assign (fl, 'D:\Ex10101.txt');
        reset (fl);
        read (fl,str);
        writeln(str);
        close(fl);
        end
        else
        writeln ('Ошибка: Файл не найден');
       readln;
end.
Можно кидаться тапками, первый курс

Последний раз редактировалось mrthesklyar; 14.09.2014 в 23:25.
mrthesklyar вне форума Ответить с цитированием
Старый 14.09.2014, 22:59   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Можно кидаться тапками, первый курс
А что прога делать должна?
Имхо, не надо переводить си в паскаль или наоборот, ибо написать с нуля будет быстрее и качественнее.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.09.2014, 23:02   #3
mrthesklyar
 
Регистрация: 14.09.2014
Сообщений: 7
По умолчанию

Программа должна проверить наличие файла, если его нет, то выдает ошибку, если есть, то открывает.
Я имел в виду, что есть программа на C и нужно чтоб на паскале программа делала тоже самое
mrthesklyar вне форума Ответить с цитированием
Старый 14.09.2014, 23:07   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию


А где {$APPTYPE CONSOLE}?
Цитата:
если есть, то открывает.
А дальше?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.09.2014, 23:09   #5
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

А дальше видимо содержимое выводится на экран.

Последний раз редактировалось indexx; 14.09.2014 в 23:12.
indexx вне форума Ответить с цитированием
Старый 14.09.2014, 23:14   #6
mrthesklyar
 
Регистрация: 14.09.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А где {$APPTYPE CONSOLE}?
Эм что? не делфи, в инете на сайтах паскаля отрыл
Цитата:
Сообщение от min@y™ Посмотреть сообщение
А дальше?
Ну в случае с паскалем у меня программа пишет содержимое файла в строку и закрывает файл, дальше просто по enter завершаем работу. А в случае с С как я понял открывает и всё
mrthesklyar вне форума Ответить с цитированием
Старый 14.09.2014, 23:19   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
не делфи, в инете на сайтах паскаля отрыл
Чем компилил?
Цитата:
Ну в случае с паскалем у меня программа пишет содержимое файла в строку и закрывает файл, дальше просто по enter завершаем работу. А в случае с С как я понял открывает и всё
Ну а нужно-то что?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.09.2014, 23:23   #8
mrthesklyar
 
Регистрация: 14.09.2014
Сообщений: 7
По умолчанию

FreePascal, писал же в первом посте.
Это всё, что нужно, больше программа ничего не делает, просто моя реализация на паскале работает хорошо, если файла не находит: выдает то что нужно, а если файл есть, то после создания билда выкидывает с exitcode 217
mrthesklyar вне форума Ответить с цитированием
Старый 14.09.2014, 23:29   #9
mrthesklyar
 
Регистрация: 14.09.2014
Сообщений: 7
По умолчанию

Проблема решена, только сейчас увидел тупую ошибку) в поиске файл 0101, а потом открыть прошу 10101))))
а с С проблемы точно, ибо VS ругается на sIn
mrthesklyar вне форума Ответить с цитированием
Старый 15.09.2014, 21:04   #10
mrthesklyar
 
Регистрация: 14.09.2014
Сообщений: 7
По умолчанию

Ладно, это-то всё работает, а можно как-нибудь реализовать сей процесс на чистом паскале, без делфи?
mrthesklyar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно исправить программу. Free Pascal Angelique Паскаль, Turbo Pascal, PascalABC.NET 4 14.12.2012 04:07
Нужно преобразовать программу из delphi в lazarus Den559 Помощь студентам 0 22.05.2012 22:26
нужно написать программу на Pascal Aidar9119 Паскаль, Turbo Pascal, PascalABC.NET 0 20.12.2010 17:25
Нужно переписать программу с pascal на С++ ALiKa ALiK Помощь студентам 2 02.05.2010 22:01