С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Преобразование int в string и слияние строк int KeysOfFile+=1; string KeysOfFileS=KeysOfFile; string newNameOfBook="book"; string newSec=newNameOfBook+KeysOfFileS; cout << newSec << endl; Оно мне выдает какую-то ересь. Как сделать чтобы KeysOfFile превратить строку и потом выполнить слияние со строкой newNameOfBook, чтобы в конце вышло что-то вроде "book3" ? https://www.cyberforum.ru/ cpp-beginners/ thread959430.html Изменение значение элементов листа C++
Здрасьте. Есть лист, а точнее его адрес: void MatrixClass::BuildTransformationMatrix(list<VertexClass> *vList) { Как добраться до его элементов и изменить их? Читал про итераторы, но как обычно фиг там разберешься...
C++ вычислить сумму задачка состоит из нескольких частей с уравнениями, а сбило с толку самое простое( помогите вычислить сумму на С++, где а и n будет вводится с клавиатуры для y=1/a+1/a*(a+1)(a+2)+...+1/a*(a+1)(a+2)*(a+ n) понимаю что дело происходит в цикле а как правильно организовать данный ряд не понимаю.. подскажите просто как правильно записать данное выражение в цикле https://www.cyberforum.ru/ cpp-beginners/ thread959422.html C++ теория вероятности на эвм задание: три орудия производят стрельбу по трем целям. каждое орудие выбирает себе цель случайно,независимо от других.цель одним орудием поражается с вероятностью0,6. требуется осуществить моделирование этого эксперимента па пэвм.повторить эксперимент н раз в одних и тех же условиях и подсчитать относительную частоту события а= из трех целей поражены только две. теоретически задача решается по... https://www.cyberforum.ru/ cpp-beginners/ thread959418.html
C++ Как при вводе не переносить двоеточие на новую строку?
Задача: Написать программу, в которой осуществляется перегрузка операции сложения. Разработать класс time, в состав которого включить операцию сложения его объектов. Объектом класса является время. Операторная функция, являясь методом класса time, складывает два времени. Результат - сложение двух значений времени. Набирается время, cout переносит двоеточие на новую строку, puts еще и переводит...
C++ Указатель на шаблонный класс https://www.cyberforum.ru/ cpp-beginners/ thread959405.html
Есть ли возможность инициализировать указатель на класс с шаблоном, но не указав при этом тип, ну т.е. написать не так Value_Class <Value_Type> * Object; чтобы приберечь выбор шаблона до вызова конструктора оператором new Object = new <Value_Type> Value_Class (/*аргументы*/)
C++ Количество элементов последовательности, начиная с третьего, среднее арифметическое элементов Задача 2. Использование инструкций для организации циклов (обработка вещественных значений) Написать программу, в которой с клавиатуры вводится последовательность из k вещественных чисел (где значение k > 2), а затем вычисляются и выводятся: 1) количество элементов последовательности, начиная с третьего, которые не больше полу суммы двух первых элементов; 2) среднее арифметическое элементов... https://www.cyberforum.ru/ cpp-beginners/ thread959400.html Поменять местам серии массива C++
Дано целое число K (K> 1) и целочисленный массив размера N. Поменять местами первую серию массива и его серию с номером K. Если серий в массиве меньше K, то вывести массив без изменений.(Назовем серией группу подряд идущих одинаковых элементов). предпочтительнее если будет на СИ
C++ Алгоритм, обратный алгоритму Крускала https://www.cyberforum.ru/ cpp-beginners/ thread959393.html
Требуется реализовать алгоритм поиска максимального остовного дерева
C++ Не могу до конца понять условие задачи https://www.cyberforum.ru/ cpp-beginners/ thread959385.html
Здравствуйте. Задача 9.5 из учебника программированию Б. Страуструпа: Создайте класс Library. Включите в него векторы классов Book и Patron. Включите также структуру Transaction и предусмотрите в ней члены классов Book, Patron и Date. Создайте вектор объектов класса Transaction. Создайте функции, добавляющие записи о книгах и клиентах библиотеки, а также о состоянии книг. Если пользователь взял...
Перегрузка операторов 2 C++
Пишу класс комплексных чисел. И возникла проблема.Я перегрузил операторы +-*/. Но когда использую их в строке типа a=b+c*d - где все переменные комплексные возникает проблема.Но когда я пишу a=c*d; a=a+b; так все работает. Подскажите как это исправить пожалуйста
C++ Ошибка в функции https://www.cyberforum.ru/ cpp-beginners/ thread959375.html
#include "stdafx.h" #include<iostream> using namespace std; int maxFunction(int a , int n) { int max=a; for(int i=0; i<50;i++) { if(max<a)
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2013, 13:06 0

Передача структуры в функцию - C++ - Ответ 5084507

22.09.2013, 13:06. Показов 1133. Ответов 9
Метки (Все метки)

Ответ

Цитата Сообщение от wollk Посмотреть сообщение
если я уберу, то будут ошибки типа таких:
Делайте правильно: прототипы в .h (их подключать), реализации в .cpp (их НЕ подключать).

Добавлено через 21 минуту
struct.h
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct syt
{
    int group;
    int price;
    float pn;
    float vt;
    float sr;
    float ch;
    float pt;
    float itogo;
};
 
void sum(syt array[], int n);

struct.cpp
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
#include "struct.h"
 
void sum(syt array[], int n)
{
    for (int i=0; i<=n; i++)
       array[i].itogo = array[i].pn+array[i].vt+array[i].sr+array[i].ch+array[i].pt;
}

mainwindow.h
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QtGui>
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    QGridLayout *glMain;
    QWidget *wCenter;
    QTableWidget *table;
    QLineEdit *txt;
    QPushButton *add,*readd;
    MainWindow(QWidget *parent = 0);
public slots:
    void add_row();
    void read();
    void calc(QVector <int> data);
};
 
#endif // MAINWINDOW_H

mainwindow.cpp
Кликните здесь для просмотра всего текста
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
#include "mainwindow.h"
#include "struct.h"
 
syt coal[100];
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent){
    QTextCodec:: setCodecForLocale(QTextCodec::codecForName("Windows-1251"));
    QTextCodec:: setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));
    this->setWindowTitle("ООП основы работы со структурами");
    setMinimumSize(750,400);
    glMain = new QGridLayout;
    table = new QTableWidget(0,8);
    table->setHorizontalHeaderLabels(QStringList() << "Бригада"<<"Цена за тонну"<<"ПН"<<"ВТ"<<"СР"<<"ЧТ"<<"ПТ"<<"Итого");
    txt = new QLineEdit("1 198 50 40.5 6.2 48 33.5");
    add = new QPushButton("Добавить");
    readd = new QPushButton("Считать");
    glMain->setRowStretch(0,5);
    glMain->setRowStretch(1,1);
    glMain->addWidget(txt,1,0);
    glMain->addWidget(table,0,0,1,3);
    glMain->addWidget(add,1,1);
    glMain->addWidget(readd,1,2);
    wCenter = new QWidget;
    wCenter->setLayout(glMain);
    this->setCentralWidget(wCenter);
    connect(add,SIGNAL(clicked()),this,SLOT(add_row()));
    connect(readd,SIGNAL(clicked()),this,SLOT(read()));
}
 
void MainWindow::add_row(){
    QString all = txt->text();
    QStringList list = all.split(" ");
    int row=table->rowCount();
 
    if(list.count()==7){
        table->setRowCount(row+1);
        table->setItem(row,0,new QTableWidgetItem(list[0]));
        table->setItem(row,1,new QTableWidgetItem(list[1]));
        table->setItem(row,2,new QTableWidgetItem(list[2]));
        table->setItem(row,3,new QTableWidgetItem(list[3]));
        table->setItem(row,4,new QTableWidgetItem(list[4]));
        table->setItem(row,5,new QTableWidgetItem(list[5]));
        table->setItem(row,6,new QTableWidgetItem(list[6]));
    }else qDebug()<<"Кол-во элементов добавляемых в строку должно быть равно 7";
}
 
void MainWindow::read(){
    int row = table->rowCount();
    for(int i=0; i<row;i++){
        coal[i].group=table->item(i,0)->text().toFloat();
        coal[i].price=table->item(i,1)->text().toFloat();
        coal[i].pn=table->item(i,2)->text().toFloat();
        coal[i].vt=table->item(i,3)->text().toFloat();
        coal[i].sr=table->item(i,4)->text().toFloat();
        coal[i].ch=table->item(i,5)->text().toFloat();
        coal[i].pt=table->item(i,6)->text().toFloat();
    }
    sum(coal,row);
}
void MainWindow::calc(QVector <int> data){
    int row = table->rowCount();
    for(int i=0; i<row;i++){
        table->setItem(i,7,new QTableWidgetItem(data[i]));
    }
}


Вернуться к обсуждению:
Передача структуры в функцию C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2013, 13:06
Готовые ответы и решения:

Передача структуры в функцию
#include &lt;stdio.h&gt; struct Student { char Name; /* Фамилия студента */ int ...

Передача структуры в функцию
Хочу передать массив в функцию. как лучше это сделать? struct a1{ char smA1; }; char b1 =...

Передача структуры в функцию
объясните, пожалуйста, что это за передача структуры в некоторые функции программы: void...

Передача структуры в функцию
Добрый день! Я создал структуру и мне надо передать ее в функцию. При вводе данных нужно обращаться...

9
22.09.2013, 13:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2013, 13:06
Помогаю со студенческими работами здесь

Передача структуры в функцию
Пытаюсь реализовать функцию для работы со структурой для комплексного числа. Сама структура:...

Передача структуры в функцию
Написал код самой программы,все работает,а вот как сделать так,чтобы стуктуру передать в функцию не...

Передача структуры в функцию
Пишу программу по структурам... Хочу передать в функцию объекты структуры, т.е. zakaz и параметр...

Передача структуры в функцию
структура к примеру: struct GamePoint { int x; int y; }; Функция допустим вот такая: void...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru