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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
денис 1986
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 3
#1

исправьте программу пожалуйста - C++

01.12.2012, 16:50. Просмотров 254. Ответов 7
Метки нет (Все метки)

не переписывает строки меньше 50 дважды ,меньше 70 часть копирует и переносит на другую строку,завтра курсовую защищать с этой программой


Переписать из входного файла только те строки, длина которых меньше 70.
// Строки длиной меньше 50 перепишите дважды (подряд)


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
##include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
using namespace std;
const int N=256;                //Константный размер строки
char *FName1="F_1.txt";             //Путь к файлу для чтения
char *FName2="F_2.txt";             //Путь к файлу для записи
int ii, i, len;                 //Счетчик строк
string Stroka[100];             //массив строк из 100  элементов
/*Вывод текста из файла на экран*/
void ReadFile()
{
  cout<<endl<<"ReadFile:  ";
  ii=0;
  char S[N];                //В переменную S будут считываться строки
      ifstream in1(FName1);             //Открытие файла для чтения
     while (!in1.eof())             //Чтение пока не достигнут конец файла
       {
         in1.getline(S,N);          //Построчное считывание информации в S
     ii = ii + 1;
     Stroka[ii] = S;
         cout<<S<<endl;             //Вывод очередной строки на экран
       }
       in1.close();                 //Закрытие файла
}
 
 
/*Ввод текста в файл*/
void CreateFile()
{
cout<<"Create File:  "<<endl;
//char S[255];                  //В S будет считываться строка
int count=ii;                   //Число строк для ввода в файл
/*Главная часть функции*/
     ofstream out1(FName2);             //Открыли файл для записи
     for (int i=1;i<count+1;i++)        //Цикл по количеству нужных строк
      {
    string S("100");
    len=Stroka[i].length();         //Вычисление длины строки
    if (len<70)
    {
          out1<<S<<endl;            //Записали S в файл и дописали перенос строки
    }
    if (len<50)
    {
          out1<<S<<endl;            //Записали S в файл и дописали перенос строки
    }
 
      }
  out1.close();
}
 
void main()
{
   system("CLS");
   ReadFile();                  //Чтение файла строк из файла и выводит их на экран
   CreateFile();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 16:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос исправьте программу пожалуйста (C++):

Исправьте программу пожалуйста - C++
Почему последнюю строку в итоге в консоли выводит два раза, в чём ошибка и как это исправить? ...

Исправьте пожалуйста программу. Нахождение суммы ряда - C++
Найти сумму ряда с точностью до члена ряда, меньше ε (задается с клавиатуры) для заданного значения х с функцией контроля....

Я написал программу шифрования и дешифрования,но много ошибок, исправьте пожалуйста - C++
Вот код который я написал, но там много ошибок, помогите исправить, или посоветуйте что нужно сделать/ #include &quot;stdafx.h&quot; #include...

Умножить и вывести в 10 СС 2 числа в Двоичной и Восьмеричной системе (Пожалуйста, исправьте программу!) - C++
Задание таково: Даны 2 числа в Двоичной системе и Восьмеричной системе. Необходимо их умножить и вывести в 10 СС. Естественно учитывая...

Исправьте пожалуйста ошибку - C++
Программа не работает. Может хоть вы подскажете в чем здесь проблема. #include &lt;iostream&gt; using namespace std; void main() //...

Структуры. исправьте пожалуйста... - C++
Описать структуру с именем NOTE, содержащую следующие поля: • фамилия, имя; • номер телефона; • день рождения (массив из трех чисел)....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
01.12.2012, 17:00 #2
Цитата Сообщение от денис 1986 Посмотреть сообщение
string S("100");
len=Stroka[i].length(); //Вычисление длины строки
if (len<70)
{
out1<<S<<endl; //Записали S в файл и дописали перенос строки
}
if (len<50)
{
out1<<S<<endl; //Записали S в файл и дописали перенос строки
}
А он вообще что-нибудь кроме числа 100 в файл пишет?

Не по теме:

Вообще конечно, куда катится наше образование? В университетах ЗАЩИЩАЮТ! курсовые уровня школьного кружка информатики. А конструктор Яковлев самолёты уже сам строил, когда в ВУЗе даже не на старших курсах учился.

денис 1986
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 3
01.12.2012, 17:18  [ТС] #3
число 100 не пишет.строки меньше 50 просто показывает но дважды не отображает,меньше 70 часть копирует и переносит на другую строку.
с информатикой не сталкивался,поступил заочно ,задали сделать.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
01.12.2012, 17:31 #4
ой, ну вообще-то твоя программа не должна компилироваться из-за void main как минимум в некоторых средах из-за void main().
денис 1986
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 3
01.12.2012, 17:37  [ТС] #5
незнай компилируется же
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
01.12.2012, 17:44 #6
много лажи, но если тебе нужно 2 раза, то
C++
1
2
3
4
5
    if (len<50)
    {
          out1<<S<<endl;            //Записали S в файл и дописали перенос строки
          out1<<S<<endl;
    }
если честно, не совсем понял как работает функция записи)
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
01.12.2012, 18:00 #7
Цитата Сообщение от NeonLost Посмотреть сообщение
if (len<50) { out1<<S<<endl; //Записали S в файл и дописали перенос строки out1<<S<<endl; }
так у него вообще в одном месте Stroka[], в другом S читает одно, сравнивает и пишет другое.
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
01.12.2012, 18:05 #8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
так у него вообще в одном месте Stroka[], в другом S читает одно, сравнивает и пишет другое.
я тоже удивлен как такой код живет...)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2012, 18:05
Привет! Вот еще темы с ответами:

Исправьте пожалуйста код - C++
Есть код , как сделать чтобы числа a,b,c вводились с клавиатуры... (Программа находит булеан чисел a,b,c) Код программы: ...

исправьте ошибку,пожалуйста - C++
Вычислить среднее значение элементов, расположенных в массиве между первым и послед-ним нулевыми элементами. Поменять местами максимальный...

Исправьте 1 ошибку пожалуйста - C++
Помогите пожалуйста исправить ошибку, код должен быть для C++ 6.0 Вот код программы #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; ...

Исправьте код пожалуйста! - C++
Нужно чтобы вывод начинался с самого нижнего левого элемента \ #include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; // расширение функционала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.12.2012, 18:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru