鱼C论坛

 找回密码
 立即注册
查看: 1254|回复: 6

[已解决]请问我这代码为什么不能运行,哪里错了

[复制链接]
发表于 2018-12-18 01:14:55 | 显示全部楼层 |阅读模式

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

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

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], 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("目前你总共写了 %1d 行代码! \n\n",total);
                system("pause");
               
                return 0;
}
最佳答案
2018-12-20 19:24:34
你这代码总共有三处地方有问题的,其实挺好找的,看报错信息就能找到问题,给你截图了,图片是改好的,你对比一下自己写的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-18 01:27:02 | 显示全部楼层
我现在才学到第五课,然后这个也一直打不对,我个人还是建议后面再打这个代码吧...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-20 19:24:34 | 显示全部楼层    本楼为最佳答案   
你这代码总共有三处地方有问题的,其实挺好找的,看报错信息就能找到问题,给你截图了,图片是改好的,你对比一下自己写的。
问题_7.PNG
问题_8.PNG
问题_9.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-20 19:27:21 | 显示全部楼层
Loser_YiMo 发表于 2018-12-18 01:27
我现在才学到第五课,然后这个也一直打不对,我个人还是建议后面再打这个代码吧...

你应该按照报错信息找错误,报错信息都会提示哪一行有问题的,找错误也是学习的过程啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-21 00:40:39 | 显示全部楼层
表示报错信息看的一脸懵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-23 22:32:46 | 显示全部楼层
倚楼听雨落 发表于 2018-12-20 19:27
你应该按照报错信息找错误,报错信息都会提示哪一行有问题的,找错误也是学习的过程啊。

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

使用道具 举报

发表于 2018-12-24 19:30:37 | 显示全部楼层
Loser_YiMo 发表于 2018-12-21 00:40
表示报错信息看的一脸懵

有那么难懂吗。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-3 02:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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