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

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

Войти
Регистрация
Восстановить пароль
 
core123
0 / 0 / 0
Регистрация: 10.11.2009
Сообщений: 15
#1

Символьные строки и текстовые файлы - C++

19.06.2010, 04:22. Просмотров 551. Ответов 6
Метки нет (Все метки)

День добрый. Есть две задачи.

1. Ввести символьную строку. Перед каждым символом 'а' вставить символ '!'. Дополнительных строк не использовать(При выводе строк использовать функцию puts и дополнительных строк не использовать)

2. В текстовом файле содержатся даты типа Date.
C++
1
2
3
4
5
Struct Date
{
char Month[15];
int Day;
};
заменить все даты, у которых поле Month ровно 'Июнь' или 'Июль' на 'Август'.

Помогите кто чем может, заранее спасибо.

Добавлено через 14 часов 29 минут
Upup!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2010, 04:22     Символьные строки и текстовые файлы
Посмотрите здесь:

Строки и текстовые файлы - C++
Дан текст. Словом текста считается любая последовательность букв алфавита; между соседними словами - не менее одного пробела. Перед первым...

Строки символов...текстовые файлы - C++
всем доброго времени суток...очень вас прошу - помогите написать прогу, я вообще не понимаю что тут делать...буду очень благодарен, заранее...

Строки символов . Текстовые файлы... - C++
всем доброго времени суток! Помогите пожалуйста написать программу(кто может)...буду очень благодарен... Выполнить следующие...

Символьные файлы, С++ - C++
Ребят, все перепробовал - не работает, ибо я чайник. Задача: Дан файл f с целыми числами; получить в файле g четные компоненты файла f. ...

Заданы символьные файлы f и g - C++
Заданы символьные файлы f и g. Определить, совпадают компоненты файла f с компонентами файла g. Если нет, то получить номер первого...

Текстовые файлы - C++
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. Как это решить?...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
19.06.2010, 06:36     Символьные строки и текстовые файлы #2
1.
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
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int sz=128;
    char str[sz];
    gets(str);
    int i=0;
    while (i < sz)
    {
        if(str[i]=='a')
        {
            int save=i; i++; char c='a';
            while(i < sz)
            {
                str[i]=str[i]+c;
                c=str[i]-c;
                str[i]=str[i]-c;
                i++;
            }
            i=save;
            str[i]='!'; i+=2;
        }
        i++;
    }
    puts(str);
    return 0;
}
core123
0 / 0 / 0
Регистрация: 10.11.2009
Сообщений: 15
19.06.2010, 19:46  [ТС]     Символьные строки и текстовые файлы #3
Спасибо большое, он кстати не хотел пахать, а через const нормально поехало. А вторая как я понимаю побольше будет...
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.06.2010, 00:15     Символьные строки и текстовые файлы #4
во второй
просто создаешь массив структур Date, потом заполняешь его, потом в цикле проверяешь поле Month, если оно удовлетворяет условию - меяешь значение
C++
1
2
3
4
5
for(int i=0;i!=n;i++)
{
   if(strcmp(DateArray[i].Month,"Jule")==0 or DateArray[i].Month,"June")==0)
        strcpy(DateArray[i].Month,"August");
}
DateArray - массив структур, n - его размер.
core123
0 / 0 / 0
Регистрация: 10.11.2009
Сообщений: 15
20.06.2010, 02:08  [ТС]     Символьные строки и текстовые файлы #5
Спасибо, попробуем, напишу сегодня о попытках...

Добавлено через 5 минут
Ну как я понимаю, текстовый файл создаем до проги к примеру с 5 записями, считываем в консоль, а потом уже идет проверка на условие и этот цикл получается в самом конце.
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.06.2010, 02:37     Символьные строки и текстовые файлы #6
да типа того:
сделай файл, где данные каждой структуры будут располагаться на отдельной строке, первое слово в строке - месяц, второе - день:
January 15
June 4
September 11
October 28
May 9
Jule 15
может я с названиями месяцев ошибся...
затем можно в программе открыть файл на чтение,
и считывать месц, число, месяц, число и т. д.
C++
1
2
3
4
5
6
7
int i=0;
ifstream inputFile("input.txt");
while(!inputFile.eof())
{
    inputFile >> DataArray[i].Month >> DataArray[i].Day;
    ++i;
}
и, наконец, проверка полей структур в массиве и замена, если потребуется, нужных полей. #include <fstream> не забудь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2010, 21:14     Символьные строки и текстовые файлы
Еще ссылки по теме:

текстовые файлы - C++
Дан текстовый файл f.Переписатьв файл g все компоненты файла f с заменой в них символа 0 на символ 1 и наоборот Добавлено через 1 час...

Текстовые файлы - C++
#pragma argsused #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;iterator&gt;- Что вот это за библиотека? и зачем...

Текстовые файлы - C++
Помогите пож-ста с задачкой, условия на фото ниже:) заранее благодарен

Текстовые файлы в С++ - C++
Дан текстовый файл со строками длиной не более 255 символов. Переписать его содержимое в другой текстовый файл по строкам, начиная с...


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

Или воспользуйтесь поиском по форуму:
core123
0 / 0 / 0
Регистрация: 10.11.2009
Сообщений: 15
20.06.2010, 21:14  [ТС]     Символьные строки и текстовые файлы #7
Спасибо, за помощь, буду пробовать, вечером выложу листинг, для корректировки, потому что уверен, что гладко врятли все пройдет, хотябы та-же среда - 2008, пришлось инт на воид использованную среду комментитьь и тп, чтобы запахало. Кстати, а в первой задаче зачем результат 0?? С ним консоль закрывалась даже с ф-цией гетч. По сути ведь в консоле результат то и должен выводиться

Добавлено через 17 часов 35 минут
Я не совсем понял какие функции нужно объявлять? Нужна ли функция вывода из файла?
Получается Объявляем структуру(файл уже создан) Потом функция вывода из файла, затем основной код программы? То есть после компиляции она должна сразу считывать инфу и выводить уже замененные даты?

Добавлено через 41 минуту
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
struct Date
{
char month[15];
int day;
};
 
Date *dates = NULL;
 
int EnterFromFile(char *name)
{
    
    FILE *fptr;
    if ( !(fptr = fopen(name, "r")))
    return 0;
    int n;
    fscanf(fptr, "%d", &n);
    dates = (Date *)malloc(n * sizeof(Date));
    for ( int i = 0; i < n; i++ )
    {
    fscanf(fptr, "%s", dates[i].month);
    fscanf(fptr, "%d", &(dates[i].day));
    }
    return n;
}
 
void Vivod( Date *o)
{
    printf("Month = %s\n", o->month);
    printf("Day = %d\n", o->day);
}
void main(void)
{
    int n,i;        
    char name[20];
    printf("enter filename = ");
    scanf("%s", name);
    n = EnterFromFile(name);
    printf("\n Izmenennie dati\n\n");
 
    for (i = 0; i < n; i++ )
    {
   if((strcmp(dates[i].month,"Jule")==0) || (strcmp(dates[i].month,"June")==0))
      {  
    strcpy(dates[i].month,"August");
    Vivod( &(dates[i]) );
    printf("\n");
   }
    }
    getch();
}
Только не знаю как сделать, без глобальной переменной, не хочет...

Добавлено через 3 минуты
Он выводит получается только 2 даты(если брать ваш список), а я хотел бы чтобы он выводил весь список с уже измененными.
Yandex
Объявления
20.06.2010, 21:14     Символьные строки и текстовые файлы
Ответ Создать тему
Опции темы

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