Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2010, 20:57   #11
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

http://programmersclub.ru/33/

http://programmersclub.ru/34/

прочтите, тут есть, и еще сравнение слов -

http://www.codenet.ru/progr/cpp/sprd/strcat_strdup.php

про strcmp
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 16.11.2010, 04:05   #12
Almost
Любитель
Пользователь
 
Аватар для Almost
 
Регистрация: 13.04.2009
Сообщений: 16
По умолчанию

Есть! Решил. С помощью циклов!
Спасибо вам всем, очень благодарен.


Если кому интересно:

text.txt имеет ряд <--<<><><-><--><--<<->-><>>--> (например, может быть и больше (максимум 250 символов), но не в этом суть.)
нужно найти "стрелы" такие:
<--<<
и
>>-->
и вывести их кол-во.
Все вроде работает.

Цитата:
#include "stdafx.h" //использую, чтобы все работало, если это не написать, то компиляция происходит криво
#include <stdio.h>//а заодно и это
#include <conio.h>//и это
#include <fstream>
using namespace std;

void main()
{
char text[260];//массив символов
text[259]='M';//помечаю конец массива, чтобы остановить цикл.
int i,flag=0;//объявляю переменные
ifstream input("text.txt");//открываем входной поток
input.getline(text,sizeof(text));//считываем строку
ofstream out("text2.txt");//выходной поток
for(i=0;text[i]!='M';i++)
{

if(text[i]=='<'&&text[i+1]=='-'&&text[i+2]=='-'&&text[i+3]=='<'&&text[i+4]=='<')
{
flag++;
}
}

for(i=0;text[i]!='M';i++)
{

if(text[i]=='>'&&text[i+1]=='>'&&text[i+2]=='-'&&text[i+3]=='-'&&text[i+4]=='>')
{
flag++;
}
}

out<<flag;//выводим массив символов, взятый из text.txt в text2.txt
return;
}
Знаю, не очень правильно, но по другому пока не придумал.
п.с. Насчет "учебника" - программировать начал недавно, месяц назад.

Последний раз редактировалось Almost; 16.11.2010 в 04:11.
Almost вне форума Ответить с цитированием
Старый 16.11.2010, 10:44   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
void main()
Не привыкайте. В стандарте int main
p51x вне форума Ответить с цитированием
Старый 16.11.2010, 13:51   #14
Almost
Любитель
Пользователь
 
Аватар для Almost
 
Регистрация: 13.04.2009
Сообщений: 16
По умолчанию

Еще такой вопрос:
в текстовом файле имеется, например, 3 числа:
2 6 35
Если мы его загружаем в код и "импортируем", то всё это заполняется в массив. Как этот массив потом разбить на 3 переменные?


Код:
#include <stdio.h>
#include <conio.h>
#include <fstream>
using namespace std;

int main() 
{
char text[100];//массив символов;
ifstream input("input.txt");//открываем входной поток;
input.getline(text,sizeof(text));//считываем строку;
//сдесь както надо изменить массив в переменные
ofstream out("output.txt");//выходной поток;
out<<text;//выводим массив символов, взятый из text.txt в text2.txt;

return 0;
}

И вопрос касательно MVS 2010. Я создаю проект консольное приложение win32, вместе с ним создаются заголовочные файлы (stdafx.h и targetver.h) и файлы исходного кода (главный файл срр и stdafx.cpp). Интересует меня тот момент, что при компиляции вылезает ошибка и он требует, чтобы я использовал stdafx.h. Иначе выходит ошибка. И при их удалении MVS возникает еще более.

И еще: удивляет то, что иногда программа работает даже, если удалить весь код или сделать ошибки. Для нормальной работы нужно "Очищать решение", (rebuild) и тогда программа работает нормально. Придется каждый раз это дело очищать?

Последний раз редактировалось Almost; 16.11.2010 в 14:01.
Almost вне форума Ответить с цитированием
Старый 16.11.2010, 13:54   #15
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

