ma13546282801 发表于 2019-9-26 17:25:19

编写S1E2怎么运行不了

到底哪儿出错了
#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, 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 finfALLDirs(const char *path)

{
        struct _finddata_t fa;
        long handle;
        char thePath;
       
        strcpy(thePath,path);
        if((handle=_findfrst(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);
        systen("pause");
       
        return 0;
}

yuweb 发表于 2019-9-26 17:54:17

本帖最后由 yuweb 于 2019-9-26 17:56 编辑

_findfirst(第67行)、findALLDirs(第82行)方法没声明
(第99行)systen应该是system吧

ma13546282801 发表于 2019-9-26 18:37:50

yuweb 发表于 2019-9-26 17:54
_findfirst(第67行)、findALLDirs(第82行)方法没声明
(第99行)systen应该是system吧

{:5_107:}这个没声明怎么搞

画载舟中 发表于 2019-9-26 19:20:06

一行行查 没办法 第一次输入   我心态也炸了.   感觉明明没错 就是失败       一个个查才知道 要么打错标识符   要么忘了加 符号{:10_266:}{:10_266:}

ma13546282801 发表于 2019-9-26 19:25:30

画载舟中 发表于 2019-9-26 19:20
一行行查 没办法 第一次输入   我心态也炸了.   感觉明明没错 就是失败       一个个查才知道 要么打错   ...

找出来了对照了半天 就因为一个空格   我晕
页: [1]
查看完整版本: 编写S1E2怎么运行不了