英文排版系统C语言实现

英文排版系统C语言实现,第1张

概述本文章向大家介绍英文排版系统C语言实现,主要包括英文排版系统C语言实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

英文排版系统C语言实现

代码:

#include

#include

#include

voID route(char Text[],int *start,int *end,int column);

voID output(char cpy[],int column);

int countspace(char cpy[]);

int main()

{

system("color 0B");

Menu();

int start,end,column,length;

int i;

char Text[10000],ch;

printf("nPlease input or copy the text you want to transform:nn");

gets(Text);

printf("nnPlease input the column(column>=25):");

scanf("%d",&column);

system("cls");

printf("n");

printf("transformed text:nn");

start=0;

end=column-1;

length=strlen(Text);

if(length

{

printf("%s",Text);

return 0;

}

while(end

{

route(Text,&start,&end,column);

}

for(i=start; i

{

printf("%c",Text[i]);

}

printf("nninput 'c' to continue or input ESC to quit!");

while(1)

{

ch=getch();

if(ch=='c')

{

getchar();

system("cls");

return main();

}

else if(ch==27)

{

return 0;

}

else

{

;

}

}

}

voID route(char Text[],int column)

{

int i,j;

char cpy[500]="";

while(Text[*end]!=' '&&Text[*end]!=','&&Text[*end]!='!'&&Text[*end]!='.')//代表每行最后一个字符是字母

*end=*end-1;

if(Text[*end]==' ')

{

for(i=*start,j=0; i<*end; i++,j++)

{

cpy[j]=Text[i];

}

}

else

for(i=*start,j=0;i<=*end;i++,j++)

cpy[j]=Text[i];

*start=*end+1;

*end=*start+column;

output(cpy,column);

}

voID output(char cpy[],int column)

{

char strout[500]="";

int i,j=0;

int spacecount,difference,space0,spacex;

spacecount=countspace(cpy);

difference=column-strlen(cpy);

space0=(column-strlen(cpy))/spacecount;

spacex=(column-strlen(cpy))%spacecount;

for(i=0; i

{

strout[i]=' ';

}

if(difference>0)

{

for(i=0,j=0; i

{

if(cpy[i]==' ')

{

j+=space0;

if(spacex>0)

{

j++;

spacex--;

}

}

strout[j]=cpy[i];

j++;

}

printf("%sn",strout);

}

else

{

printf("%sn",cpy);

}

}

int countspace(char cpy[])

{

int i,sum=0;

for(i=0; i

{

if(cpy[i]==' ')

{

sum++;

}

}

return sum;

}

voID Menu()

{

char ch;

printf(" 【【English text form transformation system】】n");

printf(" ==============================================================");

printf("n 1.Start");

printf("n 2.Quitn");

printf(" ==============================================================");

printf("nninput the number you want to operate:");

while(1)

{

ch=getch();

if(ch=='1')

{

system("cls");

return;

}

else if(ch=='2')

{

exit(0);

}

else

{

;

}

}

}

备注: 大家在开始运行程序后,粘贴大量文本的时候注意一下,因为在codeblocks的黑框环境下它会卡,所以就点黑框上方的白色边界里面的编辑—>粘贴 即可粘贴入大量待排版的文本了O(∩_∩)O。

总结

以上是内存溢出为你收集整理的英文排版系统C语言实现全部内容,希望文章能够帮你解决英文排版系统C语言实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存