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

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

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

Ошибка в выводе экран - C++

03.07.2016, 18:17. Просмотров 171. Ответов 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
#include <iostream>
using namespace std;
 
struct Coworkokers
{
    char workersName[30];
    char workersLastName[30];
    char birthDate[30];
};
 
void enterWorkersData(Coworkokers*coworker)
{
    int dataProgrammBegin;
    coworker = new Coworkokers[2];
    
 
    cout << "\n\nThis is coworkers data programm!\n" << endl;
    cout << "==============================================" << endl;
    cout << "\n1-Begin the programm,2-exit the programm: ";
    cin >> dataProgrammBegin;
 
    while ((dataProgrammBegin != 1) && (dataProgrammBegin != 2))
    {
        cout << "ERROR: false value,try again: " << endl;
        cin >> dataProgrammBegin;
    }
    if (dataProgrammBegin == 1)
    {
        for (int i = 0; i < 2; i++)
        {
            system("cls");
            cout << "The number of coworker:" << i + 1 << endl;
 
            cout << "\nPlease enter the name  coworker:\n " << endl;
            cin >> coworker[i].workersName;
            cin.ignore();
 
            cout << "\nPlease enter coworker last name:\n " << endl;
            cin >> coworker[i].workersLastName;
            cin.ignore();
 
            cout << "\nPlease enter the birthdate of the coworker:\n " << endl;
            cin >> coworker[i].birthDate;
            cin.ignore();
            system("cls");
        }
    }
    
    else if (dataProgrammBegin == 2)
    {
        exit(0);
    }
 
}
 
 
void showAllWorkers(Coworkokers*coworker,int n)
{
    
    coworker = new Coworkokers[2];
 
    int enterDataValue;
    cout << "\nDo you want to show all  data of the coworker: 1-show,2-exit\n" << endl;
    cin >> enterDataValue;
 
    while ((enterDataValue != 1) && (enterDataValue != 2))
    {
        cout << "ERROR: false value,try again: " << endl;
        cin >> enterDataValue;
    }
    if (enterDataValue == 1)
    {
        for (int i = 0; i < n; i++)
        {
 
            cout << "______________________________________________" << endl;
            cout << "\nName: " << coworker[i].workersName << endl;
            cout << "\nLastname: " << coworker[i].workersLastName << endl;
            cout << "\nBirthdate: " << coworker[i].birthDate << endl;
        }
    }
}
 
void main()
{
    int const SIZE_COWORKERS = 2;
    Coworkokers myArray[SIZE_COWORKERS];
    
    enterWorkersData(myArray);
    showAllWorkers(myArray,2);
 
}
то что выводится
Ошибка в выводе экран
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2016, 18:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в выводе экран (C++):

Ошибка в выводе сообщения на экран - C++
Как вывести на экран сообщение в виде слова, а не цифры? #include &lt;iostream&gt; using namespace std; int main() { while(true) ...

Ошибка при выводе на экран - C++
#include &lt;iostream&gt; using namespace std; int main() { int j =100; while (j &lt;= 110); cout &lt;&lt; endl &lt;&lt; j++; return 0; ...

Теряються поля при выводе на экран - C++
Здравствуйте. Помогите найти ошибку #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;values.h&gt; #include...

win32api странности при выводе на экран - C++
Доброго времени суток. Возникла проблема: при использовании в цикле TextOut на экран выводится только одна первая цифра, считанная из...

Ошибка в выводе - C++
Помогите найти ошибку! Почему то выводит 2 раза фразу введите размер массива, когда второй раз проходит программу #include &quot;stdafx.h&quot; ...

Как сделать, чтобы при выводе на экран были пробелы - C++
#include &lt;iostream&gt; using namespace std; int main() { int sum = 0, val = 1; while (val &lt;= 10) { sum += val; ++val; ...

3
Armatus
53 / 53 / 28
Регистрация: 24.03.2016
Сообщений: 377
Завершенные тесты: 4
03.07.2016, 18:30 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
нужно закомментировать (удалить ) выделение динамической памяти, и будет вам счастье.

Добавлено через 3 минуты
C++
1
coworker = new Coworkokers[2];
убрать, в обоих функциях, так как выделение памяти для массива объектов уже произошло в void main().
1
HenryDukart
123 / 123 / 35
Регистрация: 05.10.2013
Сообщений: 457
Завершенные тесты: 2
03.07.2016, 18:34 #3
Lazariev_V,

Не надо выделять память:

C++
1
coworker = new Coworkokers[2];
У вас же статический массив, который вы передается как аргумент функциям. Уберите эту строку из функций, и у вас все заработает.
1
Lazariev_V
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 55
03.07.2016, 18:48  [ТС] #4
Большое спасибо , вы очень помогли!
0
03.07.2016, 18:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2016, 18:48
Привет! Вот еще темы с ответами:

При выводе на экран переменной string выводится набор левых символов - C++
int main() { int s; string b; printf(&quot;DEC: &quot;); scanf(&quot;%i&quot;, &amp;s); for (int i = 31; i &gt;= 0; i--) { s += (char)(((b &gt;&gt;...

Ошибка в выводе ответа - C++
int main(int argc, char *argv) { setlocale(0, &quot;RUS&quot;); int a, b, c, result; printf(&quot;Введите a: &quot;); scanf(&quot;%d&quot;, &amp;a); ...

Ошибка в выводе данных - C++
здравствуйте. подскажите, пожалуйста, где ошибка ? #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include...

Ошибка в выводе файла С++ - C++
Добрый день, подскажите пожалуйста в чем загвоздка: Файл: R0_11 0 11 1 .PRINT TRAN I(R0_11) R11_12 11 12 1 .PRINT TRAN I(R11_12) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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