萌新到大佬 发表于 2021-2-4 10:42:18

c语言第2章课后作业第52行不对,求大佬帮忙


#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 findALLFile(const char *path);

int countLines(const char *filename)
{
             FILE *fp;
             int count = 0;
             int temp;
             
             if ((fp = fopen(filename, "r")) == NULL)
             {
                          fprintf(stderr, "Cam 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, tarfet;
             
             stecpy(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;
             
             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 min()
{
             char path = ".";
             
             parintf("计算中...\n");
             
             findAllCodes(path);
             findALLDirs(path);
             
             printf("目前你总共写了 %ld 行代码!\n\n", total);
             system("pause");
             
             return 0;
}

qiuyouzhi 发表于 2021-2-4 10:52:27

一些拼写错误,都帮你改过来了

#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 findALLFile(const char *path);

int countLines(const char *filename)
{
             FILE *fp;
             int count = 0;
             int temp;
            
             if ((fp = fopen(filename, "r")) == NULL)
             {
                        fprintf(stderr, "Cam 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, target;
            
             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;
            
             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 = ".";
            
             printf("计算中...\n");
            
             findAllCodes(path);
             findALLDirs(path);
            
             printf("目前你总共写了 %ld 行代码!\n\n", total);
             system("pause");
            
             return 0;
}
页: [1]
查看完整版本: c语言第2章课后作业第52行不对,求大佬帮忙