C kód átfordítása C#-ba :)

Zsolt Nagy nagyzsolt80 at gmail.com
2014. Dec. 12., P, 12:28:32 CET


Sziasztok!

C kód:

#include<stdio.h>

int main()
{
 int a,cel,szamok[255],szamegesz=0,i=0,db=0,mar=0,hiba=0,x,q=1,j;
 char szam[255],szamkesz[255],a2;
 FILE * f;
 f=fopen("be.txt","rt");
 while (!feof(f))
 {
  fscanf(f,"%d %d %s",&a,&cel,szam);
 }
 fclose(f);

 if (a<2 || a>36 || cel<2 || cel>36)
 {
  hiba=1;
 }
 else
    {
     if (a>=2 && a<=10) { //alap stringesítése
     a2=a+48-1;
                        }
 else if (a>=11 && a<=36) {
                        a2=a+55-1;
                          }
                while (szam[i]!='\0') { //stringből egész tömb
                        if (szam[i]<'0' || szam[i]>a2 || szam[i]=='-') {
                                hiba=1;
                                break;
                        } else if (szam[i]>='A' && szam[i]<='Z') {
                                szamok[i]=szam[i]-55;
                        } else if (szam[i]>='0' && szam[i]<='9') {
                                szamok[i]=szam[i]-48;
                        }
                        db++;
                        i++;
                }
                db--;
        }
        f=fopen("ki.txt","wt");
        if (hiba==1) {
                fprintf(f,"HIBA\n");
                fclose(f);
                return 0;
        } else if (db==0 && szamok[0]==0) {
                fprintf(f,"0\n");
                fclose(f);
                return 0;
        } else {
                for (i=0;i<=db/2;i++) { //helyiérték megfordítása
                        x=szamok[i];
                        szamok[i]=szamok[db-i];
                        szamok[db-i]=x;
                }
                for(i=0;i<=db;i++) { //dec-be
                        szamegesz+=szamok[i]*q;
                        q*=a;
                }
                if (cel==10) {
                        fprintf(f,"%d\n",szamegesz);
                        fclose(f);
                        return 0;
                }
                i=0; //cél számrendszerbe
                while(szamegesz>0) {
                        mar=szamegesz%cel;
                        if (mar>=10 && mar<=35) {
                                szamkesz[i]=mar+55;
                        } else {
                                szamkesz[i]=mar+48;
                        }
                        szamegesz/=cel;
                        i++;
                }
                for(j=i-1;j>=0;j--) {
                        fprintf(f,"%c",szamkesz[j]);
                }
                fprintf(f,"\n");
                fclose(f);
                return 0;
        }
        return 0;
}



segítenétek C#-ba tenni?

Köszi

Zsolt
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20141212/43f4a174/attachment.html>


További információk a(z) Techinfo levelezőlistáról