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

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

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

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

03.07.2016, 18:17. Просмотров 145. Ответов 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);
 
}
то что выводится
Ошибка в выводе экран
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2016, 18:17     Ошибка в выводе экран
Посмотрите здесь:

Ошибка при выводе на экран - 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;iostream&gt; using namespace std; int main() { while(true) ...

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

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

Ошибка в выводе - 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; ...

Ошибка в выводе стека - C++
void output (node *&amp; st, char t) { cout&lt;&lt;t; if (st) { node *p=st; while (p) { cout&lt;&lt;p-&gt;info; p=p-&gt;next; ...

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

Ошибка при выводе - C++
Не могу найти ошибку в цикле. Суть такая: &quot;вывести на дисплей фамилии и номера групп для всех студентов, включенных в массив, имеющих хотя...


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

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

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

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

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

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