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

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

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

выводит не правильные символы - C++

29.06.2013, 18:21. Просмотров 379. Ответов 5
Метки нет (Все метки)

только начал изучать С++.помогите пожалуйста исправить ошибку в коде, и если можно объяснить, так как я новичок.Спасибо.
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
//
 
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
 
using namespace std;
 
class A
{
public:
    char name[20];
    int vozr;
 
    void vvod()
    {
        cout<<"vvedite imya";
        cin>>name;
        cout<<"vvedite vozrast";
        cin>>vozr;
    }
    //A(){}
 
    void vivod()
    {
        printf_s("\n imya: %s\n vozrast: %d",name,vozr);
    }
    
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    cout<<"vvedite kolichestvo \n";
    const int g=3;
    A a[g];
    A d;
 for (int i=0;i<g;i++)
 {
     cout<<"Vvedite imya"<<endl;
     cin>>d.name;
     cout<<"Vvedite vozr"<<endl;
     cin>>d.vozr;
 }
 cout<<"spisok";
 for (int i=0;i<g;i++)
 {
     a[i].vivod();
 }
 
 
    return 0;
}
вот результат работы..
выводит не правильные символы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2013, 18:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос выводит не правильные символы (C++):

Выводит не правильные символы - C++
помогите решить ошибку. выводит не то что нужно.если не сложно объясните в чём моя ошибка.Спасибо. #include &quot;stdafx.h&quot; #include...

Программа выводит не правильные значения - C++
#include &lt;iostream&gt; using namespace std; int main () { setlocale(LC_ALL,&quot;RUS&quot;); float sumtwodiagonals; float spd=0.0; ...

Выводит не те символы - C++
Написал простенькую программу для нахождения последнего символа строки, если строка на английском, то работает исправно, все хорошо...

cout Выводит не те символы - C++
Доброго времени суток. Есть такой код: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; #include...

Выводит лишние символы из файла - C++
Есть вот такой код, и где-то ошибка есть во второй части (считывания из файла), ближе к концу при выводе расшифрованной строки. Почему-то с...

Почему выводит лишние символы? - C++
char * buildstr(char c, int n); int main() { setlocale(LC_ALL, &quot;russian&quot;); // русифицировать int times = 0; char ch; ...

5
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 109
Завершенные тесты: 1
29.06.2013, 18:49 #2
Как-то так, наверное)

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
#include <iostream>
 
using namespace std;
 
class A
{
private:                //переменные обычно объявляются закрытыми
    char name[20];          
    int vozr;
 
public:             
    //необходимо объявить конструктор и деструктор 
    A()
    {
        /*cout << "Конструктор класса" << endl;*/
    };
 
    ~A()
    {
        /*cout << "Деструктор класса" << endl;*/
    };
 
    void vvod()
    {
        cout<<"vvedite imya:";
        cin>>name;
 
        cout<<"vvedite vozrast:";
        cin>>vozr;
 
        cout << endl;       
    }
 
    void vivod() const
    {
       cout << "imya:" << name << endl;
       cout << "vozrast:" << vozr << endl << endl;
    }
 
}; 
 
 
 
int main()
{
    size_t amount;          //кол-во объектов
 
    cout<<"vvedite kolichestvo:";
    cin >> amount;
 
    A *a = new A[amount];   //выделяем память
 
    size_t i;   //переменная цикла
 
    for (i=0; i<amount; i++)    //получаем данные
    {
        a[i].vvod();    
    }
 
    cout << endl;
    cout<<"spisok" << endl;;
 
    for (i=0; i<amount; i++)    //выводим на экран
    {
        a[i].vivod();
    }
 
    delete [] a;        //чистим память
 
    return 0;
}
1
Taranga
11 / 11 / 1
Регистрация: 29.04.2012
Сообщений: 56
29.06.2013, 19:13 #3
@DPS, Для него это уж слишком. А ему ошибку так и не объяснил.
@milkk,
C++
1
2
3
4
5
6
7
 for (int i=0;i<g;i++)
 {
     cout<<"Vvedite imya"<<endl;
     cin>>d.name;
     cout<<"Vvedite vozr"<<endl;
     cin>>d.vozr;
 }
Ошибка в том, что ты записывал не в массив. У тебя массив A a[g];
Цикл должен был выглядеть так:
C++
1
2
3
4
5
6
7
for(int i = 0; i < g; i++)
{
     cout<<"Vvedite imya"<<endl;
     cin>>a[i].name;
     cout<<"Vvedite vozr"<<endl;
     cin>>a[i].vozr;
}
А каракули, которые ты видел, это следствие того, что массив ты не инициализировал(не присвоил ему значения)
2
milkk
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 3
29.06.2013, 19:34  [ТС] #4
спасибо, буду дальше осваивать классы)

Добавлено через 13 минут
Цитата Сообщение от DPS Посмотреть сообщение
Как-то так, наверное)

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
#include <iostream>
 
using namespace std;
 
class A
{
private:                //переменные обычно объявляются закрытыми
    char name[20];          
    int vozr;
 
public:             
    //необходимо объявить конструктор и деструктор 
    A()
    {
        /*cout << "Конструктор класса" << endl;*/
    };
 
    ~A()
    {
        /*cout << "Деструктор класса" << endl;*/
    };
 
    void vvod()
    {
        cout<<"vvedite imya:";
        cin>>name;
 
        cout<<"vvedite vozrast:";
        cin>>vozr;
 
        cout << endl;       
    }
 
    void vivod() const
    {
       cout << "imya:" << name << endl;
       cout << "vozrast:" << vozr << endl << endl;
    }
 
}; 
 
 
 
int main()
{
    size_t amount;          //кол-во объектов
 
    cout<<"vvedite kolichestvo:";
    cin >> amount;
 
    A *a = new A[amount];   //выделяем память
 
    size_t i;   //переменная цикла
 
    for (i=0; i<amount; i++)    //получаем данные
    {
        a[i].vvod();    
    }
 
    cout << endl;
    cout<<"spisok" << endl;;
 
    for (i=0; i<amount; i++)    //выводим на экран
    {
        a[i].vivod();
    }
 
    delete [] a;        //чистим память
 
    return 0;
}
Может подскажите как вывести тех у кого возраст меньше 20 например
0
Taranga
11 / 11 / 1
Регистрация: 29.04.2012
Сообщений: 56
29.06.2013, 19:39 #5
Могу посоветовать неплохие видео уроки от Дениса Маркова.
Кликните здесь для просмотра всего текста

Не по теме:

YouTube->Denis Markov



Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
for (int i = 0; i < g; ++i)
{
    if (a[i].vozr < 20)
    {
        cout << a[i].name<<endl;
        cout << a[i].vozr<<endl;
    }
}
0
milkk
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 3
29.06.2013, 19:40  [ТС] #6
Цитата Сообщение от Taranga Посмотреть сообщение
Могу посоветовать неплохие видео уроки от Дениса Маркова.
Кликните здесь для просмотра всего текста

Не по теме:

YouTube->Denis Markov



Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
for (int i = 0; i < g; ++i)
{
    if (a[i].vozr < 20)
    {
        cout << a[i].name<<endl;
        cout << a[i].vozr<<endl;
    }
}
спасибо большое)
0
29.06.2013, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2013, 19:40
Привет! Вот еще темы с ответами:

static_cast<char>() не выводит некоторые символы - C++
Редактор geany, компилятор gcc. cout&lt;&lt; static_cast&lt;char&gt;(4) заместо ожидаемого знака бубей ничего не выводится. При этом ...

Почему выводит не понятные символы, а не то что вводилось пользователем? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;sstream&gt; #include &lt;cstring&gt; #include &lt;conio.h&gt; using namespace std; ...

Когда считываю информацию с файла, то выводит в конце непонятные символы - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;fstream&gt; using namespace std; ...

Не выводит русские символы в консоли в одном приложении, Code::Blocks - C++
Делаю консольную программу, она должна заменять букву &quot;а&quot; на &quot;у&quot; из введенного текста, проблемы с выводом русского именно в ней (в других...


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

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

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