Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2012, 21:19   #1
Косиус
 
Регистрация: 22.10.2012
Сообщений: 9
По умолчанию Подсчёт комментраиев на С

Здравствуйте.Подскажите пожалуйста:можно ли написать такую прогрмму,которая бы посимвольно читала входящий файл(который также является небольшой программой),с целью подсчёта комментариев стиля
С (/*...*/); и С++ (//...).Спасибо за внимание
Косиус вне форума Ответить с цитированием
Старый 22.10.2012, 21:42   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Можно. А зачем?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 22.10.2012, 22:02   #3
Косиус
 
Регистрация: 22.10.2012
Сообщений: 9
По умолчанию

у меня курсовой - подсчёт комментариев
Косиус вне форума Ответить с цитированием
Старый 23.10.2012, 05:39   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Оригинальная задача...
Сами писать будете или через фриланс?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 23.10.2012, 17:31   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Можно просто открыть файл .c (.cpp) как текстовик, читать и считать.

И еще, зачем посимвольно для c++? Считывай построчно, если есть хоть одно сочитание "//", то делай count++, "// комментарий" может быть только один в строке.

С си немного посложнее, но не особенно.

Вообще странная курсовая. Я может чего не понимаю, но я такую программу за пару часов напишу, при том, что не умею в СИ работать с файлами. А если саму прогу можно писать где угодно, то вот, например, для .cpp:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  path:string;
  T:textfile;
  count:integer;
begin
  readln(path);
  assignfile(T,path);
  reset(T);
  count:=0;
  while not EOF(T) do
    begin
      readln(T,path);
      if pos('//',path)<>0 then
        inc(count);
    end;
  close(T);
  writeln(count);
  readln;
end.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 23.10.2012, 18:03   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

@whatever
А как ваша версия смотрит на саму себя? Нахождение // в кавычках не сбивает с толку?
waleri вне форума Ответить с цитированием
Старый 23.10.2012, 18:15   #7
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
@whatever
А как ваша версия смотрит на саму себя? Нахождение // в кавычках не сбивает с толку?
Хм, действительно, не подумал об этом. Вот тут то и понадобится посимвольное считывание. Тем не менее, не составит особого труда сделать проверку на "экранированность". Так что не совсем понимаю, почему это задание позиционируется как курсовая.

waleri, лови + в карму
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 23.10.2012, 18:29   #8
Косиус
 
Регистрация: 22.10.2012
Сообщений: 9
По умолчанию

писать буду сам - первая курсовая.просто у нас программирования маловато было)
Косиус вне форума Ответить с цитированием
Старый 23.10.2012, 20:28   #9
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от Косиус Посмотреть сообщение
писать буду сам - первая курсовая.просто у нас программирования маловато было)
Молодец. Если призадуматься, нужно просматриват каждый символ и помнить предыдущий, кроме случаев, когда находится внутри "" или ''
waleri вне форума Ответить с цитированием
Старый 23.10.2012, 22:42   #10
Косиус
 
Регистрация: 22.10.2012
Сообщений: 9
По умолчанию

спасибо)
да да да,алгоритм похожий в голове крутится.потихоньку разбираюсь
Косиус вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт кредит revaldo666 Общие вопросы C/C++ 5 10.01.2011 13:37
подсчёт слов neBu4kaMaXiM Помощь студентам 2 30.03.2010 10:00
подсчёт слов neBu4kaMaXiM Фриланс 13 18.03.2010 18:11
подсчёт ячеек !!! ahpalush Microsoft Office Excel 1 19.01.2010 05:21
Подсчёт трафика Альберт Работа с сетью в Delphi 2 10.09.2007 11:35