• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите, пожалуйста, с программой на языке СИ

kest_wolf

Ученик
Регистрация
8 Фев 2011
Сообщения
3
Реакции
0
Баллы
0
Помогите, пожалуйста, с программой на языке СИ

очень нужна задача на языке си! вопрос жизни..... плз. отозвитесь добрые люди!

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

ПОЖАЛУЙСТА! :tehnari_ru_281:
 
Всё правильно!!! :)
 
была такая задача: Составить программу, которая для заданного начального каталогов файловой системы вычисляет общее количество строк в файлах с расширениями "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;
}


[mod]А вы этот листинг компилировать самостоятельно пробовали? Если бы попробовали - сразу же узнали бы, верно он написан или нет. Ваш модератор.[/mod]
 
Назад
Сверху