Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции преобразования Григорианской даты в Юлианскую https://www.cyberforum.ru/ cpp-beginners/ thread1692238.html
Всем привет. Возникла проблема преобразования Григорианской даты дд.мм.гггг (обычной даты которой мы постоянно пользуемся) в Юлианскую дд.мм.гггг. Причем мне не нужно преобразовывать...
Сумма нечетных и четных элементов C++
Не пойму в чем ошибка, необходимо найти сумму нечетных и четных элементов #include "iostream" // Включении библиотеки ввода/вывода using namespace std; // Пространство стандартных имен void...
C++ Что поменять в советнике mql4 что бы он торговал?
Суть есть индикатор CCL.При пересечении ценой верхнего уровня открываем селл,при пересечении нижнего уровня-бай. Закрытие по стопу или тейкпрофиту....
C++ Что сделать, чтобы не выбрасывало из цикла? Сокеты, СИ, клиент, сервер /*C socket server */ #include<stdio.h> #include<string.h> //strlen #include<sys/socket.h> #include<arpa/inet.h> //inet_addr #include<unistd.h> //write #include <stdlib.h> #include... https://www.cyberforum.ru/ cpp-beginners/ thread1692185.html
C++ Вложенные условия ( if-else ) https://www.cyberforum.ru/ cpp-beginners/ thread1692163.html
В уроке прописано следующее: if (x > 0) { if (y > 0) // x > 0 , y > 0 { cout << "The 2nd quarter" << endl; } else // x > 0 , y < 0 { cout << "The 4th...
C++ Класс круг и его методы
Напишите пожалуйста: класс круг, методы вписаного в круг и описаного вокруг круга квадратов, реализовать работу с переменной-объектом и указателям на объект
C++ Строка-идентификатор
Собственно, вопрос практически только теоретический. Имеется задание: с клавиатуры вводится строка до 255 символов, слова разделяются пробелами. Слова, состоящие только из цифр удалить, а остальные...
C++ Зацикливание при динамическим заполнении стека При выводе текущего состояния стека, во время его заполнения, происходит следующее (скриншот приложен), собственно, буду благодарна, если укажете на ошибку #define _CRT_SECURE_NO_WARNINGS #include... https://www.cyberforum.ru/ cpp-beginners/ thread1692130.html
C++ Определить функцию для расчета суммы цифр натурального числа https://www.cyberforum.ru/ cpp-beginners/ thread1692123.html
Даны 2 натуральных числа. Выяснить,в каком из них сумма цифр больше.(Определить функцию для расчета суммы цифр натурального числа.)
C++ Написать программу ввода в массив10 чисел и поиска в нем модуля максимального значения 4. Написать программу ввода в массив 10 чисел и поиска в нем модуля максимального значения https://www.cyberforum.ru/ cpp-beginners/ thread1692118.html
0 / 0 / 1
Регистрация: 28.02.2016
Сообщений: 74
23.03.2016, 00:49  [ТС] 0

Как передать параметр в функцию?

23.03.2016, 00:49. Просмотров 805. Ответов 11
Метки (Все метки)

Ответ

case 1 - Вводишь данные о компьютерах (работает)
case 2 - Просмотр данных о компьютерах (работает)
case 3 - Вводишь год компьютера который хочешь удалить и он удаляет его из списка (не работает)


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
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
struct Computer
{
    char TypeOfComputer[30];
    unsigned int YearOfRelease;
    unsigned int PriceOfComputer;
};
void Enter(Computer *pcomputer);
bool AddToFile(Computer computer);
void Print(Computer computer);
void ShowAll();
void Delete(Computer *pcomputer, int NumberOfComputers);
int main()
{
    int NumberOfComputers;
    int choise = -1;
    while (choise)
    {
        system("CLS");
        cout << endl << " -------------MENU------------- " << endl;
        cout << " 1. Add Data " << endl << " 2. View Data " << endl << " 3. Delete data " << endl << " 0. Exit " << endl;
        cout << " Enter your choise> ";
        cin >> choise;
        switch (choise)
        {
        case 1:
        {
                  cout << "Enter the number of computers: ";
                  cin >> NumberOfComputers;
                  Computer *st = new Computer[NumberOfComputers];
                  if (NumberOfComputers < 1)
                  {
                      cout << endl << "You have entered incorrect value." << endl << endl;
                      system("PAUSE");
                      return 0;
                  }
                  Computer computer;
                  for (int i = 0; i < NumberOfComputers; i++)
                  {
                      Enter(&computer);
                      AddToFile(computer);
                  }
                  delete[] st;
                  system("PAUSE");
                  break;
        }
        case 2:
        {
                  ShowAll();
                  cout << endl;
                  system("PAUSE");
                  break;
        }
        case 3:
        {
                  Computer computer;
                  Delete(&computer, NumberOfComputers);
                  break;
        }
        case 0: cout << " Bye-Bye! " << endl;
        }
    }
system("PAUSE");
    return 0;
}
void Enter(Computer *pcomputer)
{
    cin.ignore();
    cout << "Enter TYPE of the computer: ";
    cin.getline(pcomputer->TypeOfComputer, 29);
    cout << "Enter YEAR of the release: ";
    cin >> pcomputer->YearOfRelease;
    while (pcomputer->YearOfRelease > 2016 || pcomputer->YearOfRelease < 1900)
    {
        cout << endl << "Entered incorrect value. YEAR cant be more than 2016 and less than 1900." << endl;
        cout << "Enter YEAR of the computer release: ";
        cin >> pcomputer->YearOfRelease;
    }
    cout << "Enter PRICE of the computer: ";
    cin >> pcomputer->PriceOfComputer;
}
bool AddToFile(Computer computer)
{
    ofstream file;
    file.open("computers.dat", ios::binary | ios::app);
    if (!file) return false;
    else
    {
        file.write((char*)&computer, sizeof(computer));
        file.close();
        return true;
    }
}
void Print(Computer computer)
{
        cout << setw(26) << computer.TypeOfComputer << "                 " << setw(4) << computer.YearOfRelease << "                 " << setw(4) << computer.PriceOfComputer << "                  \n";
}
void ShowAll()
{
    ifstream file;
    file.open("computers.dat", ios::binary);
    if (!file) cout << " ERROR! " << endl;
    else
    {
        file.seekg(0, ios::end);
        int size = file.tellg();
        size = size / sizeof(Computer);
        file.seekg(0, ios::beg);
        Computer *computers = new Computer[size];
        file.read((char*)computers, sizeof(Computer)*size);
        file.close();
        cout << endl << "+-----------------------------+-----------------------+-----------------------+\n"
            "|       TYPE Of Computer      |    YEAR Of Release    |   PRICE Of Computer   |\n"
            "+-----------------------------+-----------------------+-----------------------+\n";
        for (int i = 0; i < size; i++)
            Print(computers[i]);
    }
}
void Delete(Computer *pcomputer, int NumberOfComputers)
{
    unsigned int RemoveComputer;
    int NumberCopy;
    NumberCopy = NumberOfComputers;
    cout << "Enter YEAR of the computer which you want to REMOVE: ";
    cin >> RemoveComputer;
    while (RemoveComputer > 2016 || RemoveComputer < 1900)
    {
        cout << endl << "Entered incorrect value. YEAR cant be more than 2016 and less than 1900." << endl;
        cout << "Enter YEAR of the computer what you want to REMOVE: ";
        cin >> RemoveComputer;
    }
    for (int i = 0; i < NumberOfComputers; i++)
    if (RemoveComputer == pcomputer->YearOfRelease)
    {
        for (int j = i; j < NumberCopy - 1; j++)
            pcomputer[j] = pcomputer[j + 1];
            NumberOfComputers--;
            i = -1;
    }
    if (NumberCopy == NumberOfComputers)
        cout << endl << "The computer with this YEAR doesn't exist." << endl;
    else
        cout << endl << "Computers with " << RemoveComputer << " YEAR are REMOVED. In total REMOVED: " << NumberCopy - NumberOfComputers << " computers." << endl;
}


Вернуться к обсуждению:
Как передать параметр в функцию?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2016, 00:49
Готовые ответы и решения:

Передать функцию как параметр
По сути, нужно отсортировать созданный массив, то есть передаваемой функцией будет функция...

Как передать параметр в функцию?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void test(int); int main() {...

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

Как в функцию передать параметр - двухмерный массив
void max_el() { int i,j,max; for ( i=1 ; i&lt;=n; i++) for ( j=1; j&lt;=m; j++) ...

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