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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 00:16   #1
marina_sergina
Пользователь
 
Регистрация: 10.05.2010
Сообщений: 17
По умолчанию строки и файлы не могу понять,что не так((((

задани: написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с главной буквы, на прописную
заранее спасибо


#include<fstream>
#include<string.h>
#include<stdio.h>
#include <iostream>

using namespace std;

int main(int argc, char*argv[]){
ifstream fin("C:\\Documents and Settings\\Admin\\Рабочий стол\\курсовик по Поа Ирина\\Text.txt", ios::in);
if (!fin) { cout<<"error in open file."<<endl;
system("PAUSE");
return 1; }
fin.seekg(0, ios::end);
long len = fin.tellg();
char *buf = new char [len+1];
fin.seekg(0, ios::beg);
fin.read(buf, len);
buf[len] = '\0';
long n = 0,i = 0, j = 0;
for (i=n ;i<len;i++){
j=n;
if ( buf[i] == 'a'||buf[i] =='e'||buf[i] =='i'||buf[i] =='o'||buf[i] =='u'||buf[i] =='y'){
while (buf[j-1] != ' ') {cout<<buf[j];j++;}
cout<<" ";
n=j;
}
else while (buf[j-1] != ' ') {j++;n=j;}

}
fin.close();
system("PAUSE");
return 0;
}
marina_sergina вне форума Ответить с цитированием
Старый 11.05.2010, 00:38   #2
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Код:
#include<fstream>
#include<string.h>
#include<stdio.h>
#include <iostream>

using namespace std;

int main(int argc, char*argv[]){
ifstream fin("C:\Documents and Settings\Admin\Рабочий стол\курсовик по Поа Ирина\Text.txt", ios::in);
if (!fin) { cout<<"error in open file."<<endl;
system("PAUSE");
return 1; }
fin.seekg(0, ios::end);
long len = fin.tellg();
char *buf = new char [len+1];
fin.seekg(0, ios::beg);
fin.read(buf, len);
long i = 0;
while (buf[i] != '\0') {
		if ((buf[i] >= 'A' && buf[i] <='Z') && (buf[i-1]==' ' || buf[i-1]=='\0')){
		cout<<(char)(buf[i]+32);
	}  else   {
		cout<<buf[i];
	}
i++;
}
fin.close();
system("PAUSE");
return 0;
}
Skype: CODERua

Последний раз редактировалось [CODER]; 11.05.2010 в 00:45.
[CODER] вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
строки в СИ, не могу понять в чём ошибка( viksen_ Помощь студентам 0 25.04.2010 16:59
IBExpert, не могу понять что делаю не так! в чём проблема.... katia0017 SQL, базы данных 10 15.01.2010 18:33
Помогите дописать программу на Delphi 7 не могу понять что здесь не так matrix8325 Помощь студентам 1 30.04.2009 23:34
Не могу понять, что требуется? Shuraken Общие вопросы Delphi 2 10.08.2007 11:41