Bacardi
design by

Aufgabe 17

#include <stdio.h>
#include <math.h>

void eingabe(float *pt_p, float *pt_q);
float funcwert(float x, float p, float q);
int nullstellen(float *x1, float *x2, float p, float q);


int main()
{
    float p,q,x,x1,x2,erg;
    int info,i,exp;
    i=1;
    p='\0';
    do
    {
      
        printf("(1) die Koeffizienten des quad. Polynoms eingeben\n(2) den Wert an einer Stelle x berechnen lassen\n(3) die Nullstellen berechnen lassen\n(4) das Programm beenden.\n" );
        scanf("%d",&exp);
        printf("\n" );
        if(p=='\0' && !(exp ==1 ^ exp ==4) && exp<5)
        {
            printf("Bitte den Menuepunkt (1) waehlen und Werte fuer p und q eingeben.\n" );
        }
        else
        {
            switch(exp)
            {
            case 1: eingabe(&p, &q);break;
            case 2: printf("Eingabe x:" );
            scanf("%f",&x); erg=funcwert(x,p,q);
            printf("y(%f)=%f.\n",x,erg); break;
            case 3: info=nullstellen(&x1,&x2,p,q);
                    if(info==1)
                    {
                        printf("INFO = %d.\n Diese Funktion besitzt keine Nullstellen.\n",info);
                    }
                    else
                    {
                        printf("INFO = %d \nNullstellen x1= %f, x2= %f.\n\n",info,x1,x2);
                    };
                    break;
                  
            case 4: i=0;break;
            default: printf("falsche Eingabe.\n\n" );
            }
        }
        printf("\n" );
    }while(i!=0);
    return 0;
}

void eingabe(float *pt_p, float *pt_q)
{
    printf("Eingabe p: " );
    scanf("%f",pt_p);
    printf("Eingabe q: " );
    scanf("%f",pt_q);
}


float funcwert(float x, float p, float q)
{
    return x*x+p*x+q;
}


int nullstellen(float *x1, float *x2, float p, float q)
{
    int info;
    if((p/2)*(p/2)-q < 0)
    {
        info = 1;
    }
    else
    {
        info = 0;
    }
    if(info == 0)
    {
        *x1= -p/2 + sqrt((p/2)*(p/2)-q);
        *x2= -p/2 - sqrt((p/2)*(p/2)-q);
    }
    return info;
}

18.12.07 18:03
 


bisher 0 Kommentar(e)     TrackBack-URL

Name:
Email:
Website:
E-Mail bei weiteren Kommentaren
Informationen speichern (Cookie)



 Smileys einfügen
Gratis bloggen bei
myblog.de