本文目录一览:
在编写c语言时,语句排版比较乱,怎么办?
建议楼主平常写程序时多注意下~毕竟自动排版之类的功能没有那么完善。
如果是排版的话,选中需要排版的区域,然后ALT+F8,可以自动调整缩进,楼主指的应该就是这个吧?~
c++自动排版快捷键
c++自动排版快捷键:但是有 【工具】 【c/c++代码格式化】。
vs有一个自动格式化代码快捷键:Ctrl+K,Ctrl+F,就是先同时按下ctrl和K两个键,然后松开K(不松开ctrl),再按下F。
整理对齐代码快捷键是Alt+F8组合键。centOS 下webstorm 格式化代码的快捷键 Ctrl+Shift+l 。windows 下 webstorm 格式化代码的快键键 Ctrl+Alt+l。
支持数据封装和数据隐藏:
在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。
在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。
每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。
C语言简单的英文词典排版系统的实现
#include "stdio.h" #include "stdlib.h" #include "string.h" #include "ctype.h" #define ROWS 256 #define COLS 32 static FILE *fp; static char a[ROWS][COLS]; char get_option(void); int b(int count); void c(char *pt[], int count); int check(char arr[], int count); void storage(char *pt[], int count); int main(void) { int i,count; int start; char *pt[ROWS]; char ch, len; char input; if((fp=fopen("words.txt","a+"))==NULL) { fputs("不能打开或建立文件!\n",stderr); exit(1); } fseek(fp,0L,SEEK_END); start=(int)ftell(fp)/32; count=start; rewind(fp); if(fread(a,32*sizeof(char),start,fp)==0) { i=0; puts("请输入单词(每行一个),在新行输入END结束输入:"); while(iROWSscanf("%s", a[i])==1) { fflush(stdin); if(strncmp(a[i],"END",3)==0) { count+=i; break; } if(check(a[i], i)) continue; i++; } } puts("您要做些什么?"); puts("a. 显示已有的单词 b. 添加新单词"); puts("c. 对已有的单词进行排序 d. 退出"); while((input=get_option())!='d') { if(input=='a') { puts("已有的单词:"); for(i=0;icount;i++) { printf(" "); puts(a[i]); } } if(input=='b') { puts("请输入新的单词(每行一个),在新行输入END结束输入: "); count=b(count); } if(input=='c') { puts("对单词进行排序:"); c(pt, count); for(i=0;icount;i++) { printf(" "); puts(pt[i]); } } puts("还要做些什么?"); } storage(pt,count); fclose(fp); puts("再见!"); return 0; } char get_option(void) { char ch; while((ch=getchar())'a'||ch'd') { while((ch=getchar())!='\n') ; puts("请输入a,b,c或者d."); } fflush(stdin); return ch; } int b(int count) { int i; i=count; while(iROWSscanf("%s", a[i])==1) { fflush(stdin); if(check(a[i], i)) continue; if(strncmp(a[i],"END",3)==0) { count=i; break; } i++; } return count; } void c(char *pt[], int count) { int i,j; char *temp; for(i=0;iROWS;i++) pt[i]=a[i]; for(i=0;icount;i++) for(j=i+1;jcount;j++) { if(strcmp(pt[i],pt[j])0) { temp=pt[i]; pt[i]=pt[j]; pt[j]=temp; } } } int check(char arr[], int count) { int i; int flag=0; for(i=0;istrlen(arr);i++) if(isalpha(arr[i])==0) { printf("%s不是一个单词.\n",arr); flag=1; break; } for(i=0;icount;i++) if(strncmp(a[i],a[count],strlen(a[count])+1)==0) { puts("重复的单词!"); flag=1; } return flag; } void storage(char *pt[], int count) { int i,j; char ptr[ROWS][COLS]; c(pt, count); for(i=0;icount;i++) for(j=0;pt[i][j]!='\0';j++) ptr[i][j]=pt[i][j]; fp=fopen("words.txt","w+"); rewind(fp); fwrite(ptr,32*sizeof(char),count,fp); }