Работа с файлами

Тема в разделе "Общие вопросы по С и С++", создана пользователем piton369, 9 июн 2010.

  1. piton369

    piton369 Гость

    Случайным образом создать таблицу пар значений и записать её в текстовый файл в виде:
    n * c
    5 * m
    7 * a
    3 * q и т.д.
    Считать из файла пары значений и создать из них другой текстовый файл вида
    mmmmm
    aaaaaaa
    qqq
    Вот что я пока написал:
    Код (C++):
    #include "stdafx.h"
    #include <iostream>
    #include <stdio.h>
    #include <conio.h>
    #include<time.h>
    #include<math.h>
    using namespace std;
    void main()
    {time_t t;
    srand(time(&t));
    int i,c=0;
    float x,y;
    FILE *fp, *ft;
    fp=fopen("in.txt", "w");
    for(i=0;i<15;i++)
    {
    x=rand()%100/10.0f;
    y=rand()%100/10.0f;
    fprintf(fp,"%3.lf:%3.lf\n",x,y);
    }
    fclose(fp);
    fp=fopen("in.txt", "r");
    ft=fopen("out.txt","w");
    for(i=0;i<15;i++)
    {fscanf(fp,"%f",&x);
    fscanf(fp,"%f",&y);
    fprintf(ft,"%3.lf",y);
    while(x=0)
    {
    fprintf(ft,"%3.lf",y);
    x=x-1;
    }
    }
    fclose(fp);
    fclose(ft);
    fp=fopen("in.txt","r");
    printf(" n : c\n");
    while ((c=fgetc(fp))!=EOF)
    printf("%c",c);
    fclose (fp);
    }

    Я не знаю как заполнять буквами и ошибка в заполнении второго файла, помогите пожалйуста
     
  2. ВЛас

    ВЛас New Member

    Регистрация:
    4 апр 2008
    Сообщения:
    3
    Симпатии:
    0
    Задание следует конкретизировать, например так:

    Случайным образом создать таблицу 15 пар значений n * c,
    где n – случайное число в диапазоне от 1 до 10,
    с – символ с кодом ASCII от 97 до 122,
    (числа и символы могут повторяться)
    и записать её на экран и в текстовый файл в виде:

    5 * m
    7 * a
    3 * q и т.д.

    Считать из файла пары значений, записать на экран
    и создать из них другой текстовый файл вида
    mmmmm
    aaaaaaa
    qqq

    А вот решение на С++, создано, проверено и отлажено в Visual C++ 2008.

    Код (C++):
    #include <iostream>
    #include <fstream>
    #include <cstdlib>
    #include<time.h>
    using namespace std;
    void main()
    {

    int n;
    char c;


    srand(time(NULL));
    // создание исходного файла
    ofstream fp;
    fp.open("in.txt");
    for(int i=1;i<=15;i++)
    {
    n=1 + rand() % 10;
    c=97 + rand() % 24;
    fp << n << " * " << c << endl;
    cout << n << " * " << c << endl;
    }
    fp.close();

    cout << endl;
    // создание конечного файла
    int ii=0;
    char ch[2];

    ifstream fp1;
    fp1.open("in.txt");

    ofstream ft;
    ft.open("out.txt");

    for(int i=1;i<=15;i++)
    {
    fp1 >> n >> ch >> c; // чтение данных из файла
    ii=0;
    while (ii < n)
    {
    cout << c;// вывод в консольное окно
    ft << c;// вывод в файл
    ii++;
    }
    cout << endl;
    ft << endl;
    }
    fp1.close();
    ft.close();
    }
     
  3. piton369

    piton369 Гость

    класс, спасибо, все работает=)
     
  4. Poloz

    Poloz Гость

    Здравствуйте, помогите пожалуйста. Есть файл с таким содержанием

    input.txt
    2115959972 1097468422
    926583362 511606919
    2540269021 462145303
    3944088823 962858646
    1378309145 185548767
    184384886 723230571
    758674860 153732082
    235924252 3413274775
    2101168336 4091192498
    1604482021 1434320407

    нужно прочитать его и каждую строку записать в отдельный элемент массива. Единственное до чего смогла додуматься - это считать просто весь файл в переменную..но для работы основной программы это неприемлимо.

    Код (C++):
    int main()
    {
    char tmp[22];
    FILE *input;
    input = fopen("input.txt","rb");   
    while(!feof(input))
    {                      
    fgets(tmp,22,input);
    cout<<tmp;
    }

    return 0;
    }
    П.С. никто не писал программу расчета S-блоков?
     
  5. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.470
    Симпатии:
    27
    Меняйте профессию.
     
  6. piton369

    piton369 Гость

    Делайте через цикл
     
  7. abdyla_v

    abdyla_v Гость

    Наталья, прочитать и получать каждую строку уже ты можеш. Осталось понять куда ты хочеш затолкнуть эту строку? В масив строк или другое?
     
Загрузка...
Похожие Темы - Работа файлами
  1. gx6060
    Ответов:
    2
    Просмотров:
    433
  2. seoman2
    Ответов:
    21
    Просмотров:
    767
  3. NickProstoNick
    Ответов:
    22
    Просмотров:
    1.526
  4. vladis222
    Ответов:
    3
    Просмотров:
    1.128
  5. Lyuska
    Ответов:
    1
    Просмотров:
    1.171

Поделиться этой страницей