我一直在想办法打印这个"接收";,但我不知道如果不单独打印所有内容,这是否可行。这是我要打印的内容:https://pastebin.com/qxk18ARh(检查原浆数据(:
****************************************************************************************************
* PERSONAL DETAILS *
* *
* Name: Tesla *
* Surname: Nikola *
* Address: Androutsou 150, Piraeus, 15232 *
* Total days of consumption: 179 *
* Sq. Meters: 110 *
* *
**************************************************************************************************** * PRICING *
* *
* Initial cost: EUR 19.32 *
* Details: *
* Municipal Taxes: EUR 7.05 *
* Total Charges: EUR 12.27 *
* Final cost (after credit card payment deduction): EUR 17.39 *
* *
**************************************************************************************************** * PAYMENT DETAILS *
* *
* Credit Card Number: 1234 5678 9012 3456 *
* *
****************************************************************************************************
奇怪的换行符、拖尾空白和过长的线条,就像在pastebin链接中发现的一样,但可能不是真正想要的。原始数据也包含许多选项卡
我搜索了一下,发现只有如何打印一个空心正方形,上面有这些循环:
for (int i = 1; i <= 23; i++) {
for (int j = 1; j <= 23; j++) {
if (i == 1 || i == 23 || j == 1 || j == 23){
printf("* ");
}else{
printf(" ");
}
}
printf("n");
但我首先要找一个矩形,我不知道如何用这种方式把两条线放在里面。所以我主要是在问,是否可以用一种更紧凑的方式,比如循环,如果可以,我应该怎么做。任何形式的帮助都会很棒。提前谢谢。
打印表单的一个好方法是使用变量宽度。
一个独特的优点是它允许以统一的方式进行更新。
打印:
* Initial cost: EUR 19.32 *
* Details: *
* Municipal Taxes: EUR 7.05 *
用途:
int width1a = 8;
int width1b = width1a + 4;
int width2a = 25;
int width2b = 25 - 4;
int width3 = 9;
// Notice the common format
printf("*%*s%-*s%-*s *n", width1a, "", width2a, "Initial cost:", width3, "EUR 19.32");
printf("*%*s%-*s%-*s *n", width1a, "", width2a, "Details:", width3, "");
printf("*%*s%-*s%-*s *n", width1b, "", width2b, "Municipal Taxes:", width3, "EUR 7.05");
更先进的东西,如居中一个标题可以用计算的宽度来完成。