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

Реализовать класс вместо структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Как сделать выравнивание по правому боку http://www.cyberforum.ru/cpp-beginners/thread438667.html
вывести на экран числа в следующем виде 1 22 333 4444 55555 666666 7777777 88888888 999999999
C (СИ) В определенном диапазоне switch зацикливается скажите в чём проблема. при выборе 1-4 всё нормально, а 5-9 либо зацикливается либо всё до конца показывает #include <stdlib.h> #include <stdio.h> #include <string.h> #define STR_LEN 64 typedef struct str { http://www.cyberforum.ru/cpp-beginners/thread438656.html
Машинная зависимость rand() C (СИ)
К слову, rand() генерирует машиннозависимую последовательность Это цитата из темы Случайные числа Собственно, вопрос: Я не могу понять - в каком месте rand() машиннозависим. Не могли бы вы мне это объяснить? И можно ли сделать его машиннонезависимым? void __cdecl srand (unsigned int seed) { _getptd()->_holdrand = (unsigned long)seed; }
C (СИ) Вопрос про while(n-- > 0), что значит n-- > 0 ??
Ёлочка. #include <stdio.h> #include <conio.h> void print_triangle(int n, int shift) { int cnt, i, nblanks; nblanks = 1 + (2 * (n-1)) / 2; cnt = 1; while (n-- > 0) {
C (СИ) Как заполнить квадрат(двухмерный массив) этим: --**--**--** http://www.cyberforum.ru/cpp-beginners/thread438202.html
знаю как заполнить просто *, а как --**--** не знаю. Подскажите как, можно так сделать? Язык Си. #include <stdio.h> #include <conio.h> int main() { char a; for(int i=0;i<10;i++) {
C (СИ) Умножить матрицу на транспонированную Дана матрица A.Получить матрицу AA*.Где (A*транспонированная) на си подробнее

Показать сообщение отдельно
fors-dnet
3 / 3 / 0
Регистрация: 11.12.2011
Сообщений: 88

Реализовать класс вместо структуры - C++

31.01.2012, 22:21. Просмотров 709. Ответов 5
Метки (Все метки)

Здравстуйте буду благодарен если кто-то поможет.

Вот само задание:
создать программу по индивидуальному варианту, которая:
1.1. открывает внешний файл Input.txt и считывает с него данные согласно индивидуальным заданием;
1.2. запоминает полученные данные в виде класса;
1.3. сортирует данные структуры за числовым полем любым методом сортировки;
1.4. записывает полученные результаты сортировки во внешний файл Output.txt в виде таблицы с соответствующей шапкой и табулирования данных.
2. Выполнить пункты 1.3 и 1.4 для сортировки данных структуры по символьным полем.

1. Закрытые данные-члены класса:
- Мобильный номер;
- Остаток средств на счете;
- Название тарифного плана.
Открытые функции-члены класса:
- Инициализация (введение через аргументы функции информации в данные-члены класса);
- Вывод на экран информации, сохранения в данных-членах.
а.


Файл допустим такого содержания:
09342598623 56.30 life
05085458748 23.10 mtc
09765874598 11.20 kyivstar
09345874122 89.65 life
09645874114 11.50 mtc.

Предыдущее задание было такое же только со структурой и на языке Си:
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
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
struct Abonent
{
    char nomer[11];
    double ostatok;
    char tarif[15];
}arr [5];
 
int load (struct Abonent *arr)
{
    int i=0;
    FILE *f=NULL; 
    f=fopen("D:\Input.txt", "rt");
    if (f==NULL)
    {
        printf ("No file!!!\n");
        exit (0);
    }
    
    for(i=0;i<5;i++)
    {
        fscanf(f,"%s", &arr[i].nomer);
        fscanf(f,"%lf", &arr[i].ostatok);
        fscanf(f,"%s", &arr[i].tarif);
    }
    fclose (f);
 
    return 0;
}
 
int sortost (struct Abonent *t)
{
    struct Abonent x;
    int i=0, j=0;   
    for(i=0;i<5;i++)
    {
        for(j=0; j<4; j++)
        {
            if( t[j].ostatok > t[j+1].ostatok )
            {
                x=t[j];
                t[j]=t[j+1];
                t[j+1]=x;
            }
            
        }
    }
 
    return 0;
}
 
int sorttar (struct Abonent *arr)
{
    int i=0, j=0;
    struct Abonent temp;
    for (i=0; i<5; i++)
    {
        for (j=0; j<4; j++)
        {
            if (strcmp(arr[j].tarif, arr [j+1].tarif) >= 0)
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
 
    return 0;
}
 
int save (struct Abonent *arr)
{
    int i=0;
    FILE *f=NULL;
    f=fopen ("D:\Result.txt", "wt");
    if (f==NULL)
    {
        printf ("No file!!!\n");
        exit (0);
    }
    fprintf (f, "Spisok abonentov:\n\n");
    for(i=0;i<5;i++)
    {
        fprintf(f,"%s\t", arr[i].nomer);
        fprintf(f,"%lf\t", arr[i].ostatok);
        fprintf(f,"%s\t", arr[i].tarif);
        fprintf(f,"\n");
    }
    fclose (f);
 
    return 0;
}
 
void main (void)
{
    int n=0, i=0;
L:  printf("1.load\n2.sortorovka po osratky\n3.sortirovka po tarify\n4.save\n5.exit\n");
    printf ("Input number : ");
    scanf ("%d", &n);
    printf ("\n");
 
    switch (n)
    {
    case 1 : load(arr);
             break;
 
    case 2 : sortost (arr);
             break;
 
    case 3 : sorttar (arr);
             break;
 
    case 4 : save (arr);
             break;
 
    case 5 : exit (0);
             break;
    }
    for (i=0;i<5;i++)
    printf("%s %2.2lf %s\n",arr[i].nomer,arr[i].ostatok,arr[i].tarif);
    printf("\n");
    goto L;
    
}
Теперь нужно вместо структуры класс сделать, я Си++ не разбирал ещё, а лабу завтра здать надо. Помогите пожалуйста у кого есть свободных минут 20. )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru