motofan logo
       
> 

Тов. програмисты (С++), подскажите пожалуиста...

morpho
сообщение 24.4.2007, 18:24


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



В общем мне нужно написать програмку на С++, но мне бы само начало кто нить написал.
Нужно написать програму c объектами методы которых:
1.Из фаила данных считать текст ( текст- не одна строчка), вывести этот текст на екран и в фаил данных.
Далше что нужно я уже какнибыть напишу, мне бы кто написал чтоб прога считала иx записала в фаилы соответствующие.
На С я бы написал и сам, а вот на С++ с объектами и методами неполучается.
С меня + и увага. =]

Сообщение отредактировал morpho - 24.4.2007, 18:32
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 24.4.2007, 19:03


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Суть:
while(!fin.eof()){
fin.getline(s,255);
fout<<s<<'\n';
cout<<s<<'\n';}
s- char[255] , fin- ifstream, fout- ofstream. Естественно, их надо открывать и закрывать.

Сообщение отредактировал Keyran - 25.4.2007, 13:11
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 25.4.2007, 14:13


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



smile.gif , суть я знаю, но мне бы работающую прогу (на Microsoft Visual C++ ) чтоб она всеволиш считывала текст с одного фаила и записывала в другои и на екран.
Потом мне надо будет сделать чтоб прога стерла все слова в которых не четное количество символов, и еще чтоб те слова которые останутся написала в обратном порядке например: abcd -> dcba.

Да, и что такое using Namespace std;?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 25.4.2007, 16:38


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Новомодная конструкция со стандартными определениями. Можешь забить на нее, юзая старый #include<fstream.h>. А конструкция выше вполне работоспособная. Просто скопируй ее в свою прогу. Или тебе написать как открывать и закрывать файлы?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 25.4.2007, 16:58


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



Код
#include "stdafx.h"
#include <iostream.h>
#include <fstream.h>
#include <string.h>
class string
{
public:  string (char z);
     string (char x);
     string (char y);
};


int main()
{ string a, b, c;

a.read();
cout<<" Pervichnyi tekst: ";
a.write();





void string::read()
{ ifstream D("data.txt");
   char sim;
   while (!D.eof())
       sim=D.get();
        cout<<sim;
        D.close();
}

void string::write()
{ ofstream R("rez.txt");
   ifstream D("data.txt");
    char sim;
    while (!D.eof())
        sim=D.get();
        R<<sim;
}



    

}


Вот так я начел, но далше никак неполучается,
как сделать чтоб так выгледело и работало.

Добавлено позже (25.4.2007, 20:11):
я был написавши просто в столбик все, и работало все smile.gif , но потом вспомнил что мне надо написать используя объекты и методы... и застрял.

Сообщение отредактировал morpho - 25.4.2007, 17:15
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 25.4.2007, 18:05


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Ты после while'ов фигурные скобки пропустил. И класс странный какой-то.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 25.4.2007, 18:34


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



Keyran,
Цитата
фигурные скобки пропустил

ага, исправлю.
Kлас это я смотрел в другой програме и на примере ее так писал,
а ты не могбы исправить эту програмку чтоб работала она? (у меня 13 ошибок вылезло sad.gif )

Сообщение отредактировал morpho - 25.4.2007, 18:47
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 25.4.2007, 19:09


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Еще убери из класса конструкторы, то есть все, что после public, добавь описания функции в класс после того же public, в виде void read(void). Класс переименуй. Функции объявляи вне main, а не внутри.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 25.4.2007, 20:11


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



ок, завтра буду пробовать. wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 26.4.2007, 18:27


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



ок, ето вышло.
Но теперь другой вопрос:
Как сделать чтоб, третий метод брал занчение из второго? т.е одним методом я считал текст из фаила, а тепер мне нужно чтоб етот тртий метод считал количество символов в каздом слове и если нечетное количество то удалялбы то слово.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 26.4.2007, 18:34


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Эмм... Либо читать из файла заново, что, в общем то, правильно, либо создать массив строк как член класса, но будет не так универсально.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 26.4.2007, 18:56


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



а как написать чтоб програма проверила количество символов в каждом слове текста и если количество нечетное то стирало ето слово из текста?
первое что мне стукнуло:
Код
void delet(void)
    { char s[255], int n;
     ifstream D("duom.txt");
     while (!D.eof()){
        D.getline(s,255);
        n=s.size();
        for(int s;s<255;s++)
          if ( n mod 2=0)
              delete s;}
    }

но ето неработает sad.gif
насчет "delete s;" , я ето не знаю есть ли такая команда.

Сообщение отредактировал morpho - 26.4.2007, 19:12
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 27.4.2007, 11:47


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Не то. Нужны два файла- из одного читаем, в другой пишем. Читать можно так:
Код
char *str;
while (!fin.eof()){
fin>>str;
// Обработка строк( удаление запятых и остального в конце)
if (!(strlen(str)%2))
fout<<str;
}


Сообщение отредактировал Keyran - 27.4.2007, 11:48
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 29.4.2007, 12:40


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



Но тогда он проверяет длинну всеи строки, а мне нужно чтоб оддельно каждого слова.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 29.4.2007, 13:03


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Он читает до пробела. Удаляем всякие знаки в конце- вот тебе и слово.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 29.4.2007, 19:13


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



Ну, я так понимаю чтото типо этого толжно быть?
Код
void delet(void)
    { char s[255];
    ofstream R("rez.txt");
     ifstream D("duom.txt");
     while (!D.eof()){
       D.getline(s,255);
       cout<<"V tekste "<<strlen(s)<<" simvolov"<<endl;
       D>>s;
       for (int j=0;j<256;j++)
       {
       if (!(strlen(s)%2))
       R<<s<<endl;}
     }
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 29.4.2007, 19:24


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Нет, я же написал пример кода. Так и делай.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 29.4.2007, 20:01


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



так?
Код
void display ()
{
     char *str;
ifstream fin("duom.txt");
ofstream fout("rez2.txt");

while (!fin.eof()){
fin>>str;
// Обработка строк( удаление запятых и остального в конце)
if (!(strlen(str)%2))
fout<<str;
}
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 30.4.2007, 2:53


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Да. Тока вместо коммента надо вставить код огработки слов.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 30.4.2007, 10:23


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



а.. , а если в тексте нет ни точек, ни запятых, просто две~три строчки слов?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Keyran
сообщение 30.4.2007, 10:33


Unforgiven
*****

Группа: Пользователи
Сообщений: 448
Регистрация: 21.5.2006
Из: Ростов-на-Дону
Пользователь №: 84 134
Модель телефона: v535 & v50
Прошивка: R376_G_0E.66.13R

Рейтинг: 92.5



Тогда оставь коммент как есть.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
morpho
сообщение 30.4.2007, 11:07


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 14.7.2005
Из: Šalčininkai, Lietuva
Пользователь №: 46 175
Модель телефона: Nokia 6290, E398
Прошивка: непомню

Рейтинг: 11



да, но тогда в фаил rez2.txt ничего не выводится. Он пустой остается
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Тов. програмисты (С++), подскажите пожалуиста... · Компьютеры, операционные системы, софт и железо · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17.6.2025, 13:47

Форум живёт: