Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c] Prosty kalkulator

Ostatnio zmodyfikowano 2013-11-11 19:15
Autor Wiadomość
rymek94
Temat założony przez niniejszego użytkownika
[c] Prosty kalkulator
» 2013-11-11 16:42:51
Przepraszam jeżeli mój język będzie niedokładny, jakby mnie ktoś poprawił to by było fajnie. (uczę się od niedawna)
 Chciałbym zbudować prosty kalkulator który będzie pytał o dwie liczby i wykonywał na nich działania: +-*/
Ale chce zrobić to budując poszczególne funkcje dla dodawania odejmowanie mnożenia i dzielenia. Wygląda to tak:
C/C++
#include <stdio.h>
#include <math.h>
#include "winbgi2.h"
double mnozenie( double x, double y ) {
   
    double mnozenie = x * y;
    printf( "\"mnozenie\" %lf*%lf=%lf", x, y, mnozenie );
    return mnozenie;
}
void main() {
    mnozenie( 12, 13 );
   
    wait();
}
Nie wiem gdzie włożyć funkcje scanf abym mógł podać dwie liczby na konsoli?
P-96046
kubek3898
» 2013-11-11 16:51:10
C/C++
int main() {
    double x, y;
    scanf( "%d%d", & x, & y );
    printf( "%d", mnozenie( x, y );
   
    wait();
}

Zwróć uwagę, że nie
void main
, a
int main
.
P-96047
rymek94
Temat założony przez niniejszego użytkownika
» 2013-11-11 16:59:34
Dziękuję za odpowiedź.
 NO właśnie jakbyś mi powiedział czy dobrze myślę, jeżeli mam int main, to znaczy że main musi dawać jakąś wartość? a przy voidzie nie musi tak? Jaka jest różnica między void i int? Zawsze używałem void na ćwiczeniach i dlatego tak.
P-96049
kubek3898
» 2013-11-11 18:12:29
Tak funkcja typu int zawsze musi coś zwracać ale jak to określił Grębosz "z powodów historycznych" instrukcja return nie jest wymagana w funkcji int main. Po prostu kompilator widząc funkcję main bez instrukcji return,  potraktuje ją tak jakby stało tam return 0;

Funkcja typu void nie zwraca natomiast nic, więc jeśli dajesz w niej instrukcję return to może przy niej stać tylko ";" czyli return;.

Można wiedzieć czemu uczysz się zwykłego C? Chcąc nie chcąc C++ ma większe możliwości (klasy, szablony, polimorfizm).
P-96051
rymek94
Temat założony przez niniejszego użytkownika
» 2013-11-11 18:35:22
Tak, oczywiście, takie mam wymagania na politechnice warszawskiej na MELU. Czy to źle?
P-96056
kubek3898
» 2013-11-11 18:41:38
Nie, oba języki są dobre. Pytam dlatego, że gdybyś w przyszłości chciał tworzyć większy projekt, lub dołączysz do jakiegoś zespołu np. robiącego grę to prawdopodobnie będzie tam używany C++ ze względu na klasy, szablony etc. Język C tych właściwości nie posiada.
P-96059
rymek94
Temat założony przez niniejszego użytkownika
» 2013-11-11 18:46:01
Ok, a to ja teraz zapytam, duża jest różnica między C a C++? Czy raczej łatwo się przerzucić?
P-96060
kubek3898
» 2013-11-11 18:56:34
To zależy. W C++ jest inny sposób wczytywania i wypisywania danych, ponieważ odbywa się on za pomocą strumieni, które są zaimplementowane w bibliotekę iostream. Inaczej się również operuje na plikach. Wielkim plusem dla C++ jest klasa std::string, która umożliwia w łatwy sposób operację na tekście. No i oczywiście pojemniki takie jak wektor, lista, kolejka itp. W C również z tego co się orientuje zapis int funkcja() onacza dowolną ilość argumentów natomiast w C++ ich brak. Wszystkiego nie wymienię trochę tego jest, ale jest to łatwe do nauczenia. Najlepiej chyba jak po prostu przeczytasz kurs na tej stronie.

Aha i nie chciałbym, byś pomyślał że C jest gorszy. Jest nawet szybszy od C++ i to jego używa się w konkursach. W C++ jednak mamy większe możliwości według mnie własne typy danych itp... Warto więc znać obydwa.
P-96063
« 1 » 2
  Strona 1 z 2 Następna strona