⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strs_fx.cpp

📁 数据结构中所有算法的实现
💻 CPP
字号:
#include "d:\cpp\head.h"
#include "d:\cpp\ss.cpp"
#define MAXSTRLEN 255
int iCode,iSpace,iFunc,iRem,iTotal;
typedef unsigned char SString[MAXSTRLEN+1];
void ClearString(SString &S){
  S[0]=0;
}
void AppendChar(SString &S,char c){
  S[S[0]+1]=c;
  S[0]++;
}
Bool BolRem(SString S){
  if(S[1]=='/'&&S[2]=='/') return TRUE;
  else return FALSE;
}
Bool BolSpace(SString S){
  int i;
  if(S[0]==0)return FALSE;
  for(i=1;i<=S[S[0]];i++)
    if(S[i]!=' ')return FALSE;
  return OK;
}
Bool BolCode(SString S){
  if(S[0]==0||BolSpace(S)||BolRem(S))return FALSE;
  else return TRUE;
}
void cxfx(char *filename){
  FILE *f;
  SString S;
  SqStack Stack;
  int i;
  char c;
  char e;
  iCode=iSpace=iRem=iFunc=0;
  InitStack(Stack);
  f=fopen(filename,"r");
  if(!f){
    printf("SYSTEM ERROR WHEN OPEN FILE!\n");
    exit(0);
  }//if
  while(!feof(f)){
    ClearString(S);
    while((c=fgetc(f))!=10&&!feof(f)){
      AppendChar(S,c);
      if(c=='{')Push(Stack,c);
      if(c=='}'){
	Pop(Stack,e);
	if(StackEmpty(Stack)) iFunc++;
      }//if
    }//while
    iTotal++;
    if(BolCode(S))iCode++;
    if(BolRem(S))iRem++;
  }//while
  fclose(f);
}//cxfx

void main(){
  char *filename;
  filename="proc.cpp";
  cxfx(filename);
  printf("Func:%5d\n",iFunc);
  printf("TOATL:%5d\n" ,iTotal);
  printf("CODE%5d\n",iCode);
  printf("REM:%5d\n",iRem);
  printf("Space:%5d\n",iTotal-iCode-iRem);
}//main

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -