Я не уверен, понимаю ли я вашу проблему или нет, но вы думаете об этом? Если нет, то извините.
void printLength(int length);
void printWidth(int length, int input, int output, bool printInput, bool printOutput);
int lengthIO(unsigned x);
void IOterminal(int sizeOfTerminal, int inputValue, int outputValue);
void main()
{
IOterminal(30, 9999, 5555);
}
void IOterminal(int sizeOfTerminal, int inputValue, int outputValue)
{
printLength(sizeOfTerminal);
printWidth(sizeOfTerminal, inputValue, outputValue, false, false);
printWidth(sizeOfTerminal, inputValue, outputValue, false, true);
printWidth(sizeOfTerminal, inputValue, outputValue, false, false);
printWidth(sizeOfTerminal, inputValue, outputValue, false, false);
printWidth(sizeOfTerminal, inputValue, outputValue, false, false);
printLength(sizeOfTerminal);
printWidth(sizeOfTerminal, inputValue, outputValue, true, false);
printLength(sizeOfTerminal);
}
void printLength(int length)
{
int i = 0;
for (i; i < length; i++)
{
printf("-");
if (i == length - 1)
{
printf("\n");
}
}
}
void printWidth(int length, int input, int output, bool printInput, bool printOutput)
{
int lengthInput = lengthIO(input);
int lengthOutput = lengthIO(output);
int i = 0;
printf("|");
for (i; i < length; i++)
{
if (i > 0 && i < length)
{
if (i == 2 && printInput == true)
{
printf("Input:%d", input);
length = length - (lengthInput + 5);
}
else if (i == 2 && printOutput == true)
{
printf("Output:%d", output);
length = length - (lengthOutput + 6);
}
else
{
printf(" ");
}
}
}
printf("|\n");
}
int lengthIO(unsigned x) {
if (x >= 1000000000) return 10;
if (x >= 100000000) return 9;
if (x >= 10000000) return 8;
if (x >= 1000000) return 7;
if (x >= 100000) return 6;
if (x >= 10000) return 5;
if (x >= 1000) return 4;
if (x >= 100) return 3;
if (x >= 10) return 2;
return 1;
}
Окно терминала