Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Аноним00
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 5
1

Объяснить, что происходит в заданном фрагменте кода

12.01.2016, 22:11. Просмотров 794. Ответов 3
Метки нет (Все метки)

В подпрограмме Всё предельно ясно кроме одной строки - P.year=y[0]-'0';
Объясните недалёкому что происходит в строке
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
{
    system("cls");
    char y[64];
    cout<<endl<<endl<<"\tВведитефамилиюаспиранта: ";
    cin>>P.name;
a:  cout<<endl<<"\tВведитегодобучения(1-3): ";
    cin>>y;
    if (y[0]!='1' && y[0]!='2' && y[0]!='3')
        goto a;
    P.year=y[0]-'0';
    cout<<endl<<"\tЕсть ли долги у аспиранта? (Да - Enter, Нет - Space)";
b:  y[0]=getch();
    if (y[0]==13)
        P.debt=true;
    else if (y[0]==32)
        P.debt=false;
    else 
    {
        cout<<endl<<"Неправильное значение. ";
        goto b;
    };
    write(q);
    cout<<endl<<endl<<endl<<"\t\t\tАспирант успешно занесен в БД!"<<endl<<endl<<endl<<endl<<"\t\tХотите внести ещё одного? (Да - Enter, Нет - Любаяклавиша)";
    y[0]=getch();
    if (y[0]==13)
        vvod(true);
    return;
};
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2016, 22:11
Ответы с готовыми решениями:

Объяснить, что происходит в заданном фрагменте кода
ifstream f(&quot;Базаданных.bd&quot;, ios::binary); f.read((char*)&amp;P,sizeof(P)); do ...

Списки: объяснить, что происходит в заданном фрагменте кода
Помогите разобраться в коде, вот код с# public class Node { ...

Объяснить, что происходит в заданном фрагменте кода (шифр Цезаря)
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt;...

Очередь на основе массива: объяснить что происходит в заданном фрагменте кода
всем привет. начал разбираться с очередью на с++ и наткнулся на пример. вот...

Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода
Всем доброго времени суток! Я не до конца разобрался в данной теме. К примеру,...

3
Renji
2114 / 1552 / 473
Регистрация: 05.06.2014
Сообщений: 4,505
12.01.2016, 22:18 2
Лучший ответ Сообщение было отмечено Аноним00 как решение

Решение

Цитата Сообщение от Аноним00 Посмотреть сообщение
В подпрограмме Всё предельно ясно кроме одной строки - P.year=y[0]-'0';
Из кода символа y[0], вычитается код символа '0'. Так как коды цифр идут по порядку, для '0'-'0' получаем ноль, для ’1'-'0' - единицу и так далее (0!='0', если что). В C/C++ "символьный" тип хотя и называется char, де-факто просто число и от int отличается только количеством бит. Так что такие операции с ним вполне допустимы.
1
Аноним00
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 5
12.01.2016, 22:33  [ТС] 3
Такая каша в голове сейчас, просто скажи что происходит в строчке,я просто профан в этом деле
0
Renji
2114 / 1552 / 473
Регистрация: 05.06.2014
Сообщений: 4,505
12.01.2016, 22:35 4
Преобразование первого символа y в соответствующее ему число.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2016, 22:35

Объяснить, что происходит в данном фрагменте кода (матрицы)
Вообщем столкнулся с первой проблемой в изучении данного языка (с++). Мой мозг...

Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы)
Объясните пожалуйста данный моментfor (int i = 1; i &lt;= a; i++) { if (m ==...

Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода
Всем доброго времени суток! Помогите разобраться с кодом. const char x =...


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

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

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