三年不起 发表于 2018-12-3 14:34:07

cccc

Tykj 发表于 2018-12-3 15:24:28

oo

听说不可以改名 发表于 2018-12-3 19:14:27

本帖最后由 听说不可以改名 于 2018-12-3 19:15 编辑

举手,想问一下大佬,我自己写和复制案例代码去我的DEV C++,执行结果都是





“计算中...
目前你总写了 0 行代码!

请按任意键继续. . .”,





这个应该怎么解决{:10_266:}




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

涂央 发表于 2018-12-3 19:35:59

答案

xoxoxoxxox 发表于 2018-12-3 21:05:49

lhjkljkljl

ASJ 发表于 2018-12-3 22:30:44

谢谢小甲鱼

欧洲提督大人 发表于 2018-12-4 11:04:06

{:10_277:}

菜鸡一号 发表于 2018-12-4 14:17:56

111

kemino 发表于 2018-12-4 16:37:17

1111111111111

18355830690 发表于 2018-12-4 16:58:46

666

情天注 发表于 2018-12-4 20:03:30

对一下答案

PursuitC 发表于 2018-12-4 22:08:07

亲爱的你为什么这么折磨我呢

柠檬不酸 发表于 2018-12-4 22:41:21

晚安,各位鱼油门

jiazechong 发表于 2018-12-5 10:11:45

答案

肥猫飞天 发表于 2018-12-5 11:02:41

啦啦啦

runrunrun 发表于 2018-12-5 11:16:31

C

y123320 发表于 2018-12-5 11:54:53

666

845507668 发表于 2018-12-5 16:36:11

测试题

那只爆米花 发表于 2018-12-5 16:50:11

.

davidcq 发表于 2018-12-5 17:05:45

好好学习,天天向上!
页: 205 206 207 208 209 210 211 212 213 214 [215] 216 217 218 219 220 221 222 223 224
查看完整版本: S1E2:第一个程序 | 课后测试题及答案