Си, функциональная декомпозиция
Написал текст программы, которая определяет простое ли число или нет( число записано в файле), чтобы ее сдать, нужно выполнить ф. декомпозицию. Что это такое в общем я понимаю, ну понимаю каким образом нужно раскинуть эти функции, чтобы они в нужном порядке выполнялись и возвращали те значения. которые необходимы для дальнейшей работы. Буду очень признателен, за какую-либо помощь в этом деле)
(заголовочный файл rus8.h позволяет выводить на экран на русском, а не козиябликами, это чтоб вопросов не возникало)) ) вот текст программы: Код:
#include "stdio.h" |
Цитата:
разбей по принципу 1. инициализация void init(); 2. ввод int input(); 3. обработка bool process(int); 4. вывод void output(bool); 5. чистка мусора void cleanup(); потом навык пригодится в ООП |
сдаюсь - никак не могу понять, почему не передается значение функции Simple, вот что у меня получилось:
Main.cpp Код:
#include "stdio.h" Код:
#pragma once Код:
#include "Simple.h" Код:
#pragma once Код:
#include "Simple.h" |
Lisiy_egik, вызов функции
Цитата:
|
Цитата:
|
Lisiy_egik, почему ты используешь такие угловатые конструкции (типа == false). Попробуй как бы написать словами, что ты хочешь сделать:
Код:
bool get_from_file(int& value); // здесь открывается и закрывается файл ещё 2 подхода в булевым выражениям, облегчающие жизнь: 1. хитрая форма оператора if: условие ? выражение_да : выражение_нет выражение_да и выражение_нет должны иметь один тип данных printf(is_prime ? "да" : "нет"); 2. табличные функции. Пользуемся тем, что по правилам С++ (но не С), булевское выражение имеет значения 0 или 1. значит его можно использовать в качестве индекса массива из 2-х элементов static const char* str_primes[2] = {"не простое", "простое"}; printf(primes[is_prime]); если is_prime - не булевское, надо сделать приведение: printf(primes[bool(is_prime)]); |
pva, , спасиб за совет, он совсем не будет лишним в дальнейшей практике)
а насчет предыдущего своего сообщения об постоянном возвращении правды - у меня была опечатка, в Simple.cpp я условие цикла if задал как присваивание, а не сравнение)) |
Время: 06:22. |
Время: 06:22.
© OSzone.net 2001-