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

Чтение структуры из файла и запись нового - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Helo World на программе CodeBlocks http://www.cyberforum.ru/cpp-beginners/thread113441.html
Привет. Кодеблокс - свободная среда разработки, поэтому охота с ней поковыряться. Я начинающий, пришел за помощью в практической части. Итак.. запускаем :) Жмём как я понял file - new - project, появляется окно с выбором. Вот тут первые проблемы выбора. С одной стороны нужна прога для винды (project - Win32 GUI), с другой стороны нужно писать на си (files - c/c++header или source). Что...
C++ Цикл - сдвиг строки в право Неправильно выполняется программы, нужно чтобы строка сдвигалась на один символ в право. Проверьте пожалуйста цикл на правильность. //Row.h class Row { protected: char *Str; public: Row(char* pS); ~Row(); int LengthStr(); http://www.cyberforum.ru/cpp-beginners/thread113434.html
Написать и протестировать функцию C++
Задача 49 Написать и протестировать функцию, которая по заданному натуральному числу определяет его первую и последнюю цифры.
C++ Написать и протестировать функцию
Задача 49 Написать и протестировать функцию, которая по заданному натуральному числу определяет его первую и последнюю цифры. Задача 50 Написать и протестировать функцию, которая по натуральному k и вещественным вычисляет значение , используя следующую итерационную формулу: В качестве результата берется то значение , для которого
C++ Сдвиг строки вправо http://www.cyberforum.ru/cpp-beginners/thread113423.html
Нужно написать программу по наследованию которая измеряет длину строки и сдвигает строку в право на один символ. Программа выдает следующую ошибку: variant 11 nasledovanie.cpp d:\мои документы\visual studio 2008\projects\variant 11 nasledovanie\variant 11 nasledovanie\variant 11 nasledovanie.cpp(14) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int...
C++ Зависание на деструкторе. Всем доброго времени суток! Проблема такая: есть класс cData в нём статический член staric int amount, при вызове конструктора увеличиваем amount на 1, в деструкторе уменьшаем на 1, получается что то вроде счётчика сущуствующих экземпляров. В другом классе cDataArray есть члены cData *data1 и cData *data2, для них сначало выделяю динамически память спомощью new, потом пытаясь удалить (delete... подробнее

Показать сообщение отдельно
artem0n2
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
12.04.2010, 13:39  [ТС]     Чтение структуры из файла и запись нового
компилятору не нравится =( почему используется int cmpfunc для сортировки, если name у меня char?

Добавлено через 23 минуты
http://www.cyberforum.ru/cpp-beginners/thread82932.html
вот то что мне надо, не могу совместить со своей прогой из-за того, что там человек использует void функции

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int j,k;
 chelovek p;
 for(j=0; j<99; j++)
  {
   for(k=0; k<99; k++)
    {
     if(strcmp(chelovek[j].name,info[k].name)<0)
          {
       p=info[j];
       info[j]=info[k];
       info[k]=p;
      }
    }
  }
вставил после ввода данных, не работает

Добавлено через 5 минут
нашёл ошибку, сделал упорядочивание, осталось немного сделать, вот прога
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
typedef struct
{ 
char AS[50];
char Tel[50];
} mesto;
 
typedef struct
{
char name[100];
mesto rabota;
} chelovek;
 
int main()
{
        char Asutus[50];
        chelovek info[500];
        FILE *base;
        base=fopen("f1.txt","r");
        char s1;
        char s2;
        int i = 0;
        char buf[100];
        
        
        while(!feof(base))
        {
 
                fgets (buf, 100, base);
                strcpy (info[i].name, buf);
 
                fgets (buf, 50, base);
                strcpy (info[i].rabota.AS, buf);
 
                fgets (buf, 50, base);
                strcpy (info[i].rabota.Tel, buf);      
                i++;
        }
        printf("What kind of job?  ");
        scanf("%s", &Asutus);
int j,k;
 chelovek p;
 for(j=0; j<99; j++)
  {
   for(k=0; k<99; k++)
    {
     if(strcmp(info[j].name,info[k].name)<0)
          {
       p=info[j];
       info[j]=info[k];
       info[k]=p;
      }
    }
  }        
        
for(int i = 0;i<99;i++){
        if(strcmp(info[i].rabota.AS, Asutus) == 1){
                                      printf("%s",info[i].name);
                                      printf("%s",info[i].rabota.AS);
                                      printf("%s",info[i].rabota.Tel);
                                      }
        
        
        }
 
 
 
        
 
getch();
}
Добавлено через 17 минут
всё, самый последний вопрос по этой программе, как сдлать чтобы она записывала результаты сравнения в отдельный txt файл?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru