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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
#1

записывает в файл каракули - C++

08.12.2012, 20:18. Просмотров 433. Ответов 9
Метки нет (Все метки)

почему когда я ввожу данные мне в файл записывает каракули, и такое же когда ввивоже из файла на экран?
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
53
54
55
56
57
58
59
60
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cctype>
#include <string.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
int size=0;
 
using namespace std;
 
struct info{
       char name[20];
       char zodiak[20];
       char data[3];
       };
void inp(info &A);
void out(info &A);
 
int main()
{
    info A;
    inp(A);
    getch();
    return 0;
}
 
void inp(info &A){
    FILE *f;
    f=fopen("d://1.txt","ab");
        size++;
        cout<<"Enter:"<<endl;
        cout<<"Name"<<endl;
        cin>>A.name;
        cout<<"Zodiak"<<endl;
        cin>>A.zodiak;
        cout<<"data"<<endl;
        cin>>A.data;
        fwrite(&A,sizeof(A),1,f);
    fclose(f);
    out(A);
}
 
void out(info &A)
{
     FILE *f;
     f=fopen("d://hrupalik.txt","rb");
     for(int i=0;i<size;i++){
     fread(&A, sizeof(A), 1, f);
        cout<<"Name:  ";
        cout<<A.name<<endl;
        cout<<"Zodiak:  ";
        cout<<A.zodiak<<endl;
        cout<<"data:  ";
        cout<<A.data<<endl;
    }
        fclose(f);
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 20:18     записывает в файл каракули
Посмотрите здесь:

Не записывает в файл - C++
писал на visual studio, надо переделать на dev. товарищи, помогите. какая-то фигня с fаpp #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

Не записывает в файл - C++
посмотрите и исправьте ошибку в коде #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; double f(double uu,double vv)...

не записывает в файл - C++
суть - записать из 3-х файлов в 1 и обратно #define _CRT_SECURE_NO_WARNINGS #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include...

Не записывает в файл - C++
#include &quot;stdafx.h&quot; #include &lt;list&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; #include...

Не записывает в файл - C++
Доброго времени суток. Написал код, который должен открывать файл, находить в нем определенный символ и заменять его на другой. Все...

Не записывает в файл - C++
Здравствуйте! Сделал сортировку,но почему то не записывается в файл. Сам код: #include&lt;iostream&gt; #include&lt;fstream&gt; using...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
08.12.2012, 20:19     записывает в файл каракули #2
надеюсь, ты латиницей пишешь.
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 20:23  [ТС]     записывает в файл каракули #3
Ввожу следующие данные:
asdf
dfgh
cvbn
что записывает в файл:

asdf АwяяяягВБwёВwdfgh 7>  *®Вwй¶Ђ|cvbassdf АwяяяягВБwёВwef А7>  *®Вwй¶Ђ|rg
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 20:25     записывает в файл каракули #4
поле дата в структуре имеет размер 3. тут уже 4 символа
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 20:28  [ТС]     записывает в файл каракули #5
Вот другой пример:
Входные данные:
Andriy
Lev
123
Что в файл записалось:
Andriy wяяяягВБwёВwLev А7>  *®Вwй¶Ђ|123
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:04     записывает в файл каракули #6
tokar2, все верно. вот есть чаровый массив на 20 элементов. А в него заносится слово длиной 5 символов. итого в масмиве будет: 5 символов слова, 1 символ конца строки и 14 символов со случайными значениями
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 21:14  [ТС]     записывает в файл каракули #7
Здесь выскочила еще одна проблема: не работает функция edit она редактирует профиль того человека которого введем с клавиатуры! Что в ней не так?

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cctype>
#include <string.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
int size=1;
 
using namespace std;
 
struct info{
       char name[6];
       char zodiak[6];
       char data[6];
       };
void inp(info &A);
void out(info &A);
void rando_m(info &A);
void edit(info &A);
 
int main()
{
      info A;
    cout<<"1)Enter people"<<endl;
    cout<<"2)cout people"<<endl;
    cout<<"3)Random people"<<endl;
    cout<<"4)Redag people"<<endl;
    while(1)
    {
      int c;
      cin>>c;
      switch(c)
      {
        case 1: inp(A); break;
        case 2: out(A); break;
        case 3: rando_m(A); break;
        case 4: edit(A); break;
             }}
  
    getch();
    return 0;
}
 
void inp(info &A){
    FILE *f;
    f=fopen("d://1.txt","ab");
        size++;
        cout<<"Enter:"<<endl;
        cout<<"Name"<<endl;
        cin>>A.name;
        cout<<"Zodiak"<<endl;
        cin>>A.zodiak;
        cout<<"data"<<endl;
        cin>>A.data;
        fwrite(&A,sizeof(A),1,f);
    fclose(f);
}
 
void out(info &A)
{
     FILE *f;
     f=fopen("d://1.txt","rb");
     for(int i=0;i<size;i++){
     fread(&A, sizeof(A), 1, f);
        cout<<"Name:  ";
        cout<<A.name<<endl;
        cout<<"Zodiak:  ";
        cout<<A.zodiak<<endl;
        cout<<"data:  ";
        cout<<A.data<<endl;
    }
        fclose(f);
 }
void rando_m(info &A){
     int n=0;
     cout<<"Enter ckilku random:  ";
     cin>>n;
        size+=n;
     char* name_1[6]={"Andriy Hrupaluk","Skveres Sergiy","Predko Sila","Demankhuk Mukola"," Bogdan Cemenivuch","Vasa Petrenko"};
     char* zodiak_1[12]={"Aries","Taurus","Gemini","Cancer","Leo","Virgo","Libra",
                     "Scorpio","Sagittarius","Capricorn","Aquarius","Pisces"};
     char* data_1[4]={"11 22 2012","12 11 2010","12 11 2011","12 11 2098"};
     FILE *f;
     f=fopen("d://1.txt","ab");
     for(int i=0;i<n;i++){
          strcpy(A.name,name_1[rand()%6]);
          strcpy(A.zodiak,zodiak_1[rand()&12]);
          strcpy(A.data,data_1[rand()%4]);
          fwrite(&A,sizeof(A),1,f);
       }
       fclose(f);
       out(A);
       }
 
void edit(info &A){
  info K;
  FILE *f, *f1;
  bool result = false;
  f=fopen("1.txt", "r+b");
  f1=fopen("text1.txt", "w+b");
  if (f==NULL||f1==NULL) {
    cout<<"Error"<<endl;
  }
  else {
    if (size==0) {
      cout<<"Spisok is Empty"<<endl;
    }
    else {
      cout<<"Enter prizv for redag"<<endl;
      cin>>K.name;
      for (int i = 0; i < size; i++) {
        fread(&A, sizeof(A), 1, f);
        if (strcmp(A.name,K.name)==0) {
          cout<<"New name"<<endl;
          cin>>K.name;
          cout<<"New zodiak"<<endl;
          cin>>K.zodiak;
          cout<<"New date"<<endl;
          cin>>K.data;
          fwrite(&K, sizeof(K), 1, f1);
        }
        else
          fwrite(&A, sizeof(A), 1, f1);
      }
      if (result == false) {
        cout<<"Nema prizvuca"<<endl;
      }
    }
  }
  freopen("1.txt", "wb", f);
  freopen("text1.txt", "rb", f1);
  for (int i = 0; i < size; i++) {
    fread(&A, sizeof(A), 1, f1);
    fwrite(&A, sizeof(A), 1, f);
  }
  fclose(f1);
  fclose(f);
  cout<<endl;
}
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:26     записывает в файл каракули #8
эм, а в чем проблема? как она проявляется?
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
08.12.2012, 21:27  [ТС]     записывает в файл каракули #9
Выводит сообщение что нет такого имени!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 21:33     записывает в файл каракули
Еще ссылки по теме:

Не записывает в файл? - C++
Не записывает результат преобразования в файл, пожалуйста помогите! #include &lt;stdio.h&gt;//Подключение библиотеки стандартного...

Записывает в файл не по условию - C++
Вот код одной из функций основной программы,я не понимаю,почему в файл записывает не по условию,а записывает все Должно записывать только...

В файл не записывает массив - C++
Добрый вечер. Есть двумерный строковый массив размером 10x80. При в воде массива создаётся файл, но массив туда не записывается....

Не записывает ничего в файл - C++
Добро всем утро! Надеюсь хоть у кого-то оно доброе=) Помогите пжл с программой(написать либо подправить). Задача следующая: &quot;Создать...


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

Или воспользуйтесь поиском по форуму:
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.12.2012, 21:33     записывает в файл каракули #10
Проверьте, с каким именем происходит сравнение. или отладчиком, или выводом на экран
Yandex
Объявления
08.12.2012, 21:33     записывает в файл каракули
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru