Şimdi Ara

C# Dosyaya Yazma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
1.106
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • [CODE=csharp]  private void button1_Click(object sender, EventArgs e)

        {

          double grs80a = 6378137.00, grs80b = 6356752.3141;

          double Enlem, Boylam, Yukseklik;


          Enlem = Convert.ToDouble(txtEnlem.Text);

          Boylam = Convert.ToDouble(txtBoylam.Text);

          Yukseklik = Convert.ToDouble(txtYukseklik.Text);


          double A, B;

          A = (Math.PI / 180) * Enlem;

          B = (Math.PI / 180) * Boylam;


          double ke2;

          ke2 = ((grs80a * grs80a) - (grs80b * grs80b)) / (grs80a * grs80a);


          double N;

          N = (grs80a / (Math.Sqrt(1 - (ke2 * ((Math.Sin(A)) * (Math.Sin(A)))))));


          double X, Y, Z;

          X = (N + Yukseklik) * (Math.Cos(A)) * (Math.Cos(B));

          Y = (N + Yukseklik) * (Math.Cos(A)) * (Math.Sin(B));

          Z = (((1 - ke2) * N + Yukseklik)) * (Math.Sin(B));


          lblX.Text = X.ToString();

          lblY.Text = Y.ToString();

          lblZ.Text = Z.ToString();[/CODE]



    Merhaba arkadaşlar,


    Şimdi yapmak istediğim şu, yukarıda enlem,boylam,yükseklik olarak girilecek değerlere örneği enlemi 20-50 derece arası olan 30 derece boylamındaki 1000m yükseklikteki tüm noktaların koordinatlarını bir çıktı olarak bize veren bir komutu nasıl yazabilirim. Teşekkür ederim.








  • üstte yazdığından metod oluşturacan parametreli olacak ...(double enlem, double boylam, double yükseklik) döndüğü değer olarak Tuple<double,double,double> olabilir ondan sonra for loop ile 20 den 50 ye kadar döndürecen bu metodu her döndürmede cevapları ister dosyaya yaz istersen bi list e atarsın



    Kod

    Yığını:
    void Main() { for (int i = 20; i <= 50; i++) { using (StreamWriter sw = File.AppendText("C:\\Veri.txt")) { sw.WriteLine(Çevir(i,30,1000)); }   } } public Tuple<double, double, double> Çevir(double enlem, double boylam, double yükseklik) { const double grs80a = 6378137.00; const double grs80b = 6356752.3141; double A = (Math.PI / 180) * enlem; double B = (Math.PI / 180) * boylam; double ke2 = ((grs80a * grs80a) - (grs80b * grs80b)) / (grs80a * grs80a); double N = (grs80a / (Math.Sqrt(1 - (ke2 * ((Math.Sin(A)) * (Math.Sin(A))))))); double X = (N + yükseklik) * (Math.Cos(A)) * (Math.Cos(B)); double Y = (N + yükseklik) * (Math.Cos(A)) * (Math.Sin(B)); double Z = (((1 - ke2) * N + yükseklik)) * (Math.Sin(B)); return Tuple.Create(X, Y, Z); }




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.