Написать программу, записывающую во внешний файл свою фамилию, а потом считывающую её - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать программу, записывающую во внешний файл свою фамилию, а потом считывающую её.
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <ctype.h>
 
void main()
{int i,n,m;
 char *familiya;
 clrscr();
 printf("vvedite  familiyu: \n");
// scanf("%s%s",familiya);
   gets(familiya);
 
familiya[0]=toupper(familiya[0]);
 
 m=strlen(familiya);
 for(i=1;i<m;i++)
 familiya[i]=tolower(familiya[i]);
 
 printf("\n%s %s",familiya);
 getch();
}
Правильно ли я составила программу?

Решение задачи: «Написать программу, записывающую во внешний файл свою фамилию, а потом считывающую её»

textual
Листинг программы
#include <stdio.h>
#include <Windows.h>
 
#define ER perror ("Error");\
        printf ("\n");\
        system ("pause");\
        exit (1)
 
#define out_file "C:\\09_10_10\\family.txt"
 
int main(int argc, char* argv[])
{
    char buf[BUFSIZ];
    FILE *out;
 
    if ( ! ( out = fopen (out_file, "w+") ) )
    {
        ER;
    }
 
 
    printf (" Enter family : ");
    fgets (buf, BUFSIZ, stdin);
 
    if ( fputs (buf, out ) == EOF )
    {
        ER;
    }
 
    if ( fseek (out, 0, SEEK_SET ) )
    {
        ER;
    }
 
    if (  ! fgets (buf, BUFSIZ, out) )
    {
        fprintf (stderr, "Error \n"); 
        system ("pause");
        exit (1);
    }
 
    printf ("\n Family : %s\n ", buf);
 
    fclose (out);
 
    system ("pause");
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и консолью
  2. Определение макроса ER, который выводит сообщение об ошибке, переходит к следующей строке, приостанавливает выполнение программы и завершает её с кодом 1
  3. Установка пути к файлу, в который будут записываться данные
  4. Создание переменной buf для хранения вводимых пользователем данных
  5. Открытие файла family.txt в режиме записи (если файл не существует, он будет создан)
  6. Вывод сообщения «Введите фамилию»
  7. Считывание фамилии с помощью функции fgets в buf
  8. Запись фамилии в файл family.txt с помощью функции fputs
  9. Переход к началу файла с помощью функции fseek
  10. Считывание фамилии из файла family.txt в buf
  11. Вывод сообщения «Фамилия: » и считанной фамилии
  12. Закрытие файла family.txt
  13. Ожидание нажатия клавиши для завершения работы программы
  14. Возврат 0, что означает успешный конец работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы