Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Area delle figure piane
Forum - C/C++ - Area delle figure piane

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
fenice (Normal User)
Newbie


Messaggi: 19
Iscritto: 10/08/2019

Segnala al moderatore
Postato alle 9:42
Domenica, 11/08/2019
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);
}]

PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 10:07
Domenica, 11/08/2019
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?

PM Quote
Avatar
fenice (Normal User)
Newbie


Messaggi: 19
Iscritto: 10/08/2019

Segnala al moderatore
Postato alle 10:14
Domenica, 11/08/2019
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:
Codice sorgente - presumibilmente C/C++

  1. #include<conio.h>
  2. #include<stdio.h>
  3. main()
  4. {
  5.         int r,l1,ac,aq,p
  6.         printf("Inserire valore del raggio\n");
  7.         scanf("%d", &r);
  8.         ac=r*r*3.14;
  9.         printf("L'area della circonferenza e' %d\n", ac);
  10.         if (ac==aq)
  11.                 {       printf("L'area della circonferenza uguale all'area del quadrato\n");
  12.                         aq=l*l;
  13.                 }
  14. }


PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 11:15
Domenica, 11/08/2019
ci sono diversi errori

ac è un intero?
ap non è inizzializzato
l neppure

PM Quote
Avatar
fenice (Normal User)
Newbie


Messaggi: 19
Iscritto: 10/08/2019

Segnala al moderatore
Postato alle 11:22
Domenica, 11/08/2019
Codice sorgente - presumibilmente C/C++

  1. #include<conio.h>
  2. #include<stdio.h>
  3. main()
  4. {
  5.         int aq,p
  6.         float r,ac,l
  7.         printf("Inserire valore del raggio\n");
  8.         scanf("%.2f", &r);
  9.         ac=r*r*3.14;
  10.         printf("L'area della circonferenza e' %.2f\n", ac);
  11.         if (ac==aq)
  12.                 {       printf("L'area della circonferenza uguale all'area del quadrato\n");
  13.                         aq=l*l;
  14.                 }
  15. }



ap non c'è

PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 14:16
Domenica, 11/08/2019
Uso "code" solo per incolonnare meglio i punti della lista...

Codice sorgente - presumibilmente Python

  1. Scrivere un programma che...
  2.  
  3. 1) legge in input il valore del raggio di una circonferenza
  4.  
  5. 2) controlla l'input per individuare l'inserimento di numeri <= 0
  6.    (in quel caso, magari si può tornare al punto 1)
  7.  
  8. 3) calcola il valore del lato di un quadrato in modo che l'area delle due
  9.   figure piane sia uguale quindi individua la figura con perimetro maggiore.
  10.  
  11.   a) calcola l'area del cerchio, avendo il raggio
  12.    b) calcola il valore della circonferenza ("perimetro" del cerchio)
  13.    c) fa la radice quadrata dell'area per trovare il lato del quadrato
  14.   d) calcola il perimetro del quadrato, avendo il lato
  15.   e) confronta l'esito di b) e di d), per trovare il valore maggiore
  16.    f) presenta il risultato, specificando se si tratta del cerchio o
  17.       del quadrato
  18.  
  19. Siccome ci sono di mezzo cerchi e circonferenze, dovrai usare valori in virgola
  20. mobile, float o double, non valori interi.
  21.  
  22. Per la radice quadrata puoi appoggiarti alla libreria standard il cui file di
  23. include è math.h. In math.h c'è anche una costante che rappresenta il pi greco.



ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
fenice (Normal User)
Newbie


Messaggi: 19
Iscritto: 10/08/2019

Segnala al moderatore
Postato alle 17:37
Domenica, 11/08/2019
Ho seguito le tue istruzioni però mi va il loop e non riesco a capire perché

Codice sorgente - presumibilmente Python

  1. #include<conio.h>
  2. #include<stdio.h>
  3. #include<math.h>
  4. main()
  5. {
  6.         float r,ac,pc,lq,pq;
  7.         do{     printf("Inserire valore del raggio\n");
  8.                 scanf("%.2f", &r);
  9.                 if(r<=0)
  10.                 printf("Rinserire raggio\n");}
  11.         while(r<=0);
  12.         ac=r*r*3.14;
  13.         printf("L'area della circonferenza e' %.2f\n",ac);
  14.         pc=2*3.14*r;
  15.         printf("Il perimetro della circonferenza e': %.2f\n",pc);
  16.         lq=sqrt(ac);
  17.         printf("Il lato del quadrato e': %.2f\n",lq);
  18.         pq=lq*4;
  19.         printf("Il perimetro del quadrato e': %.2f\n",pq);
  20.         if(pc>pq)
  21.                 printf("Il perimetro della circonferenza e'maggiore di quello del quadrato\n");
  22.         else
  23.                 printf("Il perimetro del quadrato e'maggiore di quello della circonferenza\n");
  24.         getch();       
  25. }


PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 17:47
Domenica, 11/08/2019
Guarda il do...while..  secondo te esce? se si quando? e come?

PM Quote
Avatar
fenice (Normal User)
Newbie


Messaggi: 19
Iscritto: 10/08/2019

Segnala al moderatore
Postato alle 18:06
Domenica, 11/08/2019
Codice sorgente - presumibilmente Python

  1. #include<conio.h>
  2. #include<stdio.h>
  3. #include<math.h>
  4. main()
  5. {
  6.         float r,ac,pc,lq,pq;
  7.         do{     printf("Inserire valore del raggio\n");
  8.                 scanf("%.2f", &r);
  9.                 if(r<=0)
  10.                 printf("Rinserire raggio\n");}
  11.         while(r>0);
  12.         ac=r*r*3.14;
  13.         printf("L'area della circonferenza e' %.2f\n",ac);
  14.         pc=2*3.14*r;
  15.         printf("Il perimetro della circonferenza e': %.2f\n",pc);
  16.         lq=sqrt(ac);
  17.         printf("Il lato del quadrato e': %.2f\n",lq);
  18.         pq=lq*4;
  19.         printf("Il perimetro del quadrato e': %.2f\n",pq);
  20.         if(pc>pq)
  21.                 printf("Il perimetro della circonferenza e'maggiore di quello del quadrato\n");
  22.         else
  23.                 printf("Il perimetro del quadrato e'maggiore di quello della circonferenza\n");
  24.         getch();       
  25. }



Avevo sbagliato però non mi esce lo stesso

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo