Ввод строки с клавиатуры и запись в файл - C (СИ)

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

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

Давно не практиковалась в написании программ на Си, поэтому прошу помочь с заданием. Необходимо ввести с клавиатуры набор положительных целых чисел по возрастанию (пользователь сам вводит числа по возрастанию) через пробел и записать в файл. Признак конца ввода данных в файл - набор нуля. Вот что пока имею:
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include <ctype.h>
 
void main()
{
    int i,n;
    int a[20];
    printf ("VVedite stroky chisel v poryadke vozrastaniya: \n");
    while (a[i]!='\0')
      gets(a);
      printf("%s\n",a);
    scanf("%d",&a[i]);
chdir("c:"); 
FILE *f=fopen("file1.txt", "w");
fprintf(f, a);
fclose(f);
}
Оно не работает. Помогите, пожалуйста.

Решение задачи: «Ввод строки с клавиатуры и запись в файл»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
const int N = 10;
int main()
{
    int i = 0, a[N];
    char str[80];
    FILE *f1, *f2, *f3;
    f1 = fopen("file1.txt", "w");
    f2 = fopen("file2.txt", "w");
    f3 = fopen("file3.txt", "w");
    printf ("Dlya massiva 1 vvedite stroky chisel v poryadke vozrastaniya: \n");
    while (i < N){
        scanf("%d", &a[i]);
        ++i;
    }
 
    for(i = 0; i < N; ++i)
        fprintf(f1, "%d ", a[i]);
    printf ("\nDlya massiva 2 vvedite stroky chisel v poryadke vozrastaniya: \n");
    i = 0;
    while (i < N){
        scanf("%d", &a[i]);
        ++i;
    }
    for(i = 0; i < N; ++i)
        fprintf(f2, "%d ", a[i]);
    fclose(f1);
    fclose(f2);
    f1 = fopen("file1.txt", "r");
    f2 = fopen("file2.txt", "r");
 
    while(NULL != fgets(str, 80, f1)){
        fprintf(f3, "%s", str);
    }
    while(NULL != fgets(str, 80, f2)){
        fprintf(f3, "%s", str);
    }
    fclose(f1);
    fclose(f2);
    fclose(f3);
    return 0;
}

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


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

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

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