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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2014, 08:26   #1
Luchfan12
Пользователь
 
Регистрация: 01.03.2014
Сообщений: 37
По умолчанию Заменить в файле все первые буквы в словах на заглавные буквы

File1.txt
иван иванов
File2.txt
иван иванов

Код:
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream>
#include <locale>
#include<cctype>
#include<cstring>
#include<string>
#include<vcl.h>
#pragma argsused
int main(int argc, char* argv[])
{
char help[100];
int n;
setlocale(LC_ALL, "russian_russian");
FILE *f1, *f2;
printf("Input file name\n");
gets(help);
f1 = fopen(help, "rt");
if ((!f1)) {
printf("File not found!");
}
else
{
	f2 = fopen("File2.txt", "wt");
{
	while (fgets(help,99,f1))
{
	help[n] = toupper(help[n]);
	fprintf(f2, "%s", help);
}
}
getch();
return 0;
}
}
//---------------------------------------------------------------------------
Нужно чтобы после выполнения данной программы, строка "иван иванов" из файла File1.txt записалась в File2.txt и поменялась на "Иван Иванов" (в данном случае).Как это реализовать?Прикладываю на всякий случай саму программу
Вложения
Тип файла: rar Program_5.rar (111.6 Кб, 17 просмотров)

Последний раз редактировалось Luchfan12; 15.10.2014 в 08:33.
Luchfan12 вне форума Ответить с цитированием
Старый 15.10.2014, 08:30   #2
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Как это реализовать?
Перевести все буквы первые буквы строк, и буквы после пробелов в верхний регистр.
indexx вне форума Ответить с цитированием
Старый 15.10.2014, 08:41   #3
Luchfan12
Пользователь
 
Регистрация: 01.03.2014
Сообщений: 37
По умолчанию

Я имею ввиду как заменить на заглавные буквы все первые буквы в словах (то есть было "иван иванов", а станет "Иван Иванов").Мне не надо все буквы переводить в верхний регистр
Luchfan12 вне форума Ответить с цитированием
Старый 15.10.2014, 09:01   #4
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Я и не писал что все. Если у тебя проблемы с поиском решения как менять регистр буквы, то я тут точно бессилен.
indexx вне форума Ответить с цитированием
Старый 15.10.2014, 09:25   #5
Luchfan12
Пользователь
 
Регистрация: 01.03.2014
Сообщений: 37
По умолчанию Заменить в файле все первые буквы в словах на заглавные буквы

Код:
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream>
#include <locale>
#include<cctype>
#include<cstring>
#include<string>
#include<vcl.h>
#pragma argsused
int main(int argc, char* argv[])
{
char help[100];
int n;
setlocale(LC_ALL, "russian_russian");
FILE *f1, *f2;
printf("Input file name\n");
gets(help);
f1 = fopen(help, "rt");
if ((!f1)) {
printf("File not found!");
}
else
{
	f2 = fopen("File2.txt", "wt");
{
 for(int n = 0; n < strlen(help);n++){
	  if(help[n-1]==' ' || n-1<0)
	   help[n] = toupper(help[n]);
   } 
fprintf(f2, "%s", help);
}
}
getch();
return 0;
}

//---------------------------------------------------------------------------
Вроде написал, но теперь проблема в том что в File2.txt записывается строка "File1.txt" почему-то, а мне надо чтобы записалась строка "Иван Иванов"
Luchfan12 вне форума Ответить с цитированием
Старый 15.10.2014, 11:29   #6
Scorpius
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 26
По умолчанию

Код:
#include<stdio.h>
#include<conio.h>
#include <locale>
#include<ctype.h>
#include<vcl.h>

int main(int argc, char* argv[])
{
    char help[100];
    int n;
    setlocale(LC_ALL, "");
    FILE *f1, *f2;
    printf("Input file name\n");
    gets(help);
    f1 = fopen(help, "rt");
    if ((!f1))
    {
        printf("File not found!");
    }
    else
    {
    	f2 = fopen("File2.txt", "wt");
        while(!feof(f1))
        {
            fgets(help, 100, f1);
            for(int n = 0; n<strlen(help); n++)
            {
                if((help[n-1]==' ') || ((n-1)<0))
                    help[n] = toupper(help[n]);
            }
            fputs(help, f2);
        }
    }
    getch();
    return 0;
}
Поправил, теперь должно работать правильно.
Не всегда говори то, что знаешь, но всегда знай, что говоришь.
Scorpius вне форума Ответить с цитированием
Старый 15.10.2014, 13:10   #7
Luchfan12
Пользователь
 
Регистрация: 01.03.2014
Сообщений: 37
По умолчанию

Спасибо большое!Теперь всё исправно работает!
Luchfan12 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заглавные буквы aj.matter Помощь студентам 3 03.11.2012 16:17
pascal. строки.заглавные буквы parovoz121 Помощь студентам 1 22.09.2010 08:06
заглавные буквы, прописные ЦЕРЦЕЯ Microsoft Office Excel 1 21.01.2010 14:43
В заданной строке символов заменить все первые буквы слов на заглавные NV-salt Общие вопросы C/C++ 4 05.04.2009 18:41
Строчные буквы в заглавные и наоборот Delphi 7 tarakan1983 Помощь студентам 3 20.03.2009 14:15