2014-09-01 4 views
-5

У меня есть следующая задача:гласных слов, используя функцию

  1. Создать новый текстовый файл и назовите его TEXT1.txt. Напишите следующее содержимое в текстовом файле:

    Всегда присутствовать на вашей лекции и учебные классы

    Использование языка программирования C.

    • Создайте функцию с именем vowelwords(). Эта функция считывает содержимое файла TEXT1.txt и выводит на экран слова, которые не начинаются ни с заглавной или строчной гласной (то есть с «a», «e», «i», «o», «u») , Например, если TEXT1.txt содержит файл:

      Ooi Chee Pun! Всегда посещать ваши лекции и учебные классы

      затем

      Чи Каламбур! ваши занятия по лекционным занятиям

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

    • Напишите функцию main(), которая вызывает созданную функцию vowelwords().

  2. Измените функцию vowelwords() в части 1, чтобы написать слова, которые не начинаются либо с прописной или строчной гласной в новый текстовый файл с именем TEXT2.txt.

Я не сделал до следующей части, и мой результат как:

lwys ttnd год lctr й ttrl clsss

Но это должно быть:

ваш уроки лекций

Вот мой код:

#include <stdio.h> 

int main() 
{ 
    FILE *fPtr; 
    int c; 
    char vowel[50]; 
    fPtr = fopen("TEXT1.txt","r"); 
    c = getc(fPtr); 
    while(c!= EOF) { 
     if((c == 'A')||(c == 'a')||(c == 'E')||(c == 'e')||(c == 'I')||(c == 'i') 
     ||(c == 'O')||(c == 'o')||(c == 'U')||(c =='u')){ 
      c = 0; 
     } 
     else 
      putchar(c); 
     c=getc(fPtr); 
    } 
    fclose (fPtr); 
    return 0; 
} 

Как я должен изменить код так, чтобы он работает, как описано в задаче?

+1

Пожалуйста, пост код, который вы имеете до сих пор и описывают результаты, которые вы получили. (Или это вопрос «сделайте мою домашнюю работу для меня»?) –

+0

Это просто ваше задание. У вас есть конкретный вопрос? – csmckelvey

+0

http://meta.programmers.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems –

ответ

0

Наконец-то я нашел способ решить эту проблему. Большое спасибо за ваши отзывы.

#include <stdio.h> 
#include <stdlib.h> 

void vowelwords(){ 
    FILE *file; 
    char line[48]; 
    file = fopen("TEXT1.txt", "r"); 
    if (!file) 
     return 1; 
    fgets(line, 48, file); 
    fclose(file); 

    char *pch; 
    pch = strtok(line, " ,.-"); 
    while (pch != NULL) 
    { 
     if (pch[0] == 'a' || pch[0] == 'A' || pch[0] == 'e' || pch[0] == 'E' || pch[0] == 'i' 
     || pch[0] == 'I' || pch[0] == 'o' || pch[0] == 'O' || pch[0] == 'u' || pch[0] == 'U') 
     { 
     } 
     else 
      printf ("%s ", pch); 
     pch = strtok (NULL, " ,.-"); 
    } 
} 

int main() 
{ 
    vowelwords(); 
    return 0; 
} 

И на вопрос 2 ответа является

#include <stdio.h> 
#include <stdlib.h> 
void vowelwords(); 
int main() 
{ 
     FILE *file , *fp; 
    char line[100]; 
    file = fopen("TEXT1.txt", "r"); 
    if (!file) 
     return 1; 
    fgets(line,100, file); 
    fclose(file); 
    fp = fopen("TEXT2.txt","w"); 
    if(fp == NULL){ 
    printf("Error in opening the file"); 
     return 1; 
} 
char * pch; 
pch = strtok (line," ,.-"); 
while (pch != NULL) 
{ 
if (pch[0] == 'a' || pch[0] == 'A' || pch[0] == 'e' || pch[0] == 'E' || pch[0] == 'i' || 
    pch[0] == 'I' || pch[0] =='o' || pch[0]=='O' || pch[0] == 'u' || pch[0] == 'U'){ 
} 
else 
fprintf (fp,"%s ",pch); 
pch = strtok (NULL, " ,.-"); 
} 
printf("\n\n\n\n"); 
return 0; 
} 
+0

Хорошо, но давайте укажем, что 'return 1;' в 'void' не имеет смысла;) – honk

Смежные вопросы