Default Blue Green Red
Pagina's: [1]
  Print  
Auteur Topic: Simpele rekemachine  (gelezen 314 keer)
Drekes
Newbie
*
Berichten: 12


Drekes1@hotmail.com
« Gepost op: Juni 12, 2010, 01:46:14 »

Hallo,

Ik ben nog steeds nieuw met C++ maar na veel leren en proberen vindt ik het toch waard met eerste creatie tentoon te stellen.
Ik was niet zeker waar ik het mocht posten omdat dit niet echt een spectaculaire creatie is, maar vindt het toch de moeite waard.
Suggesties en verbeteringen zijn altijd welkom en ik zal de updates die ik ga uitvoeren als ik meer geleerd heb ook hier posten.

De rekenmachine kan nog niet met floats werken, ga ik binnenkort doen. Momenteel kan hij:
+, -, /, *, % en vierkantswortel uitrekenen.

Code:
#include <iostream>

using namespace std;

int calculate(int a, char c[1], int b)
{
    if(strstr(c, "+"))
{
int answer = a + b;
system("cls");

return answer;
}

    if(strstr(c, "-"))
    {   
        int answer = a - b;
system("cls");

return answer;
    }

    if(strstr(c, "*"))
    {
        int answer = a * b;
system("cls");

return answer;
    }

    if(strstr(c, "/"))
    {   
int answer =  a / b;
system("cls");

return answer;
    }

    if(strstr(c, "%"))
    {
int answer = a / 100 * b;
system("cls");

return answer;
}

else
{
cout << "You entered a wrong character" << endl;

system("PAUSE");
return 0;
}

    system("PAUSE");
    return 0;
}

int sqroot(int a)
{
    int z = 2;

    for(int i = 0; i < a; i++)
    {   
        int y = a / z;

        if(i == y)
        {   
            i++;

system("cls");
            return (i);
        }
        z++;
    }

    cout << "something wrong on sqroot code" << endl;

    system("PAUSE");
    return 1;
}

int main()
{
    int a;
    int b;
    char c[1];

system("color 0E");

    cout << "Enter the first number you want to use" << endl;
    cin >> a;

    cout << "Press +" << endl;
    cout << "Press -" << endl;
    cout << "Press *" << endl;
    cout << "Press /" << endl;
    cout << "Press %" << endl;
    cout << "Press v for square root\n" << endl;

    cout << "Enter the charachter that matches with what you want to do" << endl;
    cin >> c;

    if(strstr(c, "v"))
    {
        int z;
        z = sqroot(a);

        cout << "The answer is " << z << endl;
    }


    else
    {
        cout << "Enter the second number you want to use" << endl;
        cin >> b;


int answer;
answer = calculate(a, c, b);

cout << "The answer is " << answer << endl;
    }

    system("PAUSE");
    return 0;
}

http://Drekes.funpic.org/calculator.exe
Gelogd
Divendo
Global Moderator
Hero Member
*****
Berichten: 646


Voer in op google maps: 37.971458,23.726706


WWW E-mail
« Antwoord #1 Gepost op: Juni 12, 2010, 07:20:14 »

Tuurlijk mag je dit hier posten, de meest simpele creaties zijn welkom wink
2 suggesties:
1. Je kan ook de vierkantswortel uit de cmath header gebruiken:
Code
GeSHi (cpp):
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
 cout<<sqrt(100);
 return 0;
}
Created by GeSHI 1.0.7.20
De uitvoer kun je voorspellen wink
En om in plaats van ints doubles of floats te gebruiken hoef je alleen maar het type van je variabelen te veranderen!

2. Misschien kun je maken dat je op het einde kunt kiezen om nog een berekening te maken of af te sluiten?
Gelogd

Globale moderator

Citaat van: Bjarne Stroustrup
C makes it easy to shoot yourself in the foot...
C++ makes it harder, but when you do so it'll blow your whole leg off!
Drekes
Newbie
*
Berichten: 12


Drekes1@hotmail.com
« Antwoord #2 Gepost op: Juni 12, 2010, 08:08:48 »

Ik heb 2 uur gespendeerd uit te zoeken hoe ik die vierkantwortel kon berekenen. Lijkt me zo dom nu ik weet dat het zo gemakkelijk gaat.
Ik ga er straks nog wat aan werken.
Bedankt voor de reactie
Gelogd
Laloeka
Moderator
Sr. Member
*****
Berichten: 417



WWW E-mail
« Antwoord #3 Gepost op: Juli 28, 2010, 06:37:40 »

Je rekenmachine crasht een beetje bij erg grote getallen wink
« Laatste verandering: Juli 28, 2010, 07:01:21 door Laloeka » Gelogd



:::::::̸\:::::
::̸\:::::̸''\:::- (
::̸'ʨʨ\::̸ʨʨ''\:::̸ |'
*̸ʨ''ʨʨʨ\''ʨʨʨʨ\*~^*^~
λλλλλλλλλλλ>***=<λλλλλ
λλλλλλλλλλS_~    \λλλλ
λλλλλλλλλλλλλ\_ ~  )λλ
λλλλλλλλλλλλ"--"λλ
λλλλλλλλλλλλλ

VAKANTIE! veryhappy
Pagina's: [1]
  Print  
 
Ga naar: