Почему мой алгоритм в бесконечном цикле печати?

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

Максимальный размер изображения составляет 250, поэтому я создал вектор из 250 символов в верхней части области видимости.
Моя стратегия состояла в том, чтобы в случае раскраски пикселя я мог просто выбрать координаты этого вектора и нужный цвет (который также представлен в виде символа) и назначить их одинаково.

Сначала код кажется нормальным. Но когда я набираю ‘L’ для функции цветного пикселя, он просто переходит в бесконечный цикл, печатая матрицу снова и снова. Что на самом деле довольно странно, учитывая, что эта функция даже не имеет цикла.

Где я скучал?

#include <iostream>
using namespace std;
int res;

char imagem[250][250];
char comando;
int m, n;
int i, j;
int x, y;
char cor;void createImage() {
cin >> m >> n;
for (i=0; i<m; i++) {
for (j=0; j<n; j++){
imagem[i][j] = 'o';
}
}
}

void cleanImage(){
for (i=0; i<m; i++) {
for (j=0; j<n; j++) {
imagem[i][j] = 'o';
}
}
}

void printImage() {
for (i=0; i<m; i++) {
for (j=0; j<n; j++) {
printf("%c", imagem[i][j]);
}
printf("\n");
}
}

void paintPixel() {
cin >> x >> y >> cor;
imagem[x][y] = cor;
}

int main(int argc, const char * argv[])
{
while (comando != 'X') {
cin >> comando;
switch(comando) {
case 'I': createImage();
case 'C': cleanImage();
case 'J': printImage();
case 'L': paintPixel();
}
}

return 0;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]