Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119

float vs string

20.02.2011, 15:57. Показов 4471. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в общем есть такая конструкция
C++
1
2
3
4
5
6
FILE* pfi;
    char* fn = "D:/test.txt";
    pfi= fopen(fn,"w+");
    fputs("\tx=",pfi);
    fputs(x,pfi);
    fclose(pfi);
x float и функция не хочет писать симво в файл. Подскажите как его сделать стрингом?
Ну или как можно соединисть строку "\t x=" со значением 2.452354, что б вышла в итоге строка "\t x=2.452354" и потом уже ее записать в файл.


Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2011, 15:57
Ответы с готовыми решениями:

Из float в string
Как из переменной типа флоат записать число в string? float x = -123.56; string Str; Нужно чтобы Str стало равно "-123.56"

String разбить на float
Всем привет.Хочу создать консольную программу по нахождению неизвестной переменной - x. Программа будет работать так : string...

Преобразование string в float
подскажите как оптимальнее преобразовать число в формате CString -1E+008, которое я получаю из Excel-я. Может существуют стандартные...

29
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.02.2011, 17:06
Студворк — интернет-сервис помощи студентам
Потому что у вас x1 объявлен как float (кстати, лучше использовать double), а выводите вы её с целочисленным спецификатором %d. Надо использовать %f. А ещё лучше всё же забить на fprintf и использовать плюсовые потоки.
1
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
20.02.2011, 17:14  [ТС]
Вы, как всегда, правы. Спасибо за помощь
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    FILE* pfi;
    char* fn = "D:\\test.txt";
    float x1,x2,x,h,y;
    pfi= fopen(fn,"w+");
    cout << "Enter x1: "; cin>>x1;
    cout << "Enter x2: "; cin>>x2;
    cout << "Enter  h: "; cin>>h;
    cout << "\n "<< x1 << " < x =< 3: \n"; 
    fprintf(pfi, "%.0f < x =< 3\n", x1);
    for (x = x1; x <= 3; x=x+h)
    {
        y = 1;
        for (int i=0; i<=3; i++)
        {
            y=y*(x*x+i);
        }
        fprintf(pfi, "\tx = %.1f ", x);
        fprintf(pfi, "\ty = %.2f\n", y);
        cout << "\tx= " << x << "\t y= " << y << "\n";
    }
    cout << "\n "<< x << " < x < 8: \n"; 
    fprintf(pfi, "\n%.1f < x < 8\n", x);
    for (x; x<8; x=x+h)
    {
        y = (x+2)*(x*x-3);
        fprintf(pfi, "\tx = %.1f ", x);
        fprintf(pfi, "\ty = %.2f\n", y);
        cout << "\tx= " << x << "\t y= " << y << "\n";
    }
    fclose(pfi);
    system ("pause");
}
http://h1813090.stratoserver.n... K9ivnw.png
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
20.02.2011, 17:15
Цитата Сообщение от kRicha Посмотреть сообщение
разве эта функция не выводит строку на экран?
printf(...) это тоже самое что fprintf(stdout, ...)
1
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
20.02.2011, 17:36  [ТС]
такс, то была первая часть, скомпилировав которую, я получил файл work.exe

вторая часть такая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <Windows.h>
 
using namespace std;
 
int main(int argc, char* argv[])
{
STARTUPINFO cif;
    ZeroMemory(&cif,sizeof(STARTUPINFO));
    PROCESS_INFORMATION pi;
    CreateProcess("d:\\work.exe",NULL,
        NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi);
}
я прально делаю, или неть?

Добавлено через 13 минут
если что, само задание вот

Перевод:
Написать две программы на языке С в виде Win32 Console Application приложений.
- первая программа производит табулирование функции согласно с вариантом; значение диапазона и шаг задается вводом с клавиатуры, результат записывается в файл;
- вторая программа выполняет запуск процесса, который связан с исполняемым кодом первой программы, считывает содержимое файла, созданного процессом и отображает результат в табличном виде


 Комментарий модератора 
Правила форума
1.3 Официальным языком форума является русский язык.
2.11 Картинки загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.
0
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
21.02.2011, 00:12  [ТС]
да, впредь, так и буду делать. Спасибо.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.02.2011, 01:21
C++
1
2
3
4
5
6
7
/*
#include <fstream>
char INPUT[] = "input.txt";
char OUTPUT[] = "output.txt";
std::ifstream cin(INPUT);
std::ofstream cout(OUTPUT);
//*/
Конечно чистое ИМХО но веселее бы freopen или же rdbuf-ы
1
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
21.02.2011, 01:25  [ТС]
а таким языком, как для народа?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.02.2011, 01:33
kRicha,
C
1
2
freopen("input.txt", r, stdin);
freopen("output.txt", w, stdout);
C++
1
2
3
4
std::ifstream ifs("input.txt");
std::cin.rdbuf(ifs.rdbuf());
std::ofstream ofs("output.txt");
std::cout.rdbuf(ofs.rdbuf());
Добавлено через 3 минуты
Плюс пример для перенаправления cout-а в файл, а затем обратно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <fstream>
 
int main()
{
    std::streambuf* out;
    std::ofstream ofs("output.txt");
    out=std::cout.rdbuf();
    std::cout.rdbuf(ofs.rdbuf());
    std::cout<<"Someone\n";
    std::cout.rdbuf(out);
    std::cout<<"Someone\n";
    return 0;
}
2
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
21.02.2011, 01:34  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
kRicha,
C
1
2
freopen("input.txt", r, stdin);
freopen("output.txt", w, stdout);
C++
1
2
3
4
std::ifstream ifs("input.txt");
std::cin.rdbuf(ifs.rdbuf());
std::ofstream ofs("output.txt");
std::cout.rdbuf(ofs.rdbuf());
спасиб, конечно за старания, но я такое впервые вижу, не особо понимаю полное назначение, но да ладно... пусть будет как есть, мне галвное знать по заданию я сделал или нет
0
21.02.2011, 01:37

Не по теме:

ForEveR, поскольку плюсы познаю в достаточно вольной форме - пока не могу себя заставить более основательно перейти к таким вещам как STL, да и потоки знаю достаточно поверхностно (в частности, про rdbuf не слышал). От того и предложил такой извращенский способ, о чём честно и откровенно отписался)))

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.02.2011, 01:37

Преобразовать string в float
Привет! Подскажите, пожалуйста, наиболее простой способ, как преобразовать значение типа string в float.

Перевод из string в float
считывается выражение (числа и 5 возможных действий +, -, /, *, %) надо его посчитать планирую делать через польскую обратную запись ...

Конвертация string в float
string to float или double обычная консоль как перевести

Преобразование String в float
Добрый день уважаемые форумчане. Подскажите пожалуйста как преобразовать String в float. Заранее благодарен.

Конвертирования float в string
Доброго времени суток...кто может обяснить что означает каждая строка... string *ch = new string, ch1; char szbuff; for (int i =...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru