Подскажите как скопировать часть строки. То есть с первого символа до x и от + до =. В интернете есть функция strcpy, но компилятор пишет error: 'strcpy' was not declared in this scop.
И какой этот инклюд? И ещё нужна функция определяющая каким по счёту идёт символ x. Потом надо будет удалить всё до + вмести с ним, и скопировать всё до =. Потом надо будет выполнить действие с полученными данными, но они получаются типа char, а выполнять с ними действия нельзя. Интересует как можно перевести этот тип в тип fload?
И ещё нужна функция определяющая каким по счёту идёт символ x вот здесь Интересует как можно перевести этот тип в тип float? как то так
собственно google знает ответы почти на все вопросы не ленитесь искать.
Можно использовать поток вывода: #include <iostream> #include <string> #include <sstream>
int main() { float fOne = 5.f, fTwo = 2.f;
std::ostringstream stm;
stm << fOne << fTwo;
std::cout << stm.str() << std::endl;
return 0; }
А если использовать стандарт С++11, там для преобразования доступна такая функция: std::string a = std::to_string(fOne) + std::to_string(fTwo);
Тут немного другой смысл. Есть цикл, в нём условия. Если условие выполняется то к переменной добавить цифру, если нет то переходим к следующему условию и т. д.
Написать программу решающую уравнение вида ax+b=с. При этом вводят не коэффициенты a и b, а само уравнение то есть 124x+2356=0 или -213x+6135=3444 . При этом если a=0 и b=c то выводится надпись что x любое. Если a=0 и b неравно c то надпись нет корней.
floattostr из крестов и есть. И в сях и на делфях было.
А, объединение точкой да, не сканает, по привычке написал, можно соединять примерно так: strcat(floattostr(5),floattostr(2)), ну или как у тебя, потоками.
На сях лет 15 назад писал, если не считать поделки по-мелочи, так что мой маразм простителен :0))
Нужно понять, что есть стандартная библиотека языка C, а есть для С++. #include <string.h> - для С #include <cstring> - для С++
Вторая, по сути - лишь обертка для первой.
Родной для С++ является реализация std::string #include <string>
Работа со строками есть еще в куче библиотек, вплоть до Qt.
Функции вроде ctrcpy - являются небезопасными (работают с указателями и можно налепить ошибок, вызывающих переполнение буфера), однако они работают быстрее своих безопасных ООП аналогов.
Со строками в С++ нужно работать через std::string, а не через char*.
Иначе новичёк рискует словить разные вкусности типа переполнения стека и потерянной памяти...
Разбор выражения общего вида проще всего писать методом рекурсивного спуска.
В твоём случае нужно написать функции для разбора числа, переменной, оператора и вызвать их в нужной последовательности.
Ну и домашние задания лучше делать самостоятельно, не привлекая коллективный разум.
Иначе твой разум останется на уровне амёбы. :)
Добавьте инклюд заголовка с этой функцией.
Добавьте инклюд заголовка с этой функцией.
И какой этот инклюд? И ещё нужна функция определяющая каким по счёту идёт символ x. Потом надо будет удалить всё до + вмести с ним, и скопировать всё до =. Потом надо будет выполнить действие с полученными данными, но они получаются типа char, а выполнять с ними действия нельзя. Интересует как можно перевести этот тип в тип fload?
string.h
насколько помню...
вот здесь
как то так
собственно google знает ответы почти на все вопросы не ленитесь искать.
А как к переменной типа float добавить значение другой переменной. То есть если в одной 5, а в другой 2 то должно получиться 52, а не 7.
Можно использовать поток вывода:
#include <iostream>
#include <string>
#include <sstream>
int main()
{
float fOne = 5.f, fTwo = 2.f;
std::ostringstream stm;
stm << fOne << fTwo;
std::cout << stm.str() << std::endl;
return 0;
}
А если использовать стандарт С++11, там для преобразования доступна такая функция:
std::string a = std::to_string(fOne) + std::to_string(fTwo);
А зачем так сложно?
Можно же просто floattostr(5).floattostr(2)
Вообще-то в php явно приводить данные типы не нужно, да и "кресты" тут у нас =)
Тут немного другой смысл. Есть цикл, в нём условия. Если условие выполняется то к переменной добавить цифру, если нет то переходим к следующему условию и т. д.
И как это мешает? Давай уже задачку целиком... =)
Написать программу решающую уравнение вида ax+b=с. При этом вводят не коэффициенты a и b, а само уравнение то есть 124x+2356=0 или -213x+6135=3444 . При этом если a=0 и b=c то выводится надпись что x любое. Если a=0 и b неравно c то надпись нет корней.
floattostr из крестов и есть. И в сях и на делфях было.
А, объединение точкой да, не сканает, по привычке написал, можно соединять примерно так: strcat(floattostr(5),floattostr(2)), ну или как у тебя, потоками.
На сях лет 15 назад писал, если не считать поделки по-мелочи, так что мой маразм простителен :0))
Покажи заголовок с объявлением данной функции =) Набось, в билдере каком-нить юзал. Зачем учить плохому?
Вот не пойму - зачем тут это?
Возможно, чтобы было.
Чтобы в разделе "программирование" мышь не повесилась =)
Нужно понять, что есть стандартная библиотека языка C, а есть для С++.
#include <string.h>
- для С#include <cstring>
- для С++Вторая, по сути - лишь обертка для первой.
Родной для С++ является реализация std::string
#include <string>
Работа со строками есть еще в куче библиотек, вплоть до Qt.
Функции вроде ctrcpy - являются небезопасными (работают с указателями и можно налепить ошибок, вызывающих переполнение буфера), однако они работают быстрее своих безопасных ООП аналогов.
Со строками в С++ нужно работать через std::string, а не через char*.
Иначе новичёк рискует словить разные вкусности типа переполнения стека и потерянной памяти...
Разбор выражения общего вида проще всего писать методом рекурсивного спуска.
В твоём случае нужно написать функции для разбора числа, переменной, оператора и вызвать их в нужной последовательности.
Ну и домашние задания лучше делать самостоятельно, не привлекая коллективный разум.
Иначе твой разум останется на уровне амёбы. :)
Отправить комментарий