Liczenie funkcji liniowej i kwadratowej

0

Witam moim zadaniem jest policzenie funkcji kwadratowej albo liniowej oba te algorytmy działają poprawnie problem pojawia się kiedy gdy ktoś wpisze dane w których a=0 przy liczeniu funkcji kwadratowej to chcę aby mój program automatycznie liczył wtedy funkcje liniową próbowałem coś zrobić ale nijak to działa :/

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

int main() {
	
	float a,b,x,a1,b1,c1,delta,x1,x2,x0,p,q,a2,b2,x3;
	int liczba;
	cout<<"Wybierz co chcesz liczyc \n 1.Funkcja liniowa \n 2.Funkcja kwadratowa"<<endl;
		cin>>liczba;
	
	switch(liczba){
	case 1:	
		cout<<"Podaj a"<<endl;
			cin>>a;
		cout<<"Podaj b"<<endl;
			cin>>b;
		if(a!=0){
			x=-b/a;
			cout<<x<<endl;
		}
		else if(b!=0)
			cout<<"Rownianie sprzeczne"<<endl;
		else
			cout<<"Nieskończenie wiele rozwiązań"<<endl;
	break;
	case 2:
		cout<<"Podaj a"<<endl;
			cin>>a1;
		cout<<"Podaj b"<<endl;
			cin>>b1;
		cout<<"Podaj c"<<endl;
			cin>>c1;
		if(a1!=0){
			delta=pow(b1,2)-4*a1*c1;
			cout<<delta<<endl;
				if(delta>0){
					x1=((-b)-sqrt(delta))/2*a;
					x2=((-b)+sqrt(delta))/2*a;
					cout<<"Nasze rownanie kwadratowe ma 2 miejsca zerowe" <<endl;
            		cout<<"Pierwszemu miejscu zerowemu odpowiada wartosc"<<x1<<endl; 
           			cout<<"Drugiemu miejscu zerowemu odpowiada wartosc"<<x2<<endl;
			    }
				else if (delta=0){
					x0=(-b)/2*a;
					cout<<"Nasze rownanie kwadratowe ma jedno miejsce zerowe" <<endl;
                	cout<<"Jest nim"<<x0<<endl;
				}
				else
					cout<<"Nasze rownanie kwadratowe nie ma miejsce zerowych"<<endl;
	    }
		else 
			cout<<"To równanie jest liniowe a jego rozwiązanie to:"<<endl;
			b1=a2;
			c1=b2;
			if(a2!=0){
				x3=-b2/a2;
				cout<<x3<<endl;
			}
			else if(b!=0)
				cout<<"Rownianie sprzeczne"<<endl;
			else
				cout<<"Nieskończenie wiele rozwiązań"<<endl;
			
			
		
		
	break;
	default:
		cout<<"Podaj liczbe 1 albo 2"<<endl;
    }
	system("Pause");
	return 0;
}
1

poczytaj o funkcjach i jezeli a == 0 wywolaj funkcje liczenia funkcji liniowej

0

Nie chcę funkcji na razie prosty program ;) zastanawiam się czemu po przypisaniu b1 i c1 do a2 i b2 nie chce mi to liczyć :/ tylko pokazuje cały czas że wynik to "-0" jeżeli nie znajdę rozwiązania to zastosuję funkcję.

0

po przypisaniu b1 i c1 do a2 i b2

Przecież w Twoim programie takiego przypisania nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1