Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 34
1

Записать в выходной файл все слова начинающиеся с буквы заданной пользователем

04.03.2013, 20:33. Показов 1154. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте дорогие форумчане! Есть вот такое задание на языке С. Нужно разработать программу которая должна записывать в выходной файл все слова начинающиеся с буквы заданной пользователем. Не знаю как доделать цикл, какое условие там надо, кто знает??
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
#include <stdio.h>
#include <locale.h>
FILE *A, *B;
void main () {
char x, c, y, n, b;
if ((A=fopen("test1.txt","rt"))==NULL){
printf ("Oshibka otkritita faila test1.txt");
return;}
 if ((B=fopen("test2.txt","a+"))==NULL){
printf ("Oshibka otkritia faila test2.txt");
return;}
printf ("BBegiTe 6ykBy\n");
scanf ("%с",&n);
x=fgetc(A); b=fgetc(A);
if (x!=' ') b=x;
while (b!=EOF)
{
 
    if((x==' ')&&(b!=' ')&&(b==n));
        while ((b!=' ')||(b!=EOF)){
             //вот здесь должно быть ещё какое то условие
fputc(b,B);
b=fgetc(A);}
}
fclose(A);
fclose(B);  
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2013, 20:33
Ответы с готовыми решениями:

Выделить из строки str1 все слова, начинающиеся с гласной буквы, а из строки str2 - слова, начинающиеся с согласной
Выделить из строки str1 все слова, начинающиеся с гласной буквы, а из строки str2 - слова,...

Вывести все слова файла text1.txt, начинающиеся с гласных букв латинского алфавита. Результат записать в файл
Вывести все слова файла text1.txt, начинающиеся с гласных букв латинского алфавита. Результат...

Вывести слова начинающиеся с заданной буквы
Ввести строку и букву, вывести только слова, начинающиеся с заданной буквы. Помогите написать...

Вывести слова начинающиеся с заданной буквы
Ввести строку и букву, вывести только слова, начинающиеся с заданной буквы. #include &lt;stdio.h&gt;...

2
213 / 202 / 85
Регистрация: 09.05.2012
Сообщений: 494
04.03.2013, 21:00 2
используйте fscanf с форматом %s. семейство функций чтения *scanf читают строки до первого разделителя(например, пробела или переноса на новую строчку), таким образом можно почти безобидно считывать все слова из файла. дальше вам остается лишь проверять первый символ каждой строки на соотвествие введеному с клавиатуры пользователем символом и если результат такой проверки положительный - записать слово в файл:

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
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char** argv){
    FILE* in;
    FILE* out;
    if((in = fopen("in", "r")) == NULL){
        printf("Error opening file 'in'");
        return 0;
    }
    if((out = fopen("out", "w")) == NULL){
        printf("Error opening file 'out'");
        fclose(in);
        return 0;
    }
 
    printf("Enter a letter>");
    int c = getchar();
 
    while(!feof(in)){
        char word[32];
        fscanf(in, "%s", word);
        if(word[0] == c){
            // так как нигде небыло указано, то я
            // решил записывать каждое слово с новой сточки.
            fprintf(out, "%s\n", word);
        }
    }   
    
    fclose(in);
    fclose(out);
    return 0;
}
1
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 34
05.03.2013, 08:26  [ТС] 3
Спасибо за подсказку, теперь у меня другая проблемка связанная с компилятором
C
1
(18): error C2143: синтаксическая ошибка: отсутствие ";" перед "тип"
C
1
(23): error C2065: c: необъявленный идентификатор
я знаю что это связанно со стандартом С89, и надо описать переменную в начале блока, но как бы я не колдовал, то одну ошибку то другую, может вы знаете как правильно описать её в начале блока??
0
05.03.2013, 08:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2013, 08:26
Помогаю со студенческими работами здесь

В символьной строке удалить все слова, начинающиеся с гласной буквы
Добрый день,есть задание:В символьной строке удалить все слова, начинающиеся с гласной...

Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а»
Дана строка символов до точки. Удалить из нее все слова, начинающиеся с буквы «а».

Создать новый текстовый файл, в каждой строке которого записаны слова, начинающиеся с буквы ‘a’
Дан текстовый файл, в каждой строке которого записано по несколько слов, разделенных пробелом....

Удалить из текста все слова, начинающиеся с согласных, а остальные переписать во второй файл
Удалить из текста все слова, начинающиеся с согласных. Остальные переписать во второй файл. Но при...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru