Форум программистов, компьютерный форум CyberForum.ru

Проверка содержимого текстового файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск и удаление максимального значения в односвязном списке С++ http://www.cyberforum.ru/cpp-beginners/thread1095426.html
Помогите пожалуйста,никак не могу понять что не так с кодом,почему не ищет максимальный элемент и не удаляет его. Задание:Сформировать односвязный линейный список по файлу чисел. Удалить из списка узлы с максимальным значением информационного поля. #include <iostream> #include <fstream> #include <cstring> using namespace std; struct list {
C++ FindFirstFileW. Как подставить значение переменной типа string в функцию? Здравствуйте, форумчане! Будьте добры и помогите понять один нюанс. Например есть у меня такие строки: //******************************************* string folderpath; cin >> folderpath; WIN32_FIND_DATAW wfd; HANDLE const hFind = FindFirstFileW(L"C:\\*", &wfd); //******************************************* http://www.cyberforum.ru/cpp-beginners/thread1095413.html
C++ Ошибка заполнения вектора строк в классе
Никак не могу разобраться. Пробовал по-разному и всегда выскакивали ошибки Вот есть класс resourse class resourse { private: int definitions; // = 5; int unions;// = 21; int prepositions;// = 28; int closures;// = 18; int particles;// = 32;
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения C++
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения. Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена.
C++ Степень отрицательной экспоненты http://www.cyberforum.ru/cpp-beginners/thread1095403.html
Нужно возвести отрицательную экспоненту в степень a=(-e)(i+j)/35, i>=0, j>=0. При попытке организовать через pow выдаёт ошибку pow: DOMAIN error a=pow(-2.7183,double(i+j)/35.0); Помогите разобраться, пожалуйста.
C++ Опишите пожалуйста построчную работу кода Опишите пожалуйста построчную работу кода #include <stdio.h> #include <conio.h> const int alph_length = 26; int main() { int i; подробнее

Показать сообщение отдельно
luxlite_oleg
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 14
13.02.2014, 19:30     Проверка содержимого текстового файла
Помоги проверить содержимое файла на числа
!Сделал вот как я думаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool lch(string FN)
{
 ifstream F1(FN, ios::in);
char ch;
 while (F1 >> ch)
 {
 
  if (((ch <= 9) && (ch >= 0)) || (ch == '-') || (ch == ' ') || (ch == '\n') )
   return true;
  else
   return false;
 }
}
Но даже если в файле нет ничего постороннего, все равно программа видит что есть посторонние символы.

Добавлено через 21 час 31 минуту
Весь код программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include "stdafx.h"
#include <iostream> 
#include <conio.h>  
#include<iomanip>
#include <time.h>   
#include<fstream>
#include<string>
using namespace std;
bool lch(string FN)
{
 ifstream F1(FN, ios::in);
char ch;
 while (F1 >> ch)
 {
 
  if (((ch <= 9) && (ch >= 0)) || (ch == '-') || (ch == ' ') || (ch == '\n') )
   return true;
  else
   return false;
 }
}
 
int func_kol(string FN)
{
ifstream F1(FN, ios::in);
int c,i=0;
while (!F1.eof())
 {
  F1 >> c;
  i++;
 }
 return i;
}
 
int main()
{ setlocale(LC_ALL, "rus");
string FNAME;
bool h = false;
do
{
cout<<"Введите имя файла:";
    cin>>FNAME;
    ifstream F1(FNAME, ios::in);
 if (!F1) 
  {
cout<<"Файл не открыт"<<endl;
  }
 
    
else
   {
    if (lch(FNAME) == false) cout << "В строке есть неккоректные данные!" << endl;
    else
    {
      int n;
bool p = false;
int i,sa,s=0;
      n = func_kol(FNAME);
 int  *a=new int[n];
      h= true;
      a=(int*)malloc(n*sizeof(int)); //выделение динам.памяти
 
if(!a)                              //проверка факта выделения памяти
 
{cout<<"\nНедостаточно памяти";}
 cout<<setw(18)<<"Номера элементов:";
for (i=1; i<(n+1); i++) 
cout<<setw(3)<<i;
cout<<endl;
cout<<setw(18)<<"Элементы:";
for (i=0; i<n; i++) 
   {
        F1>>a[i];
        cout<<setw(3)<<a[i];
        {s+=a[i];}
   }
for ( i = 0; i <10; i++)
{
    if(a[i]<0)p=true;
 }
sa=s/n;
if (p == true)
{
  for (i = (n - 5); i < n; i++)
  {
   a[i] = sa;
  }
  cout<<endl;
 cout<<setw(18)<<"Конечный массив:";
    for ( i = 0; i < n; i++)
    cout<<setw(3)<<a[i];
    
} 
else
{ 
    cout<<endl;
    cout<<setw(18)<<"В первой 10ке нет отрицательных элементов";
}
 delete []a;
  free(a);
 F1.close();
    }}
 
}while(h==false);
 
_getch();
 return 0;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru