![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.05.2013
Сообщений: 3
|
![]()
программа подгружает файл в котором несколько сотен строк с дробными числами,затем сравнивает попарно 2 и 1, 3 и 2 и т.д. значения строк. если 2 больше 1,то 1й счетчик "а" увеличивается на 1.при достижении а=2, значение 2 счетчика "b" увеличивается на 1,а значение "а" обнуляется.
при запуске ошибки конвертации string в double: 111/main.cpp|24|ошибка: cannot convert «std::string {aka std::basic_string<char>}» to «const char*» for argument «1» to «double atof(const char*)»| 111/main.cpp|28|ошибка: cannot convert «std::string {aka std::basic_string<char>}» to «const char*» for argument «1» to «double atof(const char*)»| #include <string> #include <fstream> #include <iostream> #include <stdlib.h> using namespace std; int main() { string line; //Текущая строка из файла int nLines = 1;//Думаю ясно что эта переменная будет хранить ifstream ifs("input.txt"); if(!ifs.is_open()) { cout<<"Ошибка открытия файла input.txt\n"; return 0; } cout << "Число строк : "<<nLines<<endl; cout<<"Для продолжения работы программы нажмите любую клавишу..."; cin.get(); int i = 0; int a = 0; int b = 0; double x1, x2; getline(ifs, line); x1 = atof (line); while(getline(ifs,line)) { nLines++; x2 = atof(line); if(x2 > x1){ a++; } if(a==2){ b++;a = 0; cout<<"Точка пика : "<<i<<endl; } x1 = x2; } ifs.close(); cout << "Число строк : "<<nLines<<endl; cout << "Всего пиков: "<<b<<endl; return 0; } |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
1) Аргумент какого типа ожидает функция atof()?
2) А Вы что ей даёте? 3) У класса std::string есть метод c_str(), можно использовать его. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 23.05.2013
Сообщений: 3
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Новичок
Джуниор
Регистрация: 23.05.2013
Сообщений: 3
|
![]() Цитата:
main (1).cpp||In function 'int main()':| main (1).cpp|24|error: cannot convert 'const char*' to 'double' in assignment| main (1).cpp|28|error: cannot convert 'const char*' to 'double' in assignment| Код:
|
|
![]() |
![]() |
![]() |
#5 | |||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
Цитата:
Метод c_str() возвращает C-строку, соответствующую содержанию std::string. Функция atof() принимает C-строку и возвращает значение типа float. |
|||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопросик и просьба помочь | Юлясонце | Софт | 1 | 25.09.2012 08:58 |
Просьба помочь с задачкой:) | ssnnqq | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 31.03.2012 21:29 |
Просьба помочь! С++/С# | Lihoj | Фриланс | 0 | 08.12.2011 02:49 |
Просьба помочь | Ditmar | Microsoft Office Word | 1 | 28.04.2010 13:11 |
Просьба помочь с задачей. | kry | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 11.01.2009 13:53 |