Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include <math.h>
- void main(void)
- {
- float a,b,c,x1,x2,delta,x_im,x_re;
- char select;
- char option=' ';
- x1=0.0;
- x2=0.0;
- select=' ';
- printf("Digitare e per risolvere un equazione di secondo grado, digitare d per risolvere una disequazione di secondo grado e h per aprire l'help: ");
- scanf("%c",&select);
- if(select=='e')
- {
- printf("Inserire coefficienti equazione secondo grado: ");
- scanf("%f %f %f",&a,&b,&c);
- delta=b*b-4*a*c;
- if(delta<0)
- {
- delta=-delta;
- x_re=-b/(2*a);
- x_im=sqrtf(delta)/(2*a);
- printf("Le soluzioni complesse sono: x1=%f-i%f x2=%f+i%f",x_re,x_im,x_re,x_im);
- }
- else
- {
- x1=(-b+sqrtf(delta))/(2*a);
- x2=(-b-sqrtf(delta))/(2*a);
- printf("Le soluzioni sono x1=%f x2=%f",x1,x2);
- }
- //funziona
- }
- else if(select=='d')
- {
- printf("Inserire coefficienti equazione secondo grado e\n> per maggiore\n< per minore\nse si vuole aggiungere l'uguagliana scrivere u altrimenti n\nEsempio input: 1 1 1 > u\n");
- scanf("%f %f %f %c %c",&a,&b,&c,&select,&option);
- if(select!='>' || select!='<')
- {
- goto errore_input;
- }
- if(option!='u' || option!='n')
- {
- goto errore_input;
- }
- if(a>0)
- {
- delta=b*b-4*a*c;
- if(delta<0)
- {
- if(select=='>')
- {
- printf("La soluzione e' qualunque x in R");
- }
- else
- {
- printf("Non ammette soluzioni");
- }
- }
- else if(delta>0)
- {
- x1=(-b-sqrtf(delta))/(2*a);
- x2=(-b+sqrtf(delta))/(2*a);
- if (option=='u')
- {
- if(select=='>')
- {
- printf("La soluzione e' x<=%f U x>=%f",x1,x2);
- }
- else
- {
- printf("La soluzione e' %f<=x<=%f",x1,x2);
- }
- }
- else
- {
- if(select=='>')
- {
- printf("La soluzione e' x<%f U x>%f",x1,x2);
- }
- else
- {
- printf("La soluzione e' %f<x<%f",x1,x2);
- }
- }
- }
- else
- {
- x1=-b/(2*a);
- if (option=='u')
- {
- if(select=='>')
- {
- printf("La soluzione e' qualunque x in R");
- }
- else
- {
- printf("La soluzione e' x=%f",x1);
- }
- }
- else
- {
- if(select=='>')
- {
- printf("La soluzione e' x!= %f",x1);
- }
- else
- {
- printf("Impossibile");
- }
- }
- }
- }
- else
- {
- a=-a;b=-b;c=-c;
- if(select=='>')
- {
- select='<';
- }
- else
- {
- select='>';
- }
- delta=b*b-4*a*c;
- if(delta<0)
- {
- if(select=='>')
- {
- printf("La soluzione e' qualunque x in R");
- }
- else
- {
- printf("Non ammette soluzioni");
- }
- }
- else if(delta>0)
- {
- x1=(-b-sqrtf(delta))/(2*a);
- x2=(-b+sqrtf(delta))/(2*a);
- if (option=='u')
- {
- if(select=='>')
- {
- printf("La soluzione e' x<=%f U x>=%f",x1,x2);
- }
- else
- {
- printf("La soluzione e' %f<=x<=%f",x1,x2);
- }
- }
- else
- {
- if(select=='>')
- {
- printf("La soluzione e' x<%f U x>%f",x1,x2);
- }
- else
- {
- printf("La soluzione e' %f<x<%f",x1,x2);
- }
- }
- }
- else
- {
- x1=-b/(2*a);
- if (option=='u')
- {
- if(select=='>')
- {
- printf("La soluzione e' qualunque x in R");
- }
- else
- {
- printf("La soluzione e' x=%f",x1);
- }
- }
- else
- {
- if(select=='>')
- {
- printf("La soluzione e' x!= %f",x1);
- }
- else
- {
- printf("Impossibile");
- }
- }
- }
- }
- }
- else if(select=='h')
- {
- printf("Il programma risolve equazioni e disequazioni di secondo grado nella forma ax^2+bx+c\n");
- printf("Il primo input selezionera se risolvere un equazione o una disequazione.In caso di errore il programma si arresta\n");
- printf("Se si e' selezionato l'equazione il programma chiedera di inserire i cofficienti(inserire 3 numeri decimali o interi separati ognuno da uno spazio)\n");
- printf("Se si e' selezionato la disequazione il proramma chiedera di inserire i coefficienti il simbolo della disuguaglianza e un parametro per l'uguaglianza o no(andranno inseriti separati da uno spazio)\n");
- printf("In caso di errore negli input il programma termina\n");
- printf("Arresto!Riavviare per usare!");
- }
- else
- {
- printf("Errore nella selezione\n");
- }
- printf("\n");
- errore_input: printf("Errore nell'input. Arresto!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement