Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2016, 16:01   #1
YuliaPar
Новичок
Джуниор
 
Регистрация: 10.05.2016
Сообщений: 1
По умолчанию Помогите написать программу, С++

1.ОПРЕДЕЛИТЬ КАКАЯ ИЗ ДВУХ ФИГУР, КРУГ ИЛИ КВАДРАТ, ИМЕЕТ БОЛЬШУЮ ПЛОЩАДЬ. ЗНАЧЕНИЯ СТОРОНЫ КВАДРАТА – А И РАДИУС КРУГА R ВВОДЯТСЯ ЧЕРЕЗ ФАЙЛ INPUT.TXT. ВЫВЕСТИ В ВЫХОДНОЙ ФАЙЛ OUTPUT.TXT НАЗВАНИЕ И ЗНАЧЕНИЕ ПЛОЩАДИ БОЛЬШЕЙ ФИГУРЫ.
YuliaPar вне форума Ответить с цитированием
Старый 11.05.2016, 14:49   #2
zer0mail
 
Регистрация: 08.12.2014
Сообщений: 4
По умолчанию

Мда... сам ничего не сделал, да еще КРИЧИТ.
zer0mail вне форума Ответить с цитированием
Старый 19.05.2016, 09:37   #3
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Файлы INPUT.TXT и OUTPUT.TXT должны находиться на диске C:/
В файле INPUT.TXT структура данных такая:

A=2.84
R=5






#include <fstream>
#include <iostream>
using namespace std;


double preobrasovanie(char x[15])
{
double y=0;
int t = 0, e=0;
for (int v = 0; v < 15; v++)
{
switch (x[v])
{
case '1': {y = y * 10 + 1; t++; break; }
case '2': {y = y * 10 + 2; t++; break; }
case '3': {y = y * 10 + 3; t++; break; }
case '4': {y = y * 10 + 4; t++; break; }
case '5': {y = y * 10 + 5; t++; break; }
case '6': {y = y * 10 + 6; t++; break; }
case '7': {y = y * 10 + 7; t++; break; }
case '8': {y = y * 10 + 8; t++; break; }
case '9': {y = y * 10 + 9; t++; break; }

case '.': {e =t; break; }
}
}
if (e != 0)
{
for (int v = 0; v < (t - e); v++)
y = y / 10;
}

return y;
}

int main()
{

setlocale(LC_ALL, "rus"); // корректное отображение Кириллицы
double A, R;
char a[15], r[15];

// 1) ЧТЕНИЕ ИЗ ФАЙЛА

fstream in("C:/INPUT.txt", ios_base::in);
if (!in.is_open())
cout << "Ошибка чтения файла\n\n";
else
{
in.getline(a, 15);
in.getline(r, 15);
in.close();
}
A = preobrasovanie(a);
R = preobrasovanie(r);

// 2) ЗАПИСЬ В ФАЙЛ

ofstream out("C:/OUTPUT.txt");

// if (!out.is_open())
//

if (A*A > 3.14*R*R)
out << "Площадь квадрата больше S=" << A*A;
if (A*A < 3.14*R*R)
out << "Площадь круга больше S=" << 3.14*R*R;
if (A*A == 3.14*R*R)
out << "Площадь круга и квадрата равны S=" << 3.14*R*R;

out.close();


system("pause");
return 0;
}
ura_111 вне форума Ответить с цитированием
Старый 20.05.2016, 16:02   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Файлы INPUT.TXT и OUTPUT.TXT должны находиться на диске C:/

Последний раз редактировалось ura_111; 20.05.2016 в 16:06.
ura_111 вне форума Ответить с цитированием
Старый 20.05.2016, 19:11   #5
najulisuv
Новичок
Джуниор
 
Регистрация: 20.05.2016
Сообщений: 2
Смех

Цитата:
Сообщение от ura_111 Посмотреть сообщение
double preobrasovanie(char x[15])
{
double y=0;
int t = 0, e=0;
for (int v = 0; v < 15; v++)
{
switch (x[v])
{
case '1': {y = y * 10 + 1; t++; break; }
case '2': {y = y * 10 + 2; t++; break; }
case '3': {y = y * 10 + 3; t++; break; }
case '4': {y = y * 10 + 4; t++; break; }
case '5': {y = y * 10 + 5; t++; break; }
case '6': {y = y * 10 + 6; t++; break; }
case '7': {y = y * 10 + 7; t++; break; }
case '8': {y = y * 10 + 8; t++; break; }
case '9': {y = y * 10 + 9; t++; break; }

case '.': {e =t; break; }
}
}
if (e != 0)
{
for (int v = 0; v < (t - e); v++)
y = y / 10;
}

return y;
}
не лень это было писать?
najulisuv вне форума Ответить с цитированием
Старый 20.05.2016, 21:19   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от najulisuv Посмотреть сообщение
не лень это было писать?
Ну, "шедеврами" он обеспечен! Цикл через Касе . Это-ж надо до такого додуматьтся?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 21.05.2016, 08:05   #7
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Нет не лень. Как умею - так и решаю задачу.
p.s.: не судите строго - я ещё учусь программировать.
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу алиса12 Общие вопросы C/C++ 6 05.12.2014 20:27