Я хочу быстро оценить HW своих учеников, поэтому я решил написать пакетный скрипт для этой цели. Я знаю, что это проще сделать в Ubuntu, но поскольку студенты обязаны кодировать свои HW в Windows, я должен оценить их и в Windows. Ну, пока я написал следующий пакетный файл, но он не принимает переменную char
.
Обратите внимание, что цель HW - нарисовать прямоугольник и заполнить его символом, заданным клавиатурой (scanf
)
@echo off
set file=%1
gcc %file% -o %file%.exe
REM Followings are "row col fill" respectively
echo 6 10 A | %file%.exe :: #1
echo 6 6 | %file%.exe :: #2
move %file% graded\
move %file%.exe graded\
Здесь, как на # 1, так и на # 2,он рисует прямоугольник с пробелами, однако в # 1 он должен заполнить его A
с.
В случае, если мои студенты смогут найти этот вопрос в Интернете, я не могу выложить здесь полное решение, но я могу показать scanf() char
part:
//take num_of_rows and num_of columns
....
printf("\nFilling char?: ");
fflush(stdin);
scanf("%c",&fill);
...
//draw rectangle
И, наконец, воттребуемый вывод:
TEST-1
Enter number of rows (between 3-20) : 5
Enter number of columns (between 3-80) : 40
Enter a filling character (one char) : #
+--------------------------------------+
|######################################|
|######################################|
|######################################|
+--------------------------------------+
TEST-2
Enter number of rows (between 3-20) : 8
Enter number of columns (between 3-80) : 25
Enter a filling character (one char) : (blank)
+-----------------------+
| |
| |
| |
| |
| |
| |
+-----------------------+
ПРЕДУПРЕЖДЕНИЕ: Пожалуйста, не ставьте полное решение кода C, так как это HW.