[C++] Argumenty funkcji main
Ostatnio zmodyfikowano 2013-04-24 09:46
Małolatt Temat założony przez niniejszego użytkownika |
[C++] Argumenty funkcji main » 2013-04-23 14:41:36 Witam wszystkich mam problem z jedną rzeczą. Mianowicie dostałem do zrobienia program następującej treści : Napisz program realizujący prosty kalkulator wykonujący podstawowe operacje na dwóch liczbach. Argumenty i operację ma pobierać z linii zlecenia. Wykorzystać prostą klasę z prywatnymi polami (argument 1, argument 2, wynik, operacja) oraz publicznymi metodami (ustaw argument 1, ustaw argument 2, wykonaj dodawanie, wykonaj odejmowanie itd., podaj wynik). W programie zawrzeć kompilację warunkową. Wszystko działa mi poprawnie tylko nie potrafię zrobić tego podpunktu: Argumenty i operację ma pobierać z linii zlecenia. domyślam się ze zamiast zwykłego int main () musi zostać wstawione int main(int argc, char *argv[]) czy ktoś mógłby mi pomóc :) ? oto kod programu: #include <iostream> #include <cstdlib>
using namespace std;
class kalkulator { private: int arg1; int arg2; int wynik; char operacja; public: void ustaw_arg1( int a ) { arg1 = a; } void ustaw_arg2( int a ); int pobierz_wynik() { return wynik; } void dodaj() { operacja = '+'; wynik = arg1 + arg2; } void odejmij() { operacja = '-'; wynik = arg1 - arg2; } void pomnoz() { operacja = '*'; wynik = arg1 * arg2; } void podziel() { operacja = '/'; wynik = arg1 / arg2; } };
void kalkulator::ustaw_arg2( int a ) { arg2 = a; }
#define DEBUG
#ifdef DEBUG
int main( void ) { kalkulator k; k.ustaw_arg1( 15 ); k.ustaw_arg2( 3 ); k.dodaj(); cout << k.pobierz_wynik() << endl; k.odejmij(); cout << k.pobierz_wynik() << endl; k.pomnoz(); cout << k.pobierz_wynik() << endl; k.podziel(); cout << k.pobierz_wynik() << endl; system( "pause" ); return 0; }
#else
int main() { int a = 1, b = 1; char oper; kalkulator k; while( a != 0 || b != 0 ) { cin >> a >> oper >> b; k.ustaw_arg1( a ); k.ustaw_arg2( b ); if( oper == '+' ) k.dodaj(); else if( oper == '-' ) k.odejmij(); else if( oper == '*' ) k.pomnoz(); else k.podziel(); cout << " = " << k.pobierz_wynik() << endl; } return 0; } #endif |
|
pekfos |
» 2013-04-23 14:51:27 int main( int argc, char ** argv ) { std::cout << "Argumenty programu:" << std::endl; for( int a = 0; a < argc; ++a ) { std::cout << argv[ a ] << std::endl; } } |
|
Małolatt Temat założony przez niniejszego użytkownika |
» 2013-04-23 23:45:54 Nie bardzo to rozumiem czy byłbyś na tyle miły i mi to wyjaśnił krok po kroku bo naprawdę nie rozumiem tego ;/ |
|
MrPoxipol |
» 2013-04-24 09:46:49 argc to liczba podanych argumentów, a tablica argv to argumenty. |
|
« 1 » |