|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.05.2016, 16:01 | #1 |
Новичок
Джуниор
Регистрация: 10.05.2016
Сообщений: 1
|
Помогите написать программу, С++
1.ОПРЕДЕЛИТЬ КАКАЯ ИЗ ДВУХ ФИГУР, КРУГ ИЛИ КВАДРАТ, ИМЕЕТ БОЛЬШУЮ ПЛОЩАДЬ. ЗНАЧЕНИЯ СТОРОНЫ КВАДРАТА – А И РАДИУС КРУГА R ВВОДЯТСЯ ЧЕРЕЗ ФАЙЛ INPUT.TXT. ВЫВЕСТИ В ВЫХОДНОЙ ФАЙЛ OUTPUT.TXT НАЗВАНИЕ И ЗНАЧЕНИЕ ПЛОЩАДИ БОЛЬШЕЙ ФИГУРЫ.
|
11.05.2016, 14:49 | #2 |
Регистрация: 08.12.2014
Сообщений: 4
|
Мда... сам ничего не сделал, да еще КРИЧИТ.
|
19.05.2016, 09:37 | #3 |
Участник клуба
Регистрация: 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; } |
20.05.2016, 16:02 | #4 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Файлы INPUT.TXT и OUTPUT.TXT должны находиться на диске C:/
Последний раз редактировалось ura_111; 20.05.2016 в 16:06. |
20.05.2016, 19:11 | #5 | |
Новичок
Джуниор
Регистрация: 20.05.2016
Сообщений: 2
|
Цитата:
|
|
20.05.2016, 21:19 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Ну, "шедеврами" он обеспечен! Цикл через Касе . Это-ж надо до такого додуматьтся?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
21.05.2016, 08:05 | #7 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Нет не лень. Как умею - так и решаю задачу.
p.s.: не судите строго - я ещё учусь программировать. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите написать программу | алиса12 | Общие вопросы C/C++ | 6 | 05.12.2014 20:27 |