2016-08-24 2 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); 
    } 
} 

Вот код, с которым я работаю. У меня есть заголовки моих отчетов, где они должны быть, и когда вы читаете имена полигонов из файла, они идут в нужное место с количеством сторон. Но при попытке вычислить n-ое количество точек в полигональном числе, он подталкивает количество сторон многоугольника и имя многоугольника в правую сторону. не знаю, что я делаю неправильно. смотрел на это уже 4 часа.с ошибкой форматирования в C#

+0

я подумал, что если у вас есть {0,2} она занимает 2 места. это не дает мне ошибку компилятора или что-то еще –

+0

вы можете дать список 'string []' строк, которые вы читали для воспроизведения? –

+0

'Треугольная площадь Пятиугольных шестиугольной семиугольной восьмиугольной Nonagonal декагональные Hendecagonal двенадцатиугольные Tridecagonal Tetradecagonal Pentadecagonal Hexadecagonal Heptadecagonal Octadecagonal Nonadecagonal Icosagonal Icosihenagonal Icosidigonal Icositrigonal Icositetragonal' - это все, что он читает. Всего 24 многоугольника –

ответ

0

Вы ищите это после вас?

Выход:

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 . . . 

Исходный код:

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

да! точно, но мне нужны цифры, отформатированные для соответствия таблице. Я отправлю пример изображения всего за одну секунду. –

+0

[ссылка] http://i65.tinypic.com/28vtwe1.jpg –

+0

См. Обновление для последнего форматирования –

Смежные вопросы