Форум программистов, компьютерный форум CyberForum.ru

Работа с файлами - C++

Восстановить пароль Регистрация
 
PITON369
0 / 0 / 0
Регистрация: 15.12.2008
Сообщений: 4
09.06.2010, 09:29     Работа с файлами #1
Случайным образом создать таблицу пар значений и записать её в текстовый файл в виде:
n * c
5 * m
7 * a
3 * q и т.д.
Считать из файла пары значений и создать из них другой текстовый файл вида
mmmmm
aaaaaaa
qqq
Вот что я пока сделал:
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
34
35
36
37
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include<time.h>
#include<math.h>
using namespace std;
const int a=15;
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<a;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<a;i++)
{
fscanf(fp,"%f %f", &x ,&y);
fprintf(ft,"%f",&y);
fscanf(fp,"\n");
fprintf(ft,"\n");
}
fp=fopen("in.txt","r");
 
printf("  n : c\n");
while ((c=fgetc(fp))!=EOF) printf("%c",c);
fclose(ft);
fclose (fp);
_getch();
}


Только я не знаю как сделать, чтобы генерировались буквы и ошибка в выводе во второй файл
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2010, 09:29     Работа с файлами
Посмотрите здесь:

C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами
C++ С++ Работа с файлами!!!!
C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами
Работа с файлами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
09.06.2010, 16:00     Работа с файлами #2
Цитата Сообщение от PITON369 Посмотреть сообщение
Только я не знаю как сделать, чтобы генерировались буквы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <time.h>
using namespace std;
 
void main()
{
    int i;
    char k;
    srand(time(NULL));
    /*for(int i = 0; i < 256; ++i)
        cout<<i<<' '<<(char)i<<endl;*/
    i=97+rand()%26;
    cout<<"i: "<<i<<endl;
    k=char(i);
    cout<<"k: "<<k<<endl;
}
Можно так )
P.S. кодировка символов в С++

Добавлено через 5 часов 11 минут
Вот так вроде работает
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include<time.h>
#include<math.h>
using namespace std;
const int a=15;
void main()
{
    time_t t;
    srand(time(&t));
    int i,c=0, j;
    char y1;
    int x,y;
    FILE *fp, *ft;
 
    fp=fopen("in.txt", "w");
    if (!fp)
    {
        cout<<"Error";
        return;
    }
    for(i=0;i<a;i++)
    {
        x=1+rand()%10;
        y=97+rand()%26;
        y1=char(y);
        fprintf(fp,"%3.li:%3.lc\n",x,y1);
    }
    fclose(fp);
 
    fp=fopen("in.txt", "r");
    ft=fopen("out.txt","wt");
 
    for(i=0;i<a;i++)
    {
        fscanf(fp,"%i : %c", &x ,&y1);
        for (j=0; j<x; j++)
            fprintf(ft,"%c",y1);
        fscanf(fp,"\n");
        fprintf(ft,"\n");
    }
    fclose(fp);
    fp=fopen("in.txt","r");
 
    printf("  n : c\n");
    while ((c=fgetc(fp))!=EOF) printf("%c",c);
    fclose(ft);
    fclose (fp);
    _getch();
}
Ошибка в строчке
C++
1
fprintf(ft,"%f",&y);
Вы почему-то записывали в файл адрес переменной
PITON369
0 / 0 / 0
Регистрация: 15.12.2008
Сообщений: 4
09.06.2010, 22:23  [ТС]     Работа с файлами #3
спасибо за помощь, теперь вроде все работает=)
Yandex
Объявления
09.06.2010, 22:23     Работа с файлами
Ответ Создать тему
Опции темы

Текущее время: 15:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru