鱼C论坛

 找回密码
 立即注册
查看: 2997|回复: 17

[已解决]Dev-C++ 编译报错 找了好一会了 请教下

[复制链接]
发表于 2017-2-24 22:56:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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];
        
        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;
}
最佳答案
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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-24 22:59:18 | 显示全部楼层
之前安装这个 还以为全是 汉语的能简单呢 结果 这报错 报的  用哪个 敲半小时就搞定了 这个一个多小时了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-24 23:01:12 | 显示全部楼层
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-2-25 08:58:35 | 显示全部楼层
看楼上大小写错了啊。
你肯定是刚学吧,这个是小甲鱼让你练习写代码的,不懂没关系。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

额  哦  换小写试试  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-25 09:53:44 | 显示全部楼层
[code]
#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)
{
2--25.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-25 09:58:29 | 显示全部楼层

你好 这个是什么编译器  好像很神奇的样子
改了 还是有三个错误 这个没找出来。。。。。。。。。[code]
#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)
{
2--25.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-25 10:10:30 | 显示全部楼层

最后三个错误 复制了一下 好像缩进不对 那玩意能不能导致错误啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-25 10:21:29 | 显示全部楼层
本帖最后由 0mrli0 于 2017-2-25 10:25 编辑

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

不过说实话,你现在连错误是什么都不知道就找错误,纠结于此没有什么意义。接着往下学吧。ps版主用的是visual studio,很大的东西。新手用dev、codeblocks这样的就行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-2-25 12:23:02 | 显示全部楼层
屁哥 发表于 2017-2-25 10:10
最后三个错误 复制了一下 好像缩进不对 那玩意能不能导致错误啊

把你修改后的代码完整贴出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-2-25 21:37:45 | 显示全部楼层
人造人 发表于 2017-2-25 12:23
把你修改后的代码完整贴出来

谢谢 问题 找到了 是前行 有代码 抄错了 把整个一行对一遍就找到了  
还有个后加的分号是中文的  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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;
}
QQ图片20170225220121.png
QQ图片20170225220117.png
QQ图片20170225220108.png
QQ图片20170225220102.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-27 09:19:10 | 显示全部楼层

还是我 写错了 。。。。。。。。。一会仔细对对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-27 16:15:16 | 显示全部楼层

。。。。。。。。。没找到哪里不一样 你这个复制了 就可以正常编译运行 我的 就只能编译不能运行  和你这两个一样的代码  上边的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-27 17:35:34 | 显示全部楼层
人造人 发表于 2017-2-27 17:33
你还有好长的路要走啊^_^

谢谢指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 21:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表