можно проще
Код:
int a[3];
input>>a[0]>>a[1]>>a[2];//данные считываются через пробел
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 16.11.2010, 14:30   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
И вопрос касательно MVS 2010. Я создаю проект консольное приложение win32, вместе с ним создаются заголовочные файлы (stdafx.h и targetver.h) и файлы исходного кода (главный файл срр и stdafx.cpp). Интересует меня тот момент, что при компиляции вылезает ошибка и он требует, чтобы я использовал stdafx.h. Иначе выходит ошибка. И при их удалении MVS возникает еще более.
В мастере проекта есть галочка пустой проект. Это студия делает некоторую работу за вас (например, некоторые СДК требуют этих констант).

Цитата:
И еще: удивляет то, что иногда программа работает даже, если удалить весь код или сделать ошибки. Для нормальной работы нужно "Очищать решение", (rebuild) и тогда программа работает нормально. Придется каждый раз это дело очищать?
Файл после "удаления кода" сохраняли? "Очищать решение" = rebuild... мой препод плакал.
p51x вне форума Ответить с цитированием
Старый 16.11.2010, 15:01   #17
Almost
Любитель
Пользователь
 
Аватар для Almost
 
Регистрация: 13.04.2009
Сообщений: 16
По умолчанию

Цитата:
Файл после "удаления кода" сохраняли? "Очищать решение" = rebuild... мой препод плакал.
Имеете в виду, чтобы была правильная компиляция нужно сохранять файл (срр)?

Насчет "Очищать решение" = rebuild - это конечно не так, просто недавно был в английской версии - build и rebuild - это все, что я запомнил =) Так то rebuild - реконструировать решение (то бишь очистить и построить) но это не важно. Мой акцент был не на этих словах.


Цитата:
Код:
int a[3];
input>>a[0]>>a[1]>>a[2];//данные считываются через пробел
Если тхт имеет текст "2 6 35", то в ответ уходит только первое число, то есть 2. ???
Надо сделать, чтобы оно находило числа и применяло их к переменным... Не знаю даже как.
Ну ладно, спасибо. Буду дальше разбираться.
Almost вне форума Ответить с цитированием
Старый 16.11.2010, 15:21   #18
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

если текст имеет 3 числа, идущих подряд, через пробел или построчно, то
input>>a[0]>>a[1]>>a[2] считает эти 3 числа
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 16.11.2010, 15:44   #19
Almost
Любитель
Пользователь
 
Аватар для Almost
 
Регистрация: 13.04.2009
Сообщений: 16
По умолчанию

Цитата:
Код:
void main()
Не привыкайте. В стандарте int main
Почему?

Цитата:
В мастере проекта есть галочка пустой проект. Это студия делает некоторую работу за вас (например, некоторые СДК требуют этих констант).
Спасибо огромное, почему то сам не додумался...

Цитата:
если текст имеет 3 числа, идущих подряд, через пробел или построчно, то
input>>a[0]>>a[1]>>a[2] считает эти 3 числа
Спасибо, разобрался.

Теперь, чтобы эти три числа записать в output.txt я сделал:
Код:
	out<<a[0];
	out<<" ";
	out<<a[1];
	out<<" ";
	out<<a[2];
А как можно сделать короче? Через запятую не хочет работать.

Что значит ошибка (вернее не ошибка, а предупреждение) (я использовал getch():

Предупреждение 1 warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.

Последний раз редактировалось Almost; 16.11.2010 в 15:49.
Almost вне форума Ответить с цитированием
Старый 16.11.2010, 16:49   #20
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Почему?
Почему в стандарте инт? Как одна из причин: ОС должна иметь возможность контролировать с ошибкой ли закончилось выполнение программы.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать загрузку части страницы? Virus191288 Общие вопросы Delphi 0 06.07.2009 20:23
ComboBox как сделать чтобы список в нем формировался с другой страницы? sttafi Microsoft Office Excel 11 12.05.2009 17:45
Как ускорить загрузку списка ListBox из txt-файла? Dux Компоненты Delphi 24 30.10.2008 19:02