c++ - What is the best way of project's organization? -
c++ - What is the best way of project's organization? -
i need develop simple portable c++ programme billing_unit. reads parameters (telefone number, etc.) , returns cost of phone call , rest of free minutes.
i decided info billing_unit standart input, , output result standart output.
i developed 2 test units: test_unit_source , test_unit_destination.
i decided organize consecutive performing of programme units:
test_unit_source: reads info database , puts standart output; billing_unit: reads standart output previous unit, calculates phone call costs , rest of free minutes, outputs result.test_unit_destination: reads phone call costs , rest of free minutes, stores database.
test_unit_source | billing_unit | test_unit_destination
simplified test_unit_source:
#include <stdio.h> #include <iostream> #include <fstream> #include <string> #define success_result 0 #define error_result 1 using namespace std; int main() { signed char buf; string name_file; ifstream inp_file; inp_file.open("temp.txt",std::ios::binary); if (!inp_file) homecoming error_result; { buf=inp_file.get(); cout<<buf; } while (!inp_file.eof()); homecoming success_result; }
simplified billing_unit - it must portable:
#include <iostream> #define success_result 0 #define error_result 1 int main() { signed char var; unsigned long res;//cents signed char next_call; while (!eof_users) { std::cin >> input_data; ... //calculations ... std::cout << result; } std::cout << eof_users; homecoming success_result; }
simplified test_unit_destination:
#include <stdio.h> #include <iostream> #include <fstream> #include <string> #define success_result 0 #define error_result 1 using namespace std; int main() { signed char buf; ofstream out_file; out_file.open("out.txt",std::ios::binary); if (!out_file) homecoming error_result; while (!eof_users) { cin >> buf; out_file << buf; } homecoming success_result; }
actually test_unit_source , test_unit_destination can united in 1 programme unit. depends on decision.
is organization of project? best organization of project? may it's improve set input parameters billing_unit through command line, don't know how homecoming result in case.
your design fits model of unix-like languages: writing programme filter reads stdin
, writes stdout
you're giving users flexibility pre- or post-process data.
for example, you've written it, can run
billing_unit < input_file > output_file
but suppose input info in wrong format. can run
reformat_data < input_file | billing_unit > output_file
and can alter output format with
billing_unit < input_file | sort_by_customer > output file
these simple examples, hope show how easy work programme yours.
if plan run programme straight shell this, sure error messages written stderr
instead of stdout
. separate them output data, won't processed input next command.
c++ c pipe project-organization
Comments
Post a Comment