关于[课后作业] S1E2代码提示错误
就是这个作业里的windows的第17行的代码
鱼的贴子里第17行是 { 这个
我打的也是这个{
但是就是提示错误
就显示了这一个地方是错的
搞不懂{: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 *filenmae);
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;
}
vido 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);
}
vido findALLDirs(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath;
strcpy(thePath, path);
if((handle = _findfirst(strcat(thePath, "/*.c"), &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);
findDIRS(thepath);
}
}while (_findnext(handle, &fa) == 0);
_findcloose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findALLCodes(path);
findALLDris(path);
printf("目前你总共写了 %ld 行代码! \n\n, todal");
system("pause");
return 0;
} 我打的是这样的 逃兵 发表于 2021-7-17 18: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 *filenmae);
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;
}
vido 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);
}
vido findALLDirs(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath;
strcpy(thePath, path);
if((handle = _findfirst(strcat(thePath, "/*.c"), &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);
findDIRS(thepath);
}
}while (_findnext(handle, &fa) == 0);
_findcloose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findALLCodes(path);
findALLDris(path);
printf("目前你总共写了 %ld 行代码! \n\n, todal");
system("pause");
return 0;
} Super丶钢铁侠 发表于 2021-7-17 18:19
它不一定是{这个的问题,有可能是该行附近有语句错误导致的,你把代码全部发出来看下
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 256
long total;
int countLines(const char *filenmae);
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;
}
vido 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);
}
vido findALLDirs(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath;
strcpy(thePath, path);
if((handle = _findfirst(strcat(thePath, "/*.c"), &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);
findDIRS(thepath);
}
}while (_findnext(handle, &fa) == 0);
_findcloose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findALLCodes(path);
findALLDris(path);
printf("目前你总共写了 %ld 行代码! \n\n, todal");
system("pause");
return 0;
} int countLines(const char *filename);
多了一个分号 #include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 256
long total;
int countLines(const char *filenmae);
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;
}
vido 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);
}
vido findALLDirs(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath;
strcpy(thePath, path);
if((handle = _findfirst(strcat(thePath, "/*.c"), &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);
findDIRS(thepath);
}
}while (_findnext(handle, &fa) == 0);
_findcloose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findALLCodes(path);
findALLDris(path);
printf("目前你总共写了 %ld 行代码! \n\n, todal");
system("pause");
return 0;
} 第12行拼写错误
int countLines(const char *filenmae);
修改为
int countLines(const char *filename);
第13行 大小写错误
void findALLCodes(const char *path);
修改为
void findAllCodes(const char *path);
第16行 多打了个分号
int countLines(const char *filename);
修改为
int countLines(const char *filename)
41行 拼写错误,void拼写成了vido 大小写错误 ALL改为all
vido findALLCodes(const char *path)
修改为
void findAllCodes(const char *path)
45行 符号错误,分号打成了逗号
char thePath, target,
修改为
char thePath, target;
60行 拼写错误 void 拼写成了 vido
vido findALLDirs(const char *path)
修改为
void findALLDirs(const char *path)
67行誊抄错误
if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
修改为
if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
75行少打个.
if (!strcmp(fa.name, ".") || !strcmp(fa.name,"."))
修改为
if (!strcmp(fa.name, ".") || !strcmp(fa.name,".."))
80行少打个/
sprintf(thePath, "%s%s", path, fa.name);
修改为
sprintf(thePath, "%s/%s", path, fa.name);
81行 大小写错误,thepath中p为小写,应为thePath ALL应为All
findALLCodes(thepath);
修改为
findAllCodes(thePath);
82行 大小写错误,thepath中p为小写,应为thePath
函数名错误findDIRS应为findALLDirs
findDIRS(thepath);
修改为
findALLDirs(thePath);
96行拼写错误
findALLDris(path);
修改为
findALLDirs(path);
98行
printf("目前你总共写了 %ld 行代码! \n\n, todal");
修改为
printf("目前你总共写了 %ld 行代码! \n\n", total);
完整代码
#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;
} 逃兵 发表于 2021-7-18 09:29
第12行拼写错误
修改为
谢谢大佬{:10_298:}
#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("目前你总共写了%1d 行代码! \n\n", total);
system("pause");
return 0;
}
大佬能帮帮我看看错哪里了吗,我是一直0行 hukailun2 发表于 2021-7-24 13:23
#include
#include
#include
我也是新手啊{:10_277:}
你到求助贴去发个帖子
会有人回你的 请问为什么只有计算中不显示写了几行代码 lzwy 发表于 2021-7-26 17:41
请问为什么只有计算中不显示写了几行代码
我是新手也不懂啊{:10_266:}
你发个帖子问问吧
页:
[1]