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

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

Войти
Регистрация
Восстановить пароль
 
 
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
#1

Нахождение плотности вещества - C++

14.07.2015, 12:54. Просмотров 362. Ответов 16
Метки нет (Все метки)

Как должна выглядить структура, в который хранятся , например, название и плотности газов, чтобы при вводе в консоли имени газа, показывалась его плотность.Напишите шаблон, пожалуйста.Язык C++.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 12:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нахождение плотности вещества (C++):

Вычисление объема сыпучего вещества - C++
Всем доброго время суток. В баллоне под поршнем с идеальным газом находится сыпучее вещество. Написать программу для вычисления объема...

Написать программу для вычисления объема сыпучего вещества V - C++
В баллоне под поршнем с идеальным газом находится сыпучее вещество. Написать программу для вычисления объема сыпучего вещества V, если...

Определить деталь изготовленную из материала максимальной плотности - C++
Дано целое число N и набор из N пар чисел (m, v) — данные о массе m и объеме v деталей, изготовленных из различных материалов. Вывести...

Вывести номер детали , изготовленной из материала максимальной плотности - C++
помогите пж. программа с++

Составить алгоритм и программу расчета плотности постановки посильных помех - C++
Составить алгоритм и программу расчета плотности постановки посильных помех R (ро) к самолетам-постановщикам посильных помех, на борту,...

сделать отдельную функцию ввода из файла и вывод по плотности населения - C++
#include <stdio.h> #include <conio.h> #include <stdlib.h> #define PATH "I:\\V40N9.txt" void main(){ clrscr(); FILE...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5320 / 4640 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
14.07.2015, 13:13 #2
Может массив структур, если газов много?
0
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
14.07.2015, 13:15  [ТС] #3
Да, хорошая идея, но мне нужен шаблон , по которому я это буду делать
0
nmcf
5320 / 4640 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
14.07.2015, 13:46 #4
C++
1
2
3
4
5
6
7
struct Gas
{
    char *name;
    double d;
};
 
Gas Gases[10] = { {"газ1", 1.1}, ...};
2
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
14.07.2015, 14:30  [ТС] #5
Спасибо

Добавлено через 27 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
struct Gas
{
    char *name;
    double d;
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    Gas Gases[10] = { {"Азот", 1.250}, {"Кислород", 1.429} };
    cout << "Density of gases is " << Gases << endl;
    return 0;
 
}
Что надо сделать, чтобы можно было выводить на терминал название и плотность газа?
это не работает : cout << "Density of gases is : " << Gases << endl;
Пишет : Density of gases is 0x28fe60.
0
WhitePanda
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 4
14.07.2015, 14:36 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
struct Gas
{
char *name;
double d;
};
 
int main()
{
setlocale(LC_ALL, "Russian");
Gas Gases[2] = { {"Азот", 1.250}, {"Кислород"1.429} };
 
cout << "Density of gases is" << endl;
for(int i=0;i<2;++i)
cout<<"Gas name:"<<Gases[i].name<<" density:"<<Gases[i].d<<endl;
return 0;
 
}
0
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
14.07.2015, 14:45  [ТС] #7
Спасибо.
0
IrineK
Заблокирован
14.07.2015, 14:49 #8
Цитата Сообщение от Nik- Посмотреть сообщение
Пишет : Density of gases is 0x28fe60
Это вам написался адрес указателя на массив записей.
Нужно выводить каждую запись в цикле, обращаясь к сответствующим полям записи.

Gases - весь массив записей
Gases[i] - i-я запись в массиве
Gases[i].name - поле name i-й записи
Gases[i].d - поле d i-й записи
1
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
14.07.2015, 15:10  [ТС] #9
Мне нужно например больше двух газов в массиве. Я заменил [2] на [6] и в for(i=0;i<6;++i) (заменил i<2 на i<6), но у меня при попытке скомпилировать данный код выдается ошибка: error: two or more data types in declaration of 'main', как решить эту проблему. И я буду делать еще структуру с другими веществами.
0
WhitePanda
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 4
14.07.2015, 15:13 #10
Если вы хотите их показать нужно же также внести их в массив как и первые 2.
0
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
14.07.2015, 15:19  [ТС] #11
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
#include <iostream>
 
using namespace std;
struct Gas
{
char *name;
double d;
};
struct
 
int main()
{
  {
    setlocale(LC_ALL, "Russian");
    Gas Gases[6] = { {"Азот", 1.250}, {"Кислород",  1.429}, {"Водород", 0.090}, {"Углекислый газ"1.977},
    {"Азот",    1.250},{"Метан",    0.717} };
 
    cout << "Density of gases is "<< endl;
    for(int i=0;i<6;++i)
    cout << "Gas name: " <<Gases[i].name<<" density: " << Gases[i].d << " кг/м.куб" <<endl;
 
  }
 
   return 0;
}
Я так и сделал.

Добавлено через 1 минуту
странно, после "углекислый газ", 1.977 не прорисовалась фигурная скобка, но она есть в исходном коде
0
nmcf
5320 / 4640 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
14.07.2015, 15:20 #12
В 9-й строке что?
0
WhitePanda
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 4
14.07.2015, 15:20 #13
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
#include <iostream>
 
using namespace std;
struct Gas
{
    char *name;
    double d;
};
 
    int main()
{
    
        setlocale(LC_ALL, "Russian");
        Gas Gases[6] = { { "Азот", 1.250 }, { "Кислород", 1.429 }, { "Водород", 0.090 }, { "Углекислый газ", 1.977 },
        { "Азот", 1.250 }, { "Метан", 0.717 } };
 
        cout << "Density of gases is " << endl;
        for (int i = 0; i<6; ++i)
            cout << "Gas name: " << Gases[i].name << " density: " << Gases[i].d << " кг/м.куб" << endl;
 
    
 
        return 0;
}
Вот. Это работает.
0
Nik-
20 / 20 / 9
Регистрация: 12.07.2015
Сообщений: 339
14.07.2015, 15:23  [ТС] #14
Действительно, 9 строку не досмотрел, спасибо Вам всем еще раз, пойду допишу под остальные вещества.
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
14.07.2015, 17:29 #15
C++
1
2
3
4
5
struct Gas
{
    char *name;
    double d;
};
может все-таки
C++
1
const char* name?

Не по теме:

или предупреждения компилятора в топку?



может проще вообще это все в файле держать, а при запуске программы считывать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 17:29
Привет! Вот еще темы с ответами:

Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке - C++
Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке #include &lt;iostream&gt; #include &lt;cstddef&gt; #include...

Вычисление плотности вещества - Химия
Здравствуйте, у меня такой вопрос - можно ли высчитать плотность, к примеру, CO2 зная его объём и плотности C и O2?

Создать Windows-приложение для решения задачи расчета плотности вещества по известному объему и массе, с сохранением рез - Visual Basic
Создать Windows-приложение для решения задачи расчета плотности вещества по известному объему и массе, с сохранением результата в текстовом...

Нахождение плотности распределения - Теория вероятностей
Как найти плотность распределения произведения двух зависимых случайных величин, зная их совместную плотность распределения? Т.е. у...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.07.2015, 17:29
Ответ Создать тему
Опции темы

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