Вниз
Скачать: CL | DM;

Помогите пожалуйста перевести на си   Найти похожие ветки 

← →
vidiv ©   (2004-10-26 16:51) [0]

у меня есть программа написаная на паскале (вообще консольное дельфовское приложение, но в строгом соответствии с паскалем). нужно его перевести на си. (который ++, досовский). Если ктонибудь мне может в этом помочь, прошу - помогите.
вот ссылка на код http://pluton.sakhgu.sakhalin.ru/prg.htm

единственное, на мой взгляд, несоответсвтивие это то что в си строки начинаются (как я думаю) с 0 индекса, а в паскале с первого. я вынес эту функцию отдельно
function getOneChar(str:string; i:integer):char;
{// getOneChar("hello", 1)=="h";}
begin
   if i > length(str) then begin
       result := #0;
       exit;
   end;
   result := str[i];
end;

чтобы думать пришлось только в одном месте :)
Очень приочень надеюсь на вашу помощь!!!


← →
KSergey ©   (2004-10-26 16:55) [1]

В Си нем как такового типа String (строки изменяющейся длины)
Есть в STL (раз уж про ++ речь) класс String, на шаблоне сделан. В приципе снаружи почти String из дельфи, хотя, конечно...

А вообще ответ один: или сумма или уточните что именно непонятно.


← →
jack128 ©   (2004-10-26 16:56) [2]

char getOneChar(char * str; int i)
{
 if(i >= strlen(s)) return 0;
 else return str[i-1];
}


← →
KSergey ©   (2004-10-26 16:58) [3]

К стати, еще раз для меня тупого: только в этой ф-ции непонятки или по всему коду?


← →
vidiv ©   (2004-10-27 05:42) [4]


> KSergey ©   (26.10.04 16:58) [3]

тупой скорее тут я... мне вобщем надо перевести весь код на си.. я си никогда не знал, знаю только общие принципы (как в PHP или JS). А перевести не могу... нужно всю програму перевсети...


← →
vidiv ©   (2004-10-27 06:36) [5]

проблема еще с функцией
bool numericTest (char * exp; extended & value) {
/* Функция должна на входе иметь стоку и сслыку на число
на выходе 1 - если в строке было записано число и 0 - в противном случае.
если 1 - то также в value передать значение этого числа
надо доделать функцию
*/
   int code;
   val(exp, value, code);
   return code==0;
}

конеретно с val. я не знаю аналога функции val в си...
на паскале она выглядит так:
function numericTest (exp:string;  var value:Extended):boolean;
var
   code:integer;

begin
   val(exp, value, code);
   result := code = 0;
end;


и для паскалевской функции  str (str(val:20:12, result);) тоже не знаю.


← →
vidiv ©   (2004-10-27 14:40) [6]

мдя... видимо я чтото не так сказал:)) ну чтож бываит



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.957 c
1-1098787847
losk
2004-10-26 14:50
2004.11.14
MDI


14-1099045828
SPeller
2004-10-29 14:30
2004.11.14
Пишите на xxx@mymail.ru


14-1098978614
Alein
2004-10-28 19:50
2004.11.14
Прозрачные контролы


4-1096448850
Chipset
2004-09-29 13:07
2004.11.14
ТВ-тюннеры: создание софта для.


1-1098882147
Bogdan
2004-10-27 17:02
2004.11.14
Raveproject




   Наверх