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

Заполнение файла random - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму нечётных элементов массива http://www.cyberforum.ru/cpp-beginners/thread726226.html
Здравствуйте, помогите, пожалуйста, вычислить сумму нечётных элементов двумерного массива для каждого столбца, результаты занести в одномерный массив. Спасибо.
C++ Пошаговый ввод данных Выполнить задание без хранения последовательности значений. Вводится последовательность из n ненулевых целых чисел. Определить, сколько раз в этой последовательности меняется знак чисел. http://www.cyberforum.ru/cpp-beginners/thread726208.html
Класс матрица C++
Прошу помочь с практическим заданием. Нужно создать класс матрица Данный класс содержит указатель на long, размер строк и столбцов и состояние ошибки. Определить конструктор без параметров,...
C++ Как управлять наследниками через базовый класс
Всем привет)Есть вот одна проблема. Хочу управлять объекты через другие объекты. Допустим есть базовый класс class base { protected: int count; public: base(){count = 0;};
C++ Распределение памяти под объекты числовых типов. Не могу понять http://www.cyberforum.ru/cpp-beginners/thread726200.html
Может быть немного не в тему пишу, т.к. этот вопрос не относится конкретно к языку С++, просто столкнулся с этим, когда начал изучать этот язык. Буду объяснять суть проблемы на языке С++. Допустим,...
C++ Логарифм #include <iostream> using namespace std; #include <math.h> #include <conio.h> #include <windows.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); double Sum=0,x,i; подробнее

Показать сообщение отдельно
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229

Заполнение файла random - C++

10.12.2012, 16:15. Просмотров 527. Ответов 13
Метки (Все метки)

Почему когда я ввожу данные вручную то все хорошо записывает, а когда рондомом то по два имени?
проблема в функции
C++
1
void rando_m(info &A)
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
#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[6];
       char zodiak[6];
       char data[3];
       };
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 ckiku random:  ";
     cin>>n;
        size+=n;
     char* name_1[6]={"Andriy","Sergiy","Predko","Mukola","Bogdan","Vasili"};
     char* zodiak_1[4]={"Aries1","Taurus","Gemini","Cancer"};
     char* data_1[4]={"123","456","789","321"};
     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()%4]);
          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("d://1.txt", "r+b");
  f1=fopen("d://text1.txt", "w+b");
  if (f==NULL||f1==NULL) {
    cout<<"Error"<<endl;
  }
  else {
    if (size==0) {
      cout<<"Spisok is Empty"<<endl;
    }
    else {
      cout<<"Enter name 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 data"<<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("d://1.txt", "wb", f);
  freopen("d://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;
}
[Удалено по просьбе автора]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru