| 
 | 
 
 
发表于 2021-7-18 09:29:46
|
显示全部楼层
   本楼为最佳答案    
 
 
第12行拼写错误 
- int countLines(const char *filenmae);
 
  复制代码 
修改为 
- int countLines(const char *filename);
 
  复制代码 
 
第13行 大小写错误 
- void findALLCodes(const char *path);
 
  复制代码 
修改为 
- void findAllCodes(const char *path);
 
  复制代码 
 
第16行 多打了个分号 
-  int countLines(const char *filename);
 
  复制代码 
修改为 
-  int countLines(const char *filename)
 
  复制代码 
 
41行 拼写错误,void拼写成了vido 大小写错误 ALL改为all 
- vido findALLCodes(const char *path)
 
  复制代码 
修改为 
- void findAllCodes(const char *path)
 
  复制代码 
 
45行 符号错误,分号打成了逗号 
- char thePath[MAX], target[MAX],
 
  复制代码 
修改为 
- char thePath[MAX], target[MAX];
 
  复制代码 
 
60行 拼写错误 void 拼写成了 vido 
- vido findALLDirs(const char *path)
 
  复制代码 
修改为 
- void findALLDirs(const char *path)
 
  复制代码 
 
67行誊抄错误 
- if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
 
  复制代码 
修改为 
- if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
 
  复制代码 
 
 
75行少打个. 
if (!strcmp(fa.name, ".") || !strcmp(fa.name,"."))  
修改为 
- if (!strcmp(fa.name, ".") || !strcmp(fa.name,"..")) 
 
  复制代码 
 
80行少打个/ 
- sprintf(thePath, "%s%s", path, fa.name);
 
  复制代码 
修改为 
- sprintf(thePath, "%s/%s", path, fa.name);
 
  复制代码 
 
81行 大小写错误,thepath中p为小写,应为thePath ALL应为All 
 
修改为 
 
 
82行 大小写错误,thepath中p为小写,应为thePath 
函数名错误findDIRS应为findALLDirs 
 
修改为 
 
 
96行拼写错误 
 
修改为 
 
 
98行 
- printf("目前你总共写了 %ld 行代码! \n\n, todal");
 
  复制代码 
修改为 
- printf("目前你总共写了 %ld 行代码! \n\n", total);
 
  复制代码 
 
完整代码 
 
- #include <io.h>
 
 - #include <direct.h>
 
 - #include <stdio.h>
 
 - #include <stdlib.h>
 
 - #include <string.h>
 
  
- #define MAX        256
 
  
- long total;
 
  
- int countLines(const char *filename);
 
 - void findAllCodes(const char *path);
 
 - void findALLFiles(const char *path);
 
  
- int countLines(const char *filename)
 
 - {
 
 -         FILE *fp;
 
 -         int count = 0;
 
 -         int temp;
 
 -         
 
 -         if ((fp = fopen(filename, "r")) == NULL) 
 
 -         {
 
 -                 fprintf(stderr, "Can not open the file:%s\n", filename);
 
 -                 return 0;
 
 -         }
 
 -         
 
 -         while ((temp = fgetc(fp)) != EOF)
 
 -         {
 
 -                 if (temp == '\n')
 
 -                 {
 
 -                         count++;
 
 -                 }
 
 -         }
 
 -         
 
 -         fclose(fp);
 
 -         
 
 -         return count;
 
 - }
 
  
- void findAllCodes(const char *path)
 
 - {
 
 -         struct _finddata_t fa;
 
 -         long handle;
 
 -         char thePath[MAX], target[MAX];
 
 -         
 
 -         strcpy(thePath, path);
 
 -         if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
 
 -         {
 
 -                 do
 
 -                 {
 
 -                         sprintf(target, "%s/%s", path, fa.name);
 
 -                         total += countLines(target);
 
 -                 }while (_findnext(handle, &fa) == 0);
 
 -         }
 
 -     
 
 -         _findclose(handle);
 
 - }
 
  
- void findALLDirs(const char *path)
 
 - {
 
 -         struct _finddata_t fa;
 
 -         long handle;
 
 -         char thePath[MAX];
 
 -         
 
 -         strcpy(thePath, path);
 
 -         if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
 
 -         {
 
 -                 fprintf(stderr, "The path %s is wrong!\n",path);
 
 -                 return;
 
 -         }
 
 -     
 
 -         do
 
 -         {        
 
 -                 if (!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
 
 -                         continue;
 
 -                     
 
 -                 if( fa.attrib == _A_SUBDIR)
 
 -                 {        
 
 -                         sprintf(thePath, "%s/%s", path, fa.name);
 
 -                         findAllCodes(thePath);
 
 -                         findALLDirs(thePath);
 
 -                 }
 
 -         }while (_findnext(handle, &fa) == 0);
 
 -     
 
 -         _findclose(handle);   
 
 - }
 
  
- int main()
 
 - {
 
 -         char path[MAX] = ".";
 
 -         
 
 -         printf("计算中...\n");
 
 -         
 
 -         findAllCodes(path);
 
 -         findALLDirs(path);
 
 -         
 
 -         printf("目前你总共写了 %ld 行代码!\n\n", total);
 
 -         system("pause");
 
 -         
 
 -         return 0;
 
 - }
 
  复制代码 |   
 
 
 
 |