屁哥 发表于 2017-2-24 22:56:07

Dev-C++ 编译报错 找了好一会了 请教下


#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;
       
        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;
}


屁哥 发表于 2017-2-24 22:59:18

之前安装这个 还以为全是 汉语的能简单呢 结果 这报错 报的用哪个 敲半小时就搞定了 这个一个多小时了{:10_266:}

人造人 发表于 2017-2-24 23:01:12

0mrli0 发表于 2017-2-25 08:58:35

看楼上大小写错了啊。
你肯定是刚学吧,这个是小甲鱼让你练习写代码的{:10_260:},不懂没关系。

屁哥 发表于 2017-2-25 09:40:26

0mrli0 发表于 2017-2-25 08:58
看楼上大小写错了啊。
你肯定是刚学吧,这个是小甲鱼让你练习写代码的,不懂没关系。

额哦换小写试试

屁哥 发表于 2017-2-25 09:53:44


#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)
{

屁哥 发表于 2017-2-25 09:58:29

人造人 发表于 2017-2-24 23:01


你好 这个是什么编译器好像很神奇的样子
改了 还是有三个错误 这个没找出来。。。。。。。。。
#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)
{

屁哥 发表于 2017-2-25 10:10:30

人造人 发表于 2017-2-24 23:01


最后三个错误 复制了一下 好像缩进不对 那玩意能不能导致错误啊

0mrli0 发表于 2017-2-25 10:21:29

本帖最后由 0mrli0 于 2017-2-25 10:25 编辑

英语单词查一下,这三个错误跟你刚才的大小写问题错误类型是一样的,变量未定义就引用了。两种情况一种是你就没定义这个变量,另一种就像上边你的大小写问题导致定义的变量和引用的变量不一致。

不过说实话,你现在连错误是什么都不知道就找错误,纠结于此没有什么意义。接着往下学吧。ps版主用的是visual studio,很大的东西。新手用dev、codeblocks这样的就行了。

人造人 发表于 2017-2-25 12:23:02

屁哥 发表于 2017-2-25 10:10
最后三个错误 复制了一下 好像缩进不对 那玩意能不能导致错误啊

把你修改后的代码完整贴出来

屁哥 发表于 2017-2-25 21:37:45

人造人 发表于 2017-2-25 12:23
把你修改后的代码完整贴出来

谢谢 问题 找到了 是前行 有代码 抄错了 把整个一行对一遍就找到了
还有个后加的分号是中文的{:5_97:}

屁哥 发表于 2017-2-25 22:06:25

人造人 发表于 2017-2-25 12:23
把你修改后的代码完整贴出来

你好请教一下 编译正常不让运行 是我编译错了么   其他的可以运行
#include <stdio.h>

#define NL '\n'

int main()
{
                printf("Line1 %s ", NL);
                printf("Line2 %s ", NL);
               
                return 0;
}


#include <stdio.h>

#define PI 3.14159
#define S(r) PI * 5 * 5
#define C(r) 2 * PI * r

int main()
{
                int r = 5;
               
                printf("半径为5的圆,面积是 %s, 周长是 %s", S(r), C(r));
               
                return 0;
}

人造人 发表于 2017-2-25 23:12:50

屁哥 发表于 2017-2-25 22:06
你好请教一下 编译正常不让运行 是我编译错了么   其他的可以运行

#include <stdio.h>

#define PI 3.14159
#define S(r) PI * 5 * 5
#define C(r) 2 * PI * r

int main()
{
        int r = 5;

        printf("半径为5的圆,面积是 %.2f, 周长是 %.2f", S(r), C(r));

        return 0;
}

人造人 发表于 2017-2-25 23:14:06

屁哥 发表于 2017-2-25 22:06
你好请教一下 编译正常不让运行 是我编译错了么   其他的可以运行


#include <stdio.h>

#define NL "\n"

int main()
{
        printf("Line1 %s ", NL);
        printf("Line2 %s ", NL);

        return 0;
}

屁哥 发表于 2017-2-27 09:19:10

人造人 发表于 2017-2-25 23:14


还是我 写错了 。。。。。。。。。一会仔细对对

屁哥 发表于 2017-2-27 16:15:16

人造人 发表于 2017-2-25 23:12


。。。。。。。。。没找到哪里不一样 你这个复制了 就可以正常编译运行 我的 就只能编译不能运行和你这两个一样的代码上边的

人造人 发表于 2017-2-27 17:33:32

屁哥 发表于 2017-2-27 16:15
。。。。。。。。。没找到哪里不一样 你这个复制了 就可以正常编译运行 我的 就只能编译不能运行和你这 ...

你还有好长的路要走啊^_^

#if(1)

#include <stdio.h>

//#define NL '\n'
#define NL "\n"

int main()
{
        printf("Line1 %s ", NL);
        printf("Line2 %s ", NL);

        return 0;
}

#else

#include <stdio.h>

#define PI 3.14159
#define S(r) PI * 5 * 5
#define C(r) 2 * PI * r

int main()
{
        int r = 5;

        //printf("半径为5的圆,面积是 %s, 周长是 %s", S(r), C(r));
        printf("半径为5的圆,面积是 %.2f, 周长是 %.2f", S(r), C(r));

        return 0;
}

#endif

屁哥 发表于 2017-2-27 17:35:34

人造人 发表于 2017-2-27 17:33
你还有好长的路要走啊^_^

{:5_95:}谢谢指导
页: [1]
查看完整版本: Dev-C++ 编译报错 找了好一会了 请教下