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

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

Войти
Регистрация
Восстановить пароль
 
Archweel
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 3
#1

Структуры в языке C++ и не только - C++

15.06.2014, 13:51. Просмотров 255. Ответов 4
Метки нет (Все метки)

Вообщем, предыстория такая: для зачета нужно сдать 14 лабораторных, 11 из которых уже выполнено. Все бы ничего, но есть такие, которые в упор не осознаю в полной мере. В данном случае структуры и работа с файлами. Ну хоть убей, не понимаю. Вот решил спросить, как делать. Я здесь новенький, сильно камнями не забрасывайте)
Это задача по структуре:
Известны данные о массе и объеме n тел, изготовленных из различных материалов. Определить среднюю плотность набора.

А вот на операции с файлами:
Известны данные о массе и объеме n тел, изготовленных из различных материалов. Определить среднюю плотность набора.

Нет, я не очепятался - это две одинаковые задачи на две разные темы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2014, 13:51     Структуры в языке C++ и не только
Посмотрите здесь:

C++ Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово
Стек без использования классов- только структуры C++
Напечатать только те слова, перед которыми в строке находятся только меньшие слова, а за ними – только большие C++
Везде говорится, что структуры и классы отличаются только типом доступа к членам по умолчанию C++
Динамические структуры данных на языке С/С++ C++
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они в C++
C++ Удалить из строки только те слова, которые состоят только из латинских букв
C++ Как задать указатель для структуры (и не только)
Динамические структуры данных на языке С/С++ C++
Факториал. Использовать только одну функцию main и только один цикл C++
C++ Определить виды блюд, которые есть только на завтраке, только на обеде и только на ужине
C++ Слова, состоящие только из гласных или только из согласных латинских букв

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
15.06.2014, 15:24     Структуры в языке C++ и не только #2
Ну тут видимо эти задачи надо совместить в одну. Описываете структуру тел и обявляете из этой структуры массив с содержанием n наборов данных
C++
1
2
3
4
5
сonst int n=20;
struct figures{
    float m;
    float v;
} bank[n];
Далее выводите среднюю плотность на экран:
C++
1
2
3
4
5
float avg=0.f;
for(int i=0;i<n;++i){
     avg+=bank[i].m/bank[i].v;
}
avg/=n;
Ну а потом пишете две функции для бинарной записи в файл n числа структур и считывания из бинарного файла.
И при помощи этих функций производите действия с вашим файлом в виде чтения/записи.
Можно так: http://ru.wikipedia.org/wiki/%D0%A4%...5_%D0%A1%D0%B8
А можно при помощи fstream.
Archweel
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 3
15.06.2014, 15:41  [ТС]     Структуры в языке C++ и не только #3
RHB
Вот именно, что это 2 разные задачи)
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
15.06.2014, 15:50     Структуры в языке C++ и не только #4
Archweel, ну не знаю.. может препод опечатался.
Archweel
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 3
15.06.2014, 19:19  [ТС]     Структуры в языке C++ и не только #5
Вряд ли, это из 2ух разных лаб. работ задачи, но все равно спасибо!

Добавлено через 3 часа 1 минуту
В общем, немного стал разбираться, выкладываю текущий код задачи про структуру:
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
 
struct Svoistva
{
    double Plotnost;
    double Massa;
};
 
void GetData(Svoistva *M, int N)
{
    cin.ignore();
    for (int i = 0; i<N; i++)
    {
        cout << "Plotnost: "; cin >> M[i].Plotnost;
 
        cout << "Massa: "; cin >> M[i].Massa;
        cin.ignore();
    }
}
 
void Operacia(Svoistva *M, int N)
{
    cin.ignore();
    for (int i = 0; i<N; i++)
    {
        
    }
}
 
void ShowData(Svoistva *M, int N)
{
    for (int i = 0; i<N; i++)
    {
        cout << M[i].Plotnost << endl;
        cout << M[i].Massa << endl;
    }
}
 
void main()
{
    system("CLS");
    int N; cout << "Vvedite  kol-vo tel: "; cin >> N;
    Svoistva *M = new Svoistva[N];
    GetData(M, N);
    Operacia;
    ShowData(M, N);
    delete[]M;
    system("PAUSE");
}
Как оформить операцию? Что-то такой пустяк, а туплю как пятикласник)

Добавлено через 6 минут
Ой, плотность с объемом спутал.

Добавлено через 19 минут
Итак, исправил все ошибки(которые были ну ОЧЕНЬ ЗЕЛЕНЫЕ), вот что получилось:
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
 
struct Svoistva
{
    double V;
    double Massa;
};
 
int main()
{
    int N; cout << "Vvedite  kol-vo tel: "; cin >> N;
    Svoistva *M = new Svoistva[N];
 
    for (int i = 0; i<N; i++)
    {
        cout << "V: "; cin >> M[i].V;
        cout << "Massa: "; cin >> M[i].Massa;
    }
 
    double sum1(0);
    for (int i = 0; i<N; i++)
        sum1 += M[i].V;
 
    double sum2(0);
    for (int i = 0; i<N; i++)
        sum2 += M[i].Massa;
 
    double P = sum2 / sum1;
 
    cout << "Srednaya plotnost = " << P << endl;
 
    delete[]M;
    return(0);
}
Yandex
Объявления
15.06.2014, 19:19     Структуры в языке C++ и не только
Ответ Создать тему
Опции темы

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