Oppure

Loading
11/08 7:42
fenice
Buongiorno mi servirebbe una mano con questo problema che non riesco a capire.

Scrivere un programma che legge in input il valore del raggio di una circonferenza e calcola il valore del lato di un quadrato in modo che l'area delle due figure piane sia uguale quindi individua la figura con perimetro maggiore.
Controlla l'input per individuare l'inserimento di numeri <= 0.

Io ho scritto così:

[/#include<stdio.h>
#include<conio.h>
#include<windows.h>
main()
{
    int x,y;
    printf("Inserire valore di x\n";);
    scanf("%d",&x);
    printf("Inserire valore di y\n";);
    scanf("%d",&y);
}]
11/08 8:07
Mikelius
1) Il tag lo usi sbagliato
devi usare
[ code ] --CODICE--- [ /code ]
(Senza spazi dentro le parentesi)

2) ma sai usare solo printf e scanf?
3) Se hai un solo input (raggio circonferenza) perchè ne chiedi 2?

4) Prima di eseguire la scrittura del codice, scrivi i passi logici che vorresti fare, Qui ad esempio che operazioni servono?
"Io ne ho viste cose che voi umani non potreste immaginarvi...."
11/08 8:14
fenice
Mi hanno insegnato ad usare printf e scanf, sono uno alle prime armi come ho detto prima.

Ho sbagliato a copiare il codice, il codice è questo:
#include<conio.h>
#include<stdio.h>
main()
{
	int r,l1,ac,aq,p
	printf("Inserire valore del raggio\n");
	scanf("%d", &r);
	ac=r*r*3.14;
	printf("L'area della circonferenza e' %d\n", ac);
	if (ac==aq)
		{	printf("L'area della circonferenza uguale all'area del quadrato\n");
			aq=l*l;
		}
}
11/08 9:15
Mikelius
ci sono diversi errori

ac è un intero?
ap non è inizzializzato
l neppure
"Io ne ho viste cose che voi umani non potreste immaginarvi...."
11/08 9:22
fenice
#include<conio.h>
#include<stdio.h>
main()
{
	int aq,p
	float r,ac,l
	printf("Inserire valore del raggio\n");
	scanf("%.2f", &r);
	ac=r*r*3.14;
	printf("L'area della circonferenza e' %.2f\n", ac);
	if (ac==aq)
		{	printf("L'area della circonferenza uguale all'area del quadrato\n");
			aq=l*l;
		}
}


ap non c'è
11/08 12:16
AldoBaldo
Uso "code" solo per incolonnare meglio i punti della lista...

Scrivere un programma che...

1) legge in input il valore del raggio di una circonferenza

2) controlla l'input per individuare l'inserimento di numeri <= 0
   (in quel caso, magari si può tornare al punto 1)

3) calcola il valore del lato di un quadrato in modo che l'area delle due
   figure piane sia uguale quindi individua la figura con perimetro maggiore.

   a) calcola l'area del cerchio, avendo il raggio
   b) calcola il valore della circonferenza ("perimetro" del cerchio)
   c) fa la radice quadrata dell'area per trovare il lato del quadrato
   d) calcola il perimetro del quadrato, avendo il lato
   e) confronta l'esito di b) e di d), per trovare il valore maggiore
   f) presenta il risultato, specificando se si tratta del cerchio o
      del quadrato

Siccome ci sono di mezzo cerchi e circonferenze, dovrai usare valori in virgola
mobile, float o double, non valori interi.

Per la radice quadrata puoi appoggiarti alla libreria standard il cui file di
include è math.h. In math.h c'è anche una costante che rappresenta il pi greco.
Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!
11/08 15:37
fenice
Ho seguito le tue istruzioni però mi va il loop e non riesco a capire perché

#include<conio.h>
#include<stdio.h>
#include<math.h>
main()
{
	float r,ac,pc,lq,pq;
	do{	printf("Inserire valore del raggio\n");
		scanf("%.2f", &r);
		if(r<=0)
		printf("Rinserire raggio\n");}
	while(r<=0);
	ac=r*r*3.14;
	printf("L'area della circonferenza e' %.2f\n",ac);
	pc=2*3.14*r;
	printf("Il perimetro della circonferenza e': %.2f\n",pc);
	lq=sqrt(ac);
	printf("Il lato del quadrato e': %.2f\n",lq);
	pq=lq*4;
	printf("Il perimetro del quadrato e': %.2f\n",pq);
	if(pc>pq)
		printf("Il perimetro della circonferenza e'maggiore di quello del quadrato\n");
	else
		printf("Il perimetro del quadrato e'maggiore di quello della circonferenza\n");
	getch();	
}

11/08 15:47
Mikelius
Guarda il do...while.. secondo te esce? se si quando? e come?
"Io ne ho viste cose che voi umani non potreste immaginarvi...."