2017-02-01 7 views
0

Я пытаюсь создать головоломку для прыжка, и я делаю спецификаторы формата, и я понимаю, что алгоритм еще не закончен, но может кто-нибудь объяснить, почему мое состояние игнорируется? Он работает с спецификацией формата, даже если столбец более одного. Например, каждый «+» для каждой строки после первого в игре головоломка для прыжка имеет 7 пробелов перед «+» каждого столбца, когда я хочу, чтобы только первый столбец имел спецификацию формата, а затем каждая строка после этого имела нисходящие пробелы ,Выход для форматирования Peg Puzzle

#include <stdio.h> 

int main(){ 

    //variables for pieceboard 

    char p1, p2, p3, p4, p5, p6, p7, p8, p9; 
    int row = 1; 
    int column = 1; 

    p1 = 'o'; 
    p2 = p3 = p4 = p5 = p6 = p7 = p8 = p9 = '+'; 

    for (row =1 ; row <= 5; row++){ 
     for (column = 1; column <= row; column++) { 
      if (row == 1) { 
       printf("%+8c", p1); 
      } 
      else if(row > 1 && column == row) 
       printf("%+7c", p2); 

     printf("\n"); 
} 
    system("PAUSE"); 
    return 0; 
} 
+0

Вы уже сталкивались с массивами? Использование 'p1' ..' p9' сильно намекает на массив. Тот факт, что вы на самом деле не используете 'p3' ..' p9', подсказывает, что впереди. –

+0

Спасибо, но мы не можем использовать массивы для этого проекта :( –

ответ

1

Что-то странно с вашими фигурными фигурными скобками. Обычно я включаю фигурные скобки даже для операторов с одной строкой, чтобы сделать код более понятным.

Попробуйте окружить блок else (if) блоком {} и скопируйте его. Посмотрите, поможет ли это.

На самом деле, похоже, что вам не хватает фигурной фигурной скобки для одного из ваших циклов.

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

  • Нет связанных вопросов^_^