2016-08-24 6 views
0
static void Main(string[] args) 
{ 
    OpenFiles(); PrintReportHeadings(); 
    while ((lineIn = fileIn.ReadLine()) != null) 
    { 
     ParseLineIn(); 

     PrintDetailLine(); 
     Computing(); 
     sides++; 
    } 


    CloseFiles(); 

} 

static void PrintDetailLine() 
{ 
    Console.WriteLine("{0,2} {1}", sides, polyName);   
} 

static void Computing() 
{ 
    for (n = 1; n <= 9; n++) 
    { 
     p = (Math.Pow(n, 2) * (sides - 2) - n * (sides - 4))/2; 
     Console.Write("{0}", p); 
    } 
} 

Hier ist der Code, mit dem ich arbeite. Ich habe meine Berichtsüberschriften dort, wo sie sein müssen und wenn Polygonnamen aus einer Datei eingelesen werden, gehen sie mit der Anzahl der Seiten an die richtige Stelle. Wenn Sie jedoch versuchen, die n-te Anzahl von Punkten in der Polygonzahl zu berechnen, wird die Anzahl der Seiten des Polygons und der Name des Polygons auf die rechte Seite verschoben. nicht sicher, was ich falsch mache. Ich habe das jetzt seit 4 Stunden angeguckt.mit Formatierungsfehler in C#

+0

ich dachte, wenn Sie {0,2} es 2 Plätze hält. es gibt mir keinen Compiler-Fehler oder irgendetwas –

+0

Kannst du eine Liste 'string []' von Zeilen, die du eingelesen hast, reproduzieren? –

+0

'Triangular Platz Fünfeck Hexagonal Siebeneckiger Octagonal Decagonal neuneckige Hendecagonal dodekagonale Tridecagonal Tetradecagonal Pentadecagonal Hexadecagonal Heptadecagonal Octadecagonal Nonadecagonal Icosagonal Icosihenagonal Icosidigonal Icositrigonal Icositetragonal' ist alles, was es liest. Nur 24 Polygone –

Antwort

0

Sind Sie danach?

Ausgang:

3  Triangular 1 3 6 10 15 21 28 36 45 
4   Square 1 4 9 16 25 36 49 64 81 
5  Pentagonal 1 5 12 22 35 51 70 92 117 
6  Hexagonal 1 6 15 28 45 66 91 120 153 
7  Heptagonal 1 7 18 34 55 81 112 148 189 
8  Octagonal 1 8 21 40 65 96 133 176 225 
9  Nonagonal 1 9 24 46 75 111 154 204 261 
10  Decagonal 1 10 27 52 85 126 175 232 297 
11  Hendecagonal 1 11 30 58 95 141 196 260 333 
12  Dodecagonal 1 12 33 64 105 156 217 288 369 
13  Tridecagonal 1 13 36 70 115 171 238 316 405 
14 Tetradecagonal 1 14 39 76 125 186 259 344 441 
15 Pentadecagonal 1 15 42 82 135 201 280 372 477 
16 Hexadecagonal 1 16 45 88 145 216 301 400 513 
17 Heptadecagonal 1 17 48 94 155 231 322 428 549 
18 Octadecagonal 1 18 51 100 165 246 343 456 585 
19 Nonadecagonal 1 19 54 106 175 261 364 484 621 
20  Icosagonal 1 20 57 112 185 276 385 512 657 
21 Icosihenagonal 1 21 60 118 195 291 406 540 693 
22  Icosidigonal 1 22 63 124 205 306 427 568 729 
23 Icositrigonal 1 23 66 130 215 321 448 596 765 
24 Icositetragonal 1 24 69 136 225 336 469 624 801 
Press any key to continue . . . 

Source Code:

class Program 
{ 
    static int sides = 3; 
    private static int maxPolyNameLength; 

    static void Main(string[] args) 
    { 
     var input = "Triangular Square Pentagonal Hexagonal Heptagonal Octagonal Nonagonal Decagonal Hendecagonal Dodecagonal Tridecagonal Tetradecagonal Pentadecagonal Hexadecagonal Heptadecagonal Octadecagonal Nonadecagonal Icosagonal Icosihenagonal Icosidigonal Icositrigonal Icositetragonal" 
      .Split(' '); 

     maxPolyNameLength = input.Max(x => x.Length); 


     foreach (var s in input) 
     { 
      PrintDetailLine(s); 
      Computing(); 
      Console.WriteLine(); 
      sides++; 

     } 

    } 

    static void PrintDetailLine(string polyName) 
    { 
     Console.Write($"{{0,2}} {{1,{maxPolyNameLength}}} ", sides, polyName); 
    } 

    static void Computing() 
    { 
     double p = 0; 


     for (var n = 1; n <= 9; n++) 
     { 
      p = (Math.Pow(n, 2) * (sides - 2) - n * (sides - 4))/2; 
      Console.Write("{0,3} ", p); 
     } 
    } 
} 
+0

ja! genau, aber ich brauche die Zahlen formatiert, um die Tabelle zu passen. Ich werde ein Bildbeispiel in nur einer Sekunde veröffentlichen. –

+0

[link] http://i65.tinypic.com/28vtwe1.jpg –

+0

Siehe Update für die neueste Formatierung –