Форум: Форум C++Разное
Новые темы: 00
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Числа в один файл, строковые символы - в другой
 
 автор: Oazis   (09.01.2008 в 03:16)   письмо автору
 
 

Почему неполучается ни чего ввести пользователем в эту программу и

#include <stdio.h>
#include <string.h>
#include <conio.h>
void main(void)
{
    FILE*fin=fopen("F.txt","r");
    FILE*fout=fopen("G.txt","w");
    while(fin)
    {
        char s[256];
        fscanf(fin,"%s",&s);
        bool b=false;
        for(int i=0;i<strlen(s);i++)if(s[i]>='0' && s[i]<='9'){b=true;break;}
        if(b==false)
        fprintf(fout,"%s\n",s);
_getch();
}

}

и что означает переменная вот эта

bool

  Ответить  
 
 автор: cheops   (09.01.2008 в 06:06)   письмо автору
 
   для: Oazis   (09.01.2008 в 03:16)
 

2) bool - это логический тип, который может принимать только два значения true (истина) и false (ложь).

  Ответить  
 
 автор: cheops   (09.01.2008 в 06:06)   письмо автору
 
   для: Oazis   (09.01.2008 в 03:16)
 

1) Что вводится? Что должно получиться? И что на самом деле происходит?

  Ответить  
 
 автор: Oazis   (09.01.2008 в 06:49)   письмо автору
 
   для: cheops   (09.01.2008 в 06:06)
 

должен пользователь вводить чтонибудь это всё записывается в файл F, но если он ввел цифры то файл переписывается в файл G. А тут ваще не получается ввести ни чего

  Ответить  
 
 автор: cheops   (09.01.2008 в 06:55)   письмо автору
 
   для: Oazis   (09.01.2008 в 06:49)
 

Хм... если устранить бесконечный цикл, у меня всё перезаписывается нормально
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main(void)
{
  FILE*fin=fopen("F.txt","r");
  FILE*fout=fopen("G.txt","w");

  char s[256];
  fscanf(fin,"%s",&s);
  bool b = false;
  for(int i = 0; i < strlen(s); i++)
  {
    if(s[i] >= '0' && s[i] <= '9')
    {
      b = true;
      break;
    }
  }
  if(b == falsefprintf(fout,"%s\n",s);
}

PS Только наоборот, если входной файл содержит строковые символы.

  Ответить  
 
 автор: cheops   (09.01.2008 в 07:04)   письмо автору
 
   для: Oazis   (09.01.2008 в 06:49)
 

Нужно изменить условие на противоположное
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main(void)
{
  FILE*fin=fopen("F.txt","r");
  FILE*fout=fopen("G.txt","w");

  char s[256];
  fscanf(fin,"%s",&s);
  bool b = false;
  for(int i = 0; i < strlen(s); i++)
  {
    if(s[i] < '0' || s[i] > '9')
    {
      b = true;
      break;
    }
  }
  if(!b) fprintf(fout,"%s\n",s);
}

  Ответить  
 
 автор: Oazis   (09.01.2008 в 09:07)   письмо автору
74 Кб
 
   для: cheops   (09.01.2008 в 07:04)
 

всеровно выдает ошибку вот

  Ответить  
 
 автор: cheops   (10.01.2008 в 06:33)   письмо автору
 
   для: Oazis   (09.01.2008 в 09:07)
 

Вы проект как создаёте?

  Ответить  
 
 автор: Oazis   (10.01.2008 в 09:10)   письмо автору
 
   для: cheops   (10.01.2008 в 06:33)
 

как нужно?

  Ответить  
 
 автор: cheops   (10.01.2008 в 10:03)   письмо автору
 
   для: Oazis   (10.01.2008 в 09:10)
 

Создайте классический проект File->New->Projects->General->Empty Project

  Ответить  
 
 автор: Oazis   (10.01.2008 в 13:28)   письмо автору
 
   для: cheops   (10.01.2008 в 10:03)
 

Пользователю не получается ни чего ввести программа открывается и сразу закрывается

  Ответить  
 
 автор: zzDimazz   (11.01.2008 в 13:26)   письмо автору
 
   для: Oazis   (09.01.2008 в 03:16)
 



#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <errno.h>
int main(void)
{
  int n ;
  char c;
    FILE *f_output_int,
              *f_output_ch;

    if( f_output_ch=fopen("ch.txt","wt") == NULL) 
      {
       perror("Невозможно открыть файл");
       getch();
       exit(1);
       }
       if( f_output_int=fopen("int.txt","wt") == NULL) 
      {
       perror("Ошибка");
       getch();
       exit(1);
       }
       while(1==1)
       {
        c=getc();
         if( c=='0' || c=='1' || c=='2' || c=='3' || c=='4' || c=='5' || c=='6' || c=='6' || c=='7' || c=='8' || c=='9' )
          fputc(f_output_int,"%s",c); //посимвольно в файл c цыфрами пишем

          else  fputc(f_output_ch,"%s",c);//посимвольно в файл с симвалами пишем
          if (c=='\n'break;//если "пустой" символ выходим
       }
       fclose(f_output_int);//закрываем файл
       fclose(f_output_ch);//закрываем файл
getch();
return 0;
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования