Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите, пожалуйста, с программой на языке СИ (http://www.tehnari.ru/f41/t47186/)

kest_wolf 08.02.2011 20:25

Помогите, пожалуйста, с программой на языке СИ
 
очень нужна задача на языке си! вопрос жизни..... плз. отозвитесь добрые люди!

Составить программу, которая для заданного начального каталогов файловой системы вычисляет общее количество строк в файлах с расширениями "pas" и "cpp" которые находятся внутри этого каталога и его подкаталогов.

ПОЖАЛУЙСТА! :tehnari_ru_281:

kest_wolf 08.02.2011 23:05

:tehnari_ru_109:

Димон 08.02.2011 23:09

Всё правильно!!! :)

kest_wolf 08.02.2011 23:10

была такая задача: Составить программу, которая для заданного начального каталогов файловой системы вычисляет общее количество строк в файлах с расширениями "pas" и "cpp" которые находятся внутри этого каталога и его подкаталогов.


вот ответ - это правильно??
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
#include<windows.h>

int calculate(char *name)
{
std::ifstream in;
in.open(name);
int i=0;
char buffer[1024];
while(!in.eof())
{
i++;
in.getline(buffer, 1024);
if(in.eof()) break;
}
in.close();
return i;
}

int main()
{
WIN32_FIND_DATA FindFileData;
HANDLE fnext;
char dir[256];
char path[256];
char name[256];
// gets(dir);

GetCurrentDirectory(256, dir);
strcpy(path,dir);
strcat(path, "\\*.cpp");
int result=0;
if(fnext=FindFirstFile(path,&FindFileData))
{
if (fnext != INVALID_HANDLE_VALUE)
{
strcpy(name,dir);
strcat(name,"\\");
strcat(name,FindFileData.cFileName);
result+=calculate(name);
while(FindNextFile(fnext,&FindFileData))
{
strcpy(name,dir);
strcat(name,"\\");
strcat(name,FindFileData.cFileName);
result+=calculate(name);
}
}
}
FindClose(fnext);
strcpy(path,dir);
strcat(path, "\\*.pas");
WIN32_FIND_DATA FindFileData2;
if(fnext=FindFirstFile(path,&FindFileData2))
{
if (fnext != INVALID_HANDLE_VALUE)
{
strcpy(name,dir);
strcat(name,"\\");
strcat(name,FindFileData.cFileName);
result+=calculate(name);
while(FindNextFile(fnext,&FindFileData2))
{
strcpy(name,dir);
strcat(name,"\\");
strcat(name,FindFileData.cFileName);
result+=calculate(name);
}
}
}
FindClose(fnext);
printf("Result is %d", result);
gets(path);

return 0;
}


Предупреждение:
А вы этот листинг компилировать самостоятельно пробовали? Если бы попробовали - сразу же узнали бы, верно он написан или нет. Ваш модератор.


Часовой пояс GMT +4, время: 01:55.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.