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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построение таблиц идентификаторов (хеш-функции, рехеширование) http://www.cyberforum.ru/cpp-beginners/thread438884.html
построить таблицу идентификаторов методом хэш-функции, использование метода рехеширования.
C++ Программа для вычисления суммы ряда Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известна количество N членов ряда. \sum_{k-1}^{N}{e}^{kx}{\cos }^{2}kx N=10 x=2,1 http://www.cyberforum.ru/cpp-beginners/thread438874.html
C++ Перегруженные функции
Перегруженные функции Написать перегруженные функции и основную программу, которая их вызывает. а) для преобразования десятичной дроби в обыкновенную; б) для преобразования обыкновенной дроби...
Программа для вычисления функции C++
Состивить программу для вычисления функции y\begin{cases}a{x}^{2}+b\sqrt{x}+c & \text{ if } x=> 5 \\ \pi \arcsin x & \text{ if } x< 5 \end{cases} a=2,3 b=4,1 c=6 Помогите пожалуйста
C++ Линейная программа http://www.cyberforum.ru/cpp-beginners/thread438860.html
Известны меньшее основание "а" равнобокой трапеции, ее высота h и острый угол альфа. Найти периметр Р и площадь S трапеции.
C++ Подсчитать количество слов в файле и... помогите пожалуйста с похожим заданием 1) Скопировать в файл F2 только те строки из F1, которые начинаются с буквы «А». 2) Подсчитать количество слов в F2. подробнее

Показать сообщение отдельно
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
01.02.2012, 00:44
Я конечно не очень в с но вот наскорую руку что получильсь.
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
143
144
145
146
147
148
149
150
151
152
#include<iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
class Abonent
{
private:   
        char nomer[11];
        double ostatok;
        char tarif[15];
public:
    int load (Abonent *arr);
    int sortost (Abonent *t);
    int sorttar ( Abonent *arr);
    int save ( Abonent *arr);
    void get(void);
 
 
}arr [5];
 int Abonent:: load (Abonent *arr)
 {
        int i=0;
        FILE *f=NULL; 
        f=fopen("D:\Input.txt", "rt");
        if (f==NULL)
        {
                std::cout<< "No file!!!\n";
                exit (0);
        }
        
        for(i=0;i<5;i++)
        {
               //найди аналог на С++ для fscanf(f,"%s", &arr[i].nomer);
                // я ещё пока не знаю как писать из файла в с++
                fscanf(f,"%s", &arr[i].nomer);
                fscanf(f,"%lf", &arr[i].ostatok);
                fscanf(f,"%s", &arr[i].tarif);
        }
        fclose (f);
 
        return 0;
 }
 
 
 
 int Abonent:: sortost (class Abonent *t)
 {
        class 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 Abonent:: sorttar (class 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 Abonent:: save (class Abonent *arr)
{
        int i=0;
        FILE *f=NULL;
        f=fopen ("D:\Result.txt", "wt");
        if (f==NULL)
        {
                std::cout<<"No file!!!\n";
                exit (0);
        }
      //я не знаю оналога для  fprintf (f, "Spisok abonentov:\n\n");
        fprintf (f, "Spisok abonentov:\n\n");
        for(i=0;i<5;i++)
        {
                //я не знаю оналога для fprintf(f,"%s\t", arr[i].nomer);
                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 Abonent:: get(void)
 {
        int n=0, i=0;
      while(1)
      {
        std::cout<<"1.load\n2.sortorovka po osratky\n3.sortirovka po tarify\n4.save\n5.exit\n";
        std::cout<<"Input number : ";
        std::cin>>n;
        std::cout<<std::endl;
 
        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++)
        std::cout<<arr[i].nomer<<arr[i].ostatok<<arr[i].tarif<<std::endl;
     } 
 }
void main (void)
{
    class Abonent Abonent_val;
    Abonent_val.get();
       system("pause");
 
}
вот только как из файла закачивать значения в переменные я не знаю.
В C++ анологи scanf and printf это cin and cout.
Код рабочий тебе только надо в двух местах заменить я там коменты оставил.
А вобще часто программисты используют смешаный стиль, по этому можно и так оставить решай сам.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru