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

Объединение двух структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу поиска номеров минимальных и максимальных элементов http://www.cyberforum.ru/cpp-beginners/thread1543127.html
Дан двухмерный массив написать программу поиска номера элементов (n,k) минимальных и максимальных значения.
C++ Статический массив как член класса Я туплю, что ли, почему это компилируется? о_О struct V { int v; }; V v1; V v2(v1); // копирование v2 = v1; // присваивание http://www.cyberforum.ru/cpp-beginners/thread1543122.html
C++ Поиск по длинне числа и сравнение
Всем привет. Такая маленькая задачка, нужно в строке в которой числа такого вида (123, 45, 12, 213, 3, 1234) найти числа по длинне и элементам в нем. Например 123 это тоже самое что 231 но не тоже самое что 1234. То есть мы получаем от куда то строку, читаем ее или проходим по ней до окончания и с начала находим (123) и ищем остальные числа в строке такой же длинны, найдя мы сравниваем по...
Сервер на сокетах C++
Задача написать сервер принимающий сообщения со всех клиентов и выводящий их в консоль. Что написал я: #define _WINSOCK_DEPRECATED_NO_WARNINGS #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <sstream> #include <string> #include <list> #define MAX_BUFFER 1024
C++ Ошибка в выводе при использовании циклов for http://www.cyberforum.ru/cpp-beginners/thread1543110.html
Всем привет! double amount; // сумма на счёте в конце года double principal = 24.00; // исходная сумма double rate; // процентная ставка cout << "Year" << setw(30) << "Amount on deposit" << endl; cout << fixed << setprecision(2); for (int i = 0; i < 2; i++)
C++ Актуальность разработки компьютерных программ Пожалуйста,нужен текст и побольше,если можно. Актуальность разработки компьютерных программ на языке программирования высокого уровня. подробнее

Показать сообщение отдельно
valeriy007
65 / 10 / 2
Регистрация: 27.10.2014
Сообщений: 341
02.10.2015, 19:42     Объединение двух структур
Даже не знаю с чего начать...
1.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
void Output(student *s, mark *m)
{
    for(int i(0);i<3;i++)
    {
        if(s->surname == m->surname) //сравниваешь 2 массива char из 20 элементов
        {
            cout << "Student - " << s->surname << s->name << s->lastname << ", year of entering: " << s->year << endl;
            cout << "Marks: " << m->mark1 << "," << m->mark2 << "," << m->mark3 << endl;
        }
    }
}
В массивах char помимо записанного тобой будет храниться и всякий рандомный мусор, потому они равны никогда не будут. Как решение, предлагаю забыть про старые char массивы и использовать строки - string, и в функции сравнивать их. Вот так:
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
struct student
{
    int year;
    string surname;
    string name;
    string lastname;
 
};
 
struct mark
{
    int mark1;
    int mark2;
    int mark3;
    string surname;
};
 
void Output(student *s, mark *m)
{
    for (int i(0); i<3; i++)
    {
        if (s->surname == m->surname)
        {
            cout << "Student - " << s->surname << s->name << s->lastname << ", year of entering: " << s->year << endl;
            cout << "Marks: " << m->mark1 << "," << m->mark2 << "," << m->mark3 << endl;
        }
    }
}
 
Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru