Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

problem z wskaźnikami


zolcio123

Rekomendowane odpowiedzi

Opublikowano

Witam. Mam problem z kalkulatorem a dokładniej z wskaźnikami. kalkulator miał być tak zrobiony by  funkcje dodawania i odejmowania były im przekazywane wartosci, mnozenie i dzielenie przez referencje , i potegowanie i pierwiastkowanie przez wskaźniki i tu problem bo nie chce mi  skompilować programu. Jeżeli moglibyście pomóc :D

#include <iostream>
#include <math.h>
using namespace std;

double dodawanie(double a, double 
{
	double wynik;
	wynik=a + b;
	return wynik;
}
double odejmowanie( double a, double 
{
	double wynik;
	wynik=a+b;
	return wynik;
	
}
double pomnoz ( double &a , double &
{
	double wynik;
	wynik= a*b ;
	return wynik;
}
 
 double dzielenie ( double &a, double &
 {
 	double wynik;
 	wynik=a/b;
 	return wynik;
 }
 
 double potegowanie( double *a,double *
 {
 	double wynik;
 	wynik=pow(*a,*;
 	return wynik;
 }
 
 double pierwiastkowanie(double *a,double *
 {
 	double wynik;
 	wynik=pow(*a,1/ *;
 	return wynik;
 }
 int main ()
 {
 	int wybor ;
 	double liczba1,liczba2,wynik1;
 	char powtorka;
 	
 	do
	 {
 	
 	
cout<<"Wybierz rodzaj dzialania " << endl;
 	cout<<"1.DODAWANIE  "<<endl;
 	cout<<"2.ODEJMOWANIE"<<endl;
 	cout<<"3.MNOZENIE " <<endl;
 	cout<<"4.DZIELENIE "<<endl;
 	cout<<"5.POTEGOWANIE"<<endl;
 	cout<<"6.PIERWIASTKOWANIE"<<endl;
 	cin>>wybor;
 	cin.clear();
 	cin.sync();
 	
	
	 	
 	switch(wybor)
 	{
 	
 		case 1:
 	cout<<"Podaj pierwsza liczbe: ";
 	cin>>liczba1;
 	cin.clear();
 	cin.sync();
 	
 	cout<<"Podaj druga liczbe: ";
    cin>>liczba2;
	cin.clear();
	cin.sync();
	
 			wynik1= dodawanie(liczba1,liczba2);
 			cout<<"  Wynikiem twojego dodawania jest liczba:" <<wynik1<<endl;
 				break;
 		case 2:
 			cout<<"Podaj pierwsza liczbe: ";
 	cin>>liczba1;
 	cin.clear();
 	cin.sync();
 	
 	cout<<"Podaj druga liczbe: ";
    cin>>liczba2;
	cin.clear();
	cin.sync();
	
 			wynik1= odejmowanie(liczba1, liczba2);
 			cout<<" Wynikiem twojego odejmowania jest liczba: " <<wynik1<<endl;
 				break;
 		case 3:
 			cout<<"Podaj pierwsza liczbe: ";
 	cin>>liczba1;
 	cin.clear();
 	cin.sync();
 	
 	cout<<"Podaj druga liczbe: ";
    cin>>liczba2;
	cin.clear();
	cin.sync();
	

		
		 	wynik1=pomnoz(liczba1,liczba2);
			 cout<<" Wynikiem twojego mnozenia jest liczba: " <<wynik1<<endl;	
		 	break;
		 
		 
		 case 4:
		 	cout<<"Podaj pierwsza liczbe: ";
 	cin>>liczba1;
 	cin.clear();
 	cin.sync();
 	
 	cout<<"Podaj druga liczbe: ";
    cin>>liczba2;
	cin.clear();
	cin.sync();
	
	if(liczba1== 0 || liczba2==0)
	{
		cout<<"\n NIE DZIELIMY PRZEZ ZERO"<<endl;
	}
	else{
	
		 		wynik1= dzielenie(liczba1,liczba2);
		 		cout<<" Wynikiem twojego dzielenia jest liczba: " <<wynik1<<endl;
		 		break;
		 	}
	case 5:
	cout<<"Podaj  liczbe do potegowania: ";
 	cin>>liczba1;
 	cin.clear();
 	cin.sync();
 		cout<<"Podaj do ktorej potegi: ";
 	cin>>liczba2;
 	cin.clear();
 	cin.sync();
	
		       wynik1= potegowanie(liczba1,liczba2);
		       cout<<" Wynikiem twojego potegowania jest liczba: " <<wynik1<<endl;
				break;
		 case 6:
		cout<<"Podaj  liczbe do pierwiastkowania: ";
 	cin>>liczba1;
 	cin.clear();
 	cin.sync();
 		cout<<"Podaj stopien pierwiastka ";
 	cin>>liczba2;
 	cin.clear();
 	cin.sync();
		      wynik1= pierwiastkowanie(liczba1,liczba2);
		      cout<<" Wynikiem twojego pierwiastkowania jest liczba: " <<wynik1<<endl;
				break;				
		 		
		 		
		default:
		cout<<"Podano zla cyfre" <<endl;	
 	
 	}
 		cout<<"Czy chcesz jeszcze cos policzyc  (t/n)?? \n";
 		cin>>powtorka;
 		
 	}while(powtorka=='t');
 	}
 	
 	
 	

Kocham mpcforum.pl!!!

18706.png

Opublikowano
wynik1= potegowanie(liczba1,liczba2);

nie posyłasz tutaj adresu tych zmiennych tylko te zmienne zamień to na

wynik1= potegowanie(&liczba1,&liczba2);

tak samo z pierwiastkowaniem. jak dalej jakies błedy to daj logi

 

@co to za formatowanie?

jak używasz code blocks to ppm -> format use aStyle

@@ nie musisz tworzyc nowej zmiennej wewnatrz funkcji tylko np:

 

double dodawanie(double a, double 
{
    return a+b;
}
Opublikowano

1. zacznij używać jakiegoś innego IDE (visual studio/ code blocks), ja bym na początku szedł w code blocks.

2. Formatowanie (z wikipedii):

 


Formatowanie kodu — mniej lub bardziej sformalizowany zestaw reguł i zaleceń określający, jak powinien wyglądać kod źródłowy programu od strony jego czytelności i wyglądu.

 

po prostu jak będziesz lepiej go formatować to lepiej będzie lepiej się go czytać, łatwiej będzie ci znaleźć błędy i będziesz wpajał sobie dobre nawyki

 

czy tego kodu nie czyta się lepiej?:

 

 

#include <iostream>
#include <math.h>
using namespace std;

double dodawanie(double a, double 
{
    double wynik;
    wynik=a + b;
    return wynik;
}
double odejmowanie( double a, double 
{
    double wynik;
    wynik=a+b;
    return wynik;

}
double pomnoz ( double &a , double &
{
    double wynik;
    wynik= a*b ;
    return wynik;
}

double dzielenie ( double &a, double &
{
    double wynik;
    wynik=a/b;
    return wynik;
}

double potegowanie( double *a,double *
{
    double wynik;
    wynik=pow(*a,*;
    return wynik;
}

double pierwiastkowanie(double *a,double *
{
    double wynik;
    wynik=pow(*a,1/ *;
    return wynik;
}
int main ()
{
    int wybor ;
    double liczba1,liczba2,wynik1;
    char powtorka;

    do
    {


        cout<<"Wybierz rodzaj dzialania " << endl;
        cout<<"1.DODAWANIE  "<<endl;
        cout<<"2.ODEJMOWANIE"<<endl;
        cout<<"3.MNOZENIE " <<endl;
        cout<<"4.DZIELENIE "<<endl;
        cout<<"5.POTEGOWANIE"<<endl;
        cout<<"6.PIERWIASTKOWANIE"<<endl;
        cin>>wybor;
        cin.clear();
        cin.sync();



        switch(wybor)
        {

        case 1:
            cout<<"Podaj pierwsza liczbe: ";
            cin>>liczba1;
            cin.clear();
            cin.sync();

            cout<<"Podaj druga liczbe: ";
            cin>>liczba2;
            cin.clear();
            cin.sync();

            wynik1= dodawanie(liczba1,liczba2);
            cout<<"  Wynikiem twojego dodawania jest liczba:" <<wynik1<<endl;
            break;
        case 2:
            cout<<"Podaj pierwsza liczbe: ";
            cin>>liczba1;
            cin.clear();
            cin.sync();

            cout<<"Podaj druga liczbe: ";
            cin>>liczba2;
            cin.clear();
            cin.sync();

            wynik1= odejmowanie(liczba1, liczba2);
            cout<<" Wynikiem twojego odejmowania jest liczba: " <<wynik1<<endl;
            break;
        case 3:
            cout<<"Podaj pierwsza liczbe: ";
            cin>>liczba1;
            cin.clear();
            cin.sync();

            cout<<"Podaj druga liczbe: ";
            cin>>liczba2;
            cin.clear();
            cin.sync();



            wynik1=pomnoz(liczba1,liczba2);
            cout<<" Wynikiem twojego mnozenia jest liczba: " <<wynik1<<endl;
            break;


        case 4:
            cout<<"Podaj pierwsza liczbe: ";
            cin>>liczba1;
            cin.clear();
            cin.sync();

            cout<<"Podaj druga liczbe: ";
            cin>>liczba2;
            cin.clear();
            cin.sync();

            if(liczba1== 0 || liczba2==0)
            {
                cout<<"\n NIE DZIELIMY PRZEZ ZERO"<<endl;
            }
            else
            {

                wynik1= dzielenie(liczba1,liczba2);
                cout<<" Wynikiem twojego dzielenia jest liczba: " <<wynik1<<endl;
                break;
            }
        case 5:
            cout<<"Podaj  liczbe do potegowania: ";
            cin>>liczba1;
            cin.clear();
            cin.sync();
            cout<<"Podaj do ktorej potegi: ";
            cin>>liczba2;
            cin.clear();
            cin.sync();

            wynik1= potegowanie(liczba1,liczba2);
            cout<<" Wynikiem twojego potegowania jest liczba: " <<wynik1<<endl;
            break;
        case 6:
            cout<<"Podaj  liczbe do pierwiastkowania: ";
            cin>>liczba1;
            cin.clear();
            cin.sync();
            cout<<"Podaj stopien pierwiastka ";
            cin>>liczba2;
            cin.clear();
            cin.sync();
            wynik1= pierwiastkowanie(liczba1,liczba2);
            cout<<" Wynikiem twojego pierwiastkowania jest liczba: " <<wynik1<<endl;
            break;


        default:
            cout<<"Podano zla cyfre" <<endl;

        }
        cout<<"Czy chcesz jeszcze cos policzyc  (t/n)?? \n";
        cin>>powtorka;

    }
    while(powtorka=='t');
}

 

 

Opublikowano

zawsze w domu możesz sobie ściągnąć code blocks i tam po prostu kod z deva wkleić a potem ppm i format use AStyle i wkleisz z powrotem do deva. ale i tak by lepszym wyjściem było zmienienie IDE

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...