PDA

Visualizza la versione completa : [C] Primi passi in C


The FireFox
28-01-2005, 18:33
Ciao....
Dovrei fare un programma che mi calcola perimetro e area di quadrato o triangolo equilatero..
Come potrei fare??
Il programma calcola in automatico perimetro e area ma noi dobbiamo inserirgli se vogliamo il perimetro e l'area del quadrato o del triangolo eq. e inserirgli i numeri.....

Io adesso provo a fare delle prove..
:dh: :dh: :dh: :dh:

Ho iniziato dichiarando le variabili ma poi...

#include<stdio.h>
#include<conio.h>
#include<string.h>
void main ()
{
int A,B,I; ||lato
int PERIMETRO QUADRATO; || perimetro quadrato
int PERIMETRO TRIANGOLO; || perimetro triangolo
int AREA QUADRATO; || area quadrato
int AREA TRIANGOLO; || area triangolo
char C,D;
for(I=1;I<100;I++);
{
if(C)||(D);
printf("triangolo equilatero o quadrato:\n"); /* C O D */
scanf(%d%d",&C,&D);
printf("dammi lato del triangolo equilatero:\n") || ("dammi lato del quadrato");
scanf("%d%d",&A,&B;);
PERIMETRO TRIANGOLO = A*3;
PERIMETRO QUADRATO = B*4;
printf

Come posso andare avanti ? Mi potreste dare una mano ?

maiosyet_2
28-01-2005, 21:35
#include <stdio.h>
#include <math.h>

main() {
float lato, perQ, areaQ, areaT, perT, mezPT;
int choice;

printf ("Inserisci la misura del lato\n");
scanf ("%f", &lato);
printf ("Inserisci '1' se si tratta di un quadrato\n");
printf ("Inserisci '2' se si tratta di un triangolo eq.\n");
scanf ("%d", &choice);

if (choice == 1) {
perQ = lato*4;
areaQ = lato*lato;
printf ("Il perimetro del quadrato misura %f cm\n" ,perQ);
printf ("L'area del quadrato misura %f cm cubi\n", areaQ);
}

else if (choice == 2) {
perT = lato*3;
mezPT = perT / 2;
printf ("Il perimetro del triangolo misura %f cm\n" ,perT);
printf ("L'area del triangolo misura %f cm cubi\n", sqrt(mezPT*(mezPT - lato)*(mezPT - lato)*(mezPT-lato)));
}

else printf ("Invalid input\n");

return 0;
}


Dovrebbe fare quello che chiedi, prova un po'.

Ponza
28-01-2005, 22:11
Un piccolo appunto, l'area non si calcola in centimetri cubi ma quadrati!

la formula per l'area del quadrato lato*lato, quella del triangolo (lato/2)*sqrt(lato^2-(l^2/4))

maiosyet_2
29-01-2005, 13:47
Originariamente inviato da Ponza
Un piccolo appunto, l'area non si calcola in centimetri cubi ma quadrati!


Gi gi, lapsus :fagiano:



la formula per l'area del quadrato lato*lato, quella del triangolo (lato/2)*sqrt(lato^2-(l^2/4))

Beh, io ho usato la formula di Erone per l'area del triangolo, il risultato uguale :)

diek85
29-01-2005, 14:24
Ciao... Anch'io sono agli inizi. io l'avrei fatto cos!



#include <stdio.h>
#include <stdlib.h>


int main()
{
float lq=0,lt=0,Aq,Pq,At,Pt;

int scelta=0,flag=1;

do
{
printf("Quale figura?: \n");
printf("1 --> Triangolo \n");
printf("2 --> Quadrato \n");
scanf("%d",&scelta);



if (scelta==1)

{
printf("Inserire lato del triangolo ");
scanf("%f",&lt);
printf("L'area risulta: %f \n",(((lt*lt)*0.866)/2));
printf("Il perimetro risulta %f \n",lt*3);
flag=0;
}

if (scelta==2)
{
printf("Inserire lato del quadrato ");
scanf("%f",&lq);
printf("L'area risulta: %f \n",lq*lq);
printf("Il perimetro risulta %f \n",lq*4);
flag=0;
}

if ((scelta!=1) && (scelta!=2))
{
printf("Scelta non valida! \n");
flag=1;
}
}while (flag==1);
printf("FINE DEL PROGRAMMA! \n");
system("PAUSE");
}

Ponza
30-01-2005, 01:20
La scanf del lato del triangolo ha quel simbolo "<" che nn centra nulla....poi io metterei void main, dato che nn restituisce alcun valore! :)

poi invece di tutti quegli if che incasinano il programma, un bello:
...
switch(scelta)
{
case '1': /*codice riferito al triangolo*/; break;
case '2': /*codice riferito al quadrato*/; break;
}

diek85
31-01-2005, 12:00
Ops... errore di copia e incolla! in effetti < non c'entra nulla!

Loading