Перевод программы с языка паскаль в си
Помогите перевести на с паскаля на си.
uses crt;
type
frac=record
m:integer;
n:1..maxint;
end;
procedure Sokr(var a:frac); {Сокращение дроби}
function Nod(a,b:integer):integer;{нахождение НОД}
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
Nod:=a
End;
var q:integer;
begin
q:=Nod(abs(a.m),a.n);
a.m:=a.m div q;
a.n:=a.n div q;
end;
procedure Summa(a,b:frac;var c:frac);
begin
c.m:=a.m*b.n+b.m*a.n;{вычисляемем числител}
c.n:=a.n*b.n;{знаменател}
Sokr(c); {сокращаем дробь}
write(a.m,'/',a.n,' + ',b.m,'/',b.n,'=',c.m,'/',c.n);
readln
end;
var a,b,c:frac;
begin
clrscr;
repeat
writeln('Введите числитель и знаменатель дроби А:');
readln(a.m,a.n);
until a.n>0;
repeat
writeln('Введите числитель и знаменатель дроби B:');
readln(b.m,b.n);
until b.n>0;
Summa(a,b,c)
end.