1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
|
|
1 | |
Прата - составные типы20.06.2012, 15:50. Показов 2586. Ответов 16
Метки нет (Все метки)
Добрый день.
Недавно начал заниматься С++ по книге Прата. Прошел четвертую главу и встретил такую задачу: Напишите программу С++, которая запрашивает и отображает информацию, как показано в следующем примере: What is your first name? Betty Sue What is your last name? Yew What letter grade do you deserve? B What is your age? 22 Name: Yew, Betty Sue Grade: C Age: 22 ...Отметьте, что программа должна уменьшать значение grade на 1 шаг - то есть на одну букву выше. Предполагается, что пользователь может ввести A, B или C, то есть Вам не нужно беспокоиться о пропуске между D и F. Собственно вопрос заключается вот в чем: Трудный для меня момент я выделил жирным. Как это можно сделать? В четвертой главе рассматривались составные типы (строки, массивы, последовательности, структуры, объединения, операции new и delete). Я не понимаю, как с их помощью можно решить эту задачу. Помогите, пожалуйста.
0
|
20.06.2012, 15:50 | |
Ответы с готовыми решениями:
16
Составные типы Составные типы данных: структуры Прата С. 6.6 С.Прата, задача 3.5 |
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
|
||||||
20.06.2012, 16:27 | 2 | |||||
Я так сделал эту задачку:
1
|
20.06.2012, 16:36 | 3 | |||||
Можно ище добавить небольшую проверку
0
|
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
|
||||||
20.06.2012, 17:18 [ТС] | 4 | |||||
Получилось, спасибо большое.
Добавлено через 36 минут Еще одна задача не получается... Есть такой код:
Как делать динамические массивы и динамические структуры с помощью new, я разобрался, а вот с динамическим массивом структур ничего не выходит... Помогите, пожалуйста.
0
|
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
|
|||||||||||
20.06.2012, 17:45 | 5 | ||||||||||
9 задача из этого учебника
Сначала объявляешь указатель типа структуры ,а потом определяешь его через new, У меня сделано в одной 11 строчке Кстати число структур(в моем случе 3) лучше объявить до int main() вот так:
0
|
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
|
|
20.06.2012, 17:56 [ТС] | 6 |
В твоем коде используется цикл, а это в данной книге - 5 глава, т.е. следующая.
Можно как-то инициализировать это все дело в самой программе?
0
|
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
|
|
20.06.2012, 18:01 | 7 |
объявление идет до цикла
цикл введен чтобы не писать кучу раз выводы/вводы
0
|
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
|
|
20.06.2012, 18:05 [ТС] | 8 |
Так я так и делал, а потом когда пытался ввести данные, ничего не выходит.
Причем, я так понимаю, нужно, чтобы данные уже были введены во время компиляции, а не во время выполнения.
0
|
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
|
||||||
20.06.2012, 18:07 | 9 | |||||
Раз не поленился каждый элемент массива отдельно вывести, то инициализируй также:
Мне просто лень стало 9 выводов писать , я сделал в цикле
0
|
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
|
||||||
20.06.2012, 18:31 | 11 | |||||
0
|
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
|
|
20.06.2012, 18:38 [ТС] | 12 |
Так и есть это не компилируется.
Че ж делать тогда, если циклов я еще не знаю?
0
|
60 / 45 / 12
Регистрация: 07.10.2011
Сообщений: 139
|
||||||
20.06.2012, 18:42 | 13 | |||||
считывай тогда через std::cin в это поле тогда все работает
Добавлено через 1 минуту вобщем так:
0
|
20.06.2012, 18:46 | 14 | ||||||||||
А можно объявить конструктор в структуре:
0
|
yleart
|
20.06.2012, 18:47
#15
|
Не по теме: до конструкторов в структуре там еще глав 5 , а то и 10
0
|
1 / 1 / 0
Регистрация: 20.06.2012
Сообщений: 28
|
|
20.06.2012, 18:53 [ТС] | 16 |
Не на своем месте задача, получается...
Спасибо большое, помогли. Пойду дальше штудировать.
0
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 8
|
|
01.09.2013, 14:15 | 17 |
Код
//4.9.cpp #include <iostream> #include <windows.h> #include <cstring> using namespace std; struct CandyBar { string naimen; float ves; unsigned int cal; }; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); CandyBar * snack = new CandyBar[3]; snack[0].naimen = "Семечки"; snack[0].ves = 0.1; snack[0].cal = 800; snack[1].naimen = "Чипсы"; snack[1].ves = 0.2; snack[1].cal = 530; snack[2].naimen = "Орешки"; snack[2].ves = 0.25; snack[2].cal = 450; cout << "Первый снэк " << snack[0].naimen << " вес " << snack[0].ves << " каллории " << snack[0].cal << endl; cout << "Второйй снэк " << snack[1].naimen << " вес " << snack[1].ves << " каллории " << snack[1].cal << endl; cout << "Третийй снэк " << snack[2].naimen << " вес " << snack[2].ves << " каллории " << snack[2].cal << endl; cin.get(); cin.get(); delete [] snack; return 0; }
0
|
01.09.2013, 14:15 | |
01.09.2013, 14:15 | |
Помогаю со студенческими работами здесь
17
Прата задача 6.9 C++ - Прата задача 6.9 Прата -> Шлее = PROFIT? Ищу книгу С. Прата Прата и умные указатели Ошибка в коде(С.Прата) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |