Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147

Структура CandyBar

12.07.2012, 19:05. Показов 1206. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Первая задачка решилась сама собой, был не внимателен в коде

Добавлено через 30 минут
С первой задачкой разобрался, но тут с другой проблема вылезла. Тоже по функциям.
Компилируется без проблем, но при вводе строки и нажатии enter выдаёт ошибку и на этом всё
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
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
string str (string &num);
int main()
{
    string kil;
    string kol = "q";
    cout << "Vvedite stroku (q -> for quit): ";
    cin >> kil;
    if(kil==kol)
        cout << "Dosvidos";
    else {
    str(kil);
    cout << endl << kil;
    cin>>kil;}
    for (int i=0; i<100; i++)
        cin.get();
    return 0;
}
string str (string &num)
{
    string op;
    for (int i=0;;i++)
        op[i]=toupper(num[i]);
    return op;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.07.2012, 19:05
Ответы с готовыми решениями:

Структура CandyBar
Структура CandyBar содержит три члена.Первый член хранит название коробки конфет.Второй - ее вес (который может иметь дробную часть), а...

Напишите программу, которая создает массив из трех структур CandyBar
Добрый Вечер! Выполните упражнение б, но вместо объявления массива из трех структур CandyBar используйте операцию new для...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость.
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим...

13
9 / 9 / 0
Регистрация: 05.07.2012
Сообщений: 38
12.07.2012, 19:26
Используй std::getline.
C++
1
2
std::string s;
std::getline(std::cin, s);
Будет принимать строку до нажатия enter'а.

C++
1
    for (int i=0;;i++)
Откуда программа знает где остановиться?
0
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147
12.07.2012, 19:45  [ТС]
Цитата Сообщение от Marko Посмотреть сообщение
Используй std::getline.
C++
1
2
std::string s;
std::getline(std::cin, s);
Будет принимать строку до нажатия enter'а.

C++
1
    for (int i=0;;i++)
Откуда программа знает где остановиться?
что-то getline не помог.
Я подправил код уже, но всё равно та же шляпа. Ошибка где-то в цикле строк 26-27
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
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
string str (string &num);
int main()
{
    string kil;
    string kol = "q";
    cout << "Vvedite stroku (q -> for quit): ";
    cin>>kil;
    if(kil==kol)
        cout << "Dosvidos";
    else {
    str(kil);
    cout << endl << kil;
    cin>>kil;}
    for (int i=0; i<100; i++)
        cin.get();
    return 0;
}
string str (string &num)
{
    string op;
    int len = num.size();
    for (int i=0;i<len;i++)
        op[i]=toupper(num[i]);
    return op;
}
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 20:45
Цитата Сообщение от Fooly Посмотреть сообщение
Я подправил код уже, но всё равно та же шляпа. Ошибка где-то в цикле строк 26-27
Вместо:
C++
1
op[i]=toupper(num[i]);
поставьте
C++
1
op.push_back(toupper(num[i]));
У вас обращение по индексу к пустой строке получается.
1
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147
12.07.2012, 20:50  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Вместо:
C++
1
op[i]=toupper(num[i]);
поставьте
C++
1
op.push_back(toupper(num[i]));
У вас обращение по индексу к пустой строке получается.
а что означает op.push_back?
Мне нужно чтобы строку переводиол в верхний регистр. Заменил строчку - перестало выкидывать, но в верхний регистр не загоняет ниодного символа
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 21:04
Идея непонятна. Переводите в верхний регистр и нигде не используете.

Добавлено через 30 секунд
Цитата Сообщение от Fooly Посмотреть сообщение
а что означает op.push_back?
Поместить в конец строки op.

Добавлено через 2 минуты
Цитата Сообщение от Fooly Посмотреть сообщение
Мне нужно чтобы строку переводиол в верхний регистр
Чтобы увидеть перевод, запишите 15 стороку так:
C++
1
cout << str(kil) << endl;
Добавлено через 1 минуту
Я же выше написал: переводите в верхний регистр и нигде не используете возвращаемое значение.

Добавлено через 5 минут
А, в 18 - 19 строках, что должно быть?
0
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147
12.07.2012, 21:12  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Идея непонятна. Переводите в верхний регистр и нигде не используете.

Добавлено через 30 секунд

Поместить в конец строки op.

Добавлено через 2 минуты

Чтобы увидеть перевод, запишите 15 стороку так:
C++
1
cout << str(kil) << endl;
Добавлено через 1 минуту
Я же выше написал: переводите в верхний регистр и нигде не используете возвращаемое значение.

Добавлено через 5 минут
А, в 18 - 19 строках, что должно быть?
Я хотел каждый символ полченной строки перевести в верхний регистр с помощью toupper и присвоить новой строке op. И потом эту строку возвращаю return op.
18-19 cтроки нужны, чтобы программа не закрывалась во время ввода.
0
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147
12.07.2012, 21:15  [ТС]
Условие задачи ниже
Миниатюры
Структура CandyBar  
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.07.2012, 21:18
Вот вариант со string:
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
#include <iostream>
#include <cctype>
#include <string>
#include <Windows.h>
 
using namespace std;
 
string str_upper(string&);
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
    string input;
    cout << "Введите строку (q для выхода): ";
    getline(cin, input);
    if(input == "q" || input == "Q")
        cout << "Прощавайте"<<endl;
    else 
        cout <<"До обработки: "<<input<<endl
        <<"После обработтки: "<<str_upper(input) <<endl;
    system("pause");
    return 0;
}
string str_upper(string& num)
{
    string temp;
    for (int i=0; i<num.size(); i++)
        temp.push_back(toupper(num[i]));
    return temp;
}
1
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147
12.07.2012, 21:22  [ТС]
Цитата Сообщение от yuron_477 Посмотреть сообщение
Вот вариант со string:
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
#include <iostream>
#include <cctype>
#include <string>
#include <Windows.h>
 
using namespace std;
 
string str_upper(string&);
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
    string input;
    cout << "Введите строку (q для выхода): ";
    getline(cin, input);
    if(input == "q" || input == "Q")
        cout << "Прощавайте"<<endl;
    else 
        cout <<"До обработки: "<<input<<endl
        <<"После обработтки: "<<str_upper(input) <<endl;
    system("pause");
    return 0;
}
string str_upper(string& num)
{
    string temp;
    for (int i=0; i<num.size(); i++)
        temp.push_back(toupper(num[i]));
    return temp;
}
Сейчас нету возможности проверить код, но вроде моя функция по ппереводу в верхний регистр похожая (после замены на op.push_back) Но она ничего не подымала =(
0
12.07.2012, 21:36

Не по теме:

Fooly, какой вы все таки извращенец...

0
 Аватар для Fooly
21 / 17 / 4
Регистрация: 26.03.2012
Сообщений: 147
12.07.2012, 21:37  [ТС]
Цитата Сообщение от Ksan Посмотреть сообщение

Не по теме:

Fooly, какой вы все таки извращенец...

всё в норме, всё поднялось, нашёл ошибку
0
12.07.2012, 21:41

Не по теме:

Fooly, я о стиле писания кода. Какой-то он извращенский...

0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2012, 22:59
Цитата Сообщение от Fooly Посмотреть сообщение
Условие задачи ниже
Если смотреть по примеру в задаче, то ввод должен быть в цикле, из которого выход по нажатию "q".

Добавлено через 12 минут
код
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
#include <iostream>
#include <cctype>
#include <string>
#include <Windows.h>
 
using namespace std;
 
string str_upper(string&);
 
int main()
{
    setlocale(0, ""); // без этого почему-то русские не переводятся в верхний.
    SetConsoleCP (1251); 
    SetConsoleOutputCP (1251);
    
    string input;
    do
    {
    cout << "Введите строку (q для выхода): ";
    getline(cin, input);
    if(input == "q" || input == "Q")
        {
        cout << "Прощавайте"<<endl;
        break;
        }
    else 
        cout <<"До обработки: "<<input<<endl
        <<"После обработтки: "<<str_upper(input) <<endl;
    } while (true);
    system("pause");
    return 0;
}
string str_upper(string& num)
{
    string temp;
    for (int i=0; i<num.size(); i++)
        temp.push_back(toupper(num[i]));
    return temp;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.07.2012, 22:59
Помогаю со студенческими работами здесь

Структура «База», сущности «Универсам» и «Продукты», структура «Товар»
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

структура array предназначена для хранения строки типа char. Структура имеет функцию, которая позволяет изменить символ
структура array предназначена для хранения строки типа char. Структура имеет функцию, которая позволяет изменить символ с указанным...

Структура DateTime, битовая структура
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год ...

Структура, доступная из всех файлов проекта ("глобальная" структура)
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

Структура и вложенная структура
Подскажите как сделать задание, такого рода Иванов Математика 80 История 60 Физика 67 ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru