PDA

Visualizza la versione completa : [c++] cicli if intrecciati


michint85
28-12-2002, 23:32
Cosa c'è che non va'???



#include <stdio.h>
#include <stdlib.h>
main()
{
double a,b,c;
printf("\n\rQuesto programma si propone di risolvere una disequazione del tipo ax>b");
printf("\n\n\rInserire il coefficiente della x: a --> ");
scanf("%d",&a);
printf("\n\rInserisci b --> ");
scanf("%d",&b);
printf("\n\n\rLa disequazione da risolvere e':");
printf("\n\r\t%dx>%d\n\n\n\r",a,b);
if (a=0) {
if (b<0)
{
printf("Disequazione sempre verificata");
}
else
{
printf("Disequazione mai verificata");
}
else
{
if (b=0)
{
printf("x>0");
}
else
{
c=b/a;
if (a>0)
{
printf("x>%d",c);
}
else
{
printf("x<%d",c);
}
}
}
system("PAUSE");
return 0;
}


Aiutatemi è per la scuola :cry:

michint85
28-12-2002, 23:36
#include <stdio.h>
#include <stdlib.h>
main()
{
double a,b,c;
printf("\n\rQuesto programma si propone di risolvere una disequazione del tipo ax>b");
printf("\n\n\rInserire il coefficiente della x: a --> ");
scanf("%d",&a);
printf("\n\rInserisci b --> ");
scanf("%d",&b);
printf("\n\n\rLa disequazione da risolvere e':");
printf("\n\r\t%dx>%d\n\n\n\r",a,b);
if (a=0) { //senza questa parentesi si avvia
if (b<0)
{
printf("Disequazione sempre verificata");
}
else
{
printf("Disequazione mai verificata");
}
else
{
if (b=0)
{
printf("x>0");
}
else
{
c=b/a;
if (a>0)
{
printf("x>%d",c);
}
else
{
printf("x<%d",c);
}
}
}
system("PAUSE");
return 0;
}



Piccola modifica ma cmq non funziona

xke???

Michele Facchin
29-12-2002, 12:40
Ecco il programma funzionante:


#include <stdio.h>

main(){
int a,b,c; /* Dichiara le variabili intere */
printf("\n\rQuesto programma si propone di risolvere una disequazione del tipo ax>b");
printf("\n\n\rInserire il coefficiente della x: a --> ");
scanf("%d",&a);
printf("\n\rInserisci b --> ");
scanf("%d",&b);
printf("\n\n\rLa disequazione da risolvere e':");
printf("\n\r\t%dx>%d\n\n\n\r",a,b);
if (a==0){ /* (a==0) e non (a=0) */
if (b<0)
puts("Disequazione sempre verificata.");
else
puts("Disequazione mai verificata.");
exit(0);
}
if (b==0)
puts("x>0");
else {
c=b/a;
if (a>0)
printf("x > %d",c);
else
printf("x < %d",c);
}
return(0);
}
/* EOF */



Originariamente inviato da michint85
Piccola modifica ma cmq non funziona

xke???

1) Gli if sono condizioni e non cicli.
2) Conviene che controlli meglio l'uso degli if in C del tuo programma.
3) (a=b) è un operatore di assegnazione in C!
Per fare una condizione si usa (a==b).
4) La %d stà per intero, non per "double".

Johnny_Depp
29-12-2002, 15:18
Per fare una condizione si usa (a==b).
confronto

Johnny_Depp
29-12-2002, 15:23
[c++] cicli if intrecciati
annidati

---------------------------------------
#include<stdio.h>
...
scanf(...)
...
printf(...)
---------------------------------------

= LINGUAGGIO C e non C++

;)

indianoblue
29-12-2002, 23:02
Ecco un'altra versione delle tue "disequazioni"...

bye bye :-)

#include <stdio.h>
#include <stdlib.h>
main()
{
float a,b,c;/*più giusto,no?*/
printf("\n\rQuesto programma si propone di risolvere una disequazione del tipo aX>b");
printf("\n\n\rInserire il coefficiente della X: a --> ");
scanf("%f",&a);
printf("\n\rInserisci b --> ");
scanf("%f",&b);
printf("\n\n\rLa disequazione da risolvere e':\n\n");
printf("%fX>%f\n\n\n\r",a,b);
c=b/a;
if (a==0){
if(b<0)
printf("\nLa disequazione e sempre verificata\n");
else
printf("\nLa disequazione non e mai verificata\n");
}
else if(a>0){
if(b==0){
printf("\nLa disequazione e verificata se X e > di zero\n");
}
else if(b>0){
printf("\nLa disequazione e verificata se X e > di %f\n",c);
}
else
printf("\nLa disequazione e verificata se X e > di %f\n",c);
}
else{
if(b==0){
printf("\nLa disequazione e verificata se X e < di zero\n");
}
else if(b>0){
printf("\nLa disequazione e verificata se X e < di %f\n",c);
}
else
printf("\nLa disequazione e verificata se X e < di %f\n",c);
}
return 0;
}

michint85
30-12-2002, 10:09
Grazie ragazzi mi avete salvato il popò!!!;)

r0x
30-12-2002, 21:03
Oddio, che codice FARLOCCO. :p

Ma lo 'switch' non esiste? E poi, se un numero e` < o > 0, ma non ==, non sara` forse !=? Che senso ha aggiungere condizioni ridondanti che portano allo stesso risultato?

Cosa tocca vedere..

Ciao.

michint85
31-12-2002, 12:11
Mi è stato chiesto con tutte le condizioni se era per me ci mettevo un solo if e non mi complicavo la vita

Loading