Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Как переделать кодпод задачу? cb 
:(
    Опции темы
username12
Дата 17.12.2015, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 4.11.2015

Репутация: нет
Всего: нет



Подсчитать кол-в чисел в текстовом файле
Код

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "logotip.c"
#include <ctype.h>
#include <string.h>
#include <unistd.h>
 
void time_stamp(FILE *f)
   {
   time_t t;
   t=time(NULL);
   fprintf(f,"=====%s=====\n",ctime(&t));
   }
   
   
   
   
int main(int argc,char* argv[])
{
char a1,a2;
char buffer[20],str_file[100];
char mass[100],ch,word[100];
char word_max[100];
//const char ch[200],mass[100];
int a,i,n1,b,count=0,state;
int n;
int j;
FILE *filein,*fileout,*flog;
 
 
logo();
printf("Краткое изложение задачи:\n");
printf("В текстовом файле найти самую длинную последовательность цифр\n");
printf("Выполнил Рожкин Павел Александрович,ИВТ-12\n");
 
 
sprintf(buffer,"%s.log",argv[0]);
if((flog=fopen(buffer,"a"))==NULL)
     {
       puts("Ошибка открытия журнала");
       puts("Нажмите Enter");
       getchar();
       exit(0);
     }
 
time_stamp(flog);
fprintf(flog,"Программа %s приступила к работе",argv[0]);
 
 
if(argc<2)
      {
           time_stamp(flog);
           fprintf(flog,"Ошибка,недостаточно аргументов командной строки,работы завершена\n");
           printf("Ошибка,используйте %s filename1 filename2\n",argv[0]);
           getchar();
           fclose(flog);
           exit(0);
      }
 
 
 
if((filein=fopen(argv[1],"r"))==NULL)
{
time_stamp(flog);
fprintf(flog,"Невозможно открыть входной файл %s ,программа завершила работу",argv[1]);
getchar();
fclose(flog);
printf("Невозможно открыть файл %s,программа завершает работу\n",argv[1]);
exit(0);
}
     time_stamp(flog);
     fprintf(flog,"Файл %s открыт успешно",argv[1]);
     
 
     
     
if((fileout=fopen(argv[2],"w"))==NULL)
{
  time_stamp(flog);
fprintf(flog,"Невозможно открыть файл %s ,программа завершила работу",argv[2]);
printf("Невозможно открыть выходной файл %s,программа завершает работу\n",argv[2]);
getchar();
fclose(flog);
exit(0);
}
 
 
 
     time_stamp(flog);
     fprintf(flog,"Файл %s открыт успешно",argv[2]);
 
     
//printf("asdasdsad\n");  
 
state=0;
n=0;
i=0;
while(1)
          {
           
           
           
            ch=fgetc(filein);
           
           
           
            if(feof(filein)) break;
           
                              if(state==0&&isdigit(ch))
                                   {
                                     word[count]=ch;
                                     state=1;
                                     count++;
                                     n++;
                                     //fprintf(fileout,"%c",ch);
                                    continue;
                                   }
                                 
           
           
           
                      if(state==0&&!isdigit(ch))
                        {
                          //count=0;
                          n=0;
                          continue;
                         
                        }
           
           
                               if(state==1&&!isdigit(ch))
                                 {
                                   word[count]='\0';
                                   state=0;
                                   
                                   
                                   if(i==0) {n1=n;i++;}
                                   
                                   
                                   
                                       if(n<n1&&n1!=n)
                                             {
                                               //printf("%c\n",word);
                                         //strcpy(word_max,word);
                                             }
                                          else
                                             {
                                                 n1=n;
                                                 strcpy(word_max,word);
                                                 
                                             }
                                       
                                   count=0;
                                   n=0;
                                 }
           
           
            if(state==1&&isdigit(ch))
              {
                word[count]=ch;
                count++;
                //fprintf(fileout,"%c",ch);
                n++;
                continue;
              }
         
         
         
         
         
          }
           
 
 
fprintf(fileout,"Наибольшая последовательность цифр(она состоит из %d цифр ):%s",n1,word_max);        
 
       
printf("Наибольшая последовательность цифр(она состоит из %d цифр )%s\n",n1,word_max);
 
 
fclose(filein);
fclose(fileout);
fprintf(flog,"Операция выполнена успешно,%s и %s успешно закрыты,программа завершила работу",argv[1],argv[2]);
printf("Операция выполнена успешно,%s и %s успешно закрыты,программа завершает работу\n",argv[1],argv[2]);      
getchar();
fclose(flog);
exit(0);
 
 
}

PM MAIL   Вверх
Alexeis
Дата 17.12.2015, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.