Problema con un esercizio su c

di il
17 risposte

Problema con un esercizio su c

Ciao, avrei bisogno un aiuto su questo esercizio.. probabilmente non sto capendo nulla..
c'è qualcuno che riuscirebbe a spiegarmi come fare e cosa sbaglio?
grazie in anticipo
#include <stdio.h>

int main ()
{
  char *figura[3]=("quadrato", "rettangolo", "triangolo rettangolo");
  char *figurascelta=("");
  float lato, lato1, lato2, cateto1, cateto2, area;
  printf ("Scegli la figura: ");
  printf ("Area delle figura disponibili:/n %s/n %s/n %s/n", figura[0],
	  figura[1], figura[2]);
  scanf ("%s", &figurascelta);

  if (figurascelta == figura[1]){
      printf ("Inserisci lato: ");
      scanf (%f, lato) area = lato * lato;
      printf ("Area: %f", area);
    }
  else
    {
      if (figurascelta == figura[2]){
            printf("Inserisci lato1: ");
            scanf(%f, lato1);
            printf("Inserisci lato2: ");
            scanf(%f, lato2);
            area = lato1*lato2;
            printf("Area: %f", area);
	    }else{
	        printf("Inserisci cateto1: ");
	        scanf(%f, cateto1);
            printf("Inserisci cateto2: ");
            scanf(%f, cateto2);
            area = cateto1*cateto2;
            area = area/2;
            printf("Area: %f", area);
	        
	    }
    }
  return 0;
}

17 Risposte

  • Re: Problema con un esercizio su c

    Ciao, avrei bisogno un aiuto su questo esercizio.. probabilmente non sto capendo nulla..
    C'è qualcuno che riuscirebbe a spiegarmi come fare e cosa sbaglio?
    Non riesco a capire come fare.. è già la terza volta che provo.. il compilatore non me lo compila e nemmeno esegue.. mi sembrava un po' più facile il batch.. sfortunatamente a scuola si inizia con il c, ma non capisco.
    Grazie in anticipo

    #include <stdio.h>
    
    int main ()
    {
      char *figura[3]=("quadrato", "rettangolo", "triangolo rettangolo");
      char *figurascelta=("");
      float lato, lato1, lato2, cateto1, cateto2, area;
      printf ("Scegli la figura: ");
      printf ("Area delle figura disponibili:/n %s/n %s/n %s/n", figura[0],
    	  figura[1], figura[2]);
      scanf ("%s", &figurascelta);
    
      if (figurascelta == figura[1]){
          printf ("Inserisci lato: ");
          scanf (%f, lato) area = lato * lato;
          printf ("Area: %f", area);
        }
      else
        {
          if (figurascelta == figura[2]){
                printf("Inserisci lato1: ");
                scanf(%f, lato1);
                printf("Inserisci lato2: ");
                scanf(%f, lato2);
                area = lato1*lato2;
                printf("Area: %f", area);
    	    }else{
    	        printf("Inserisci cateto1: ");
    	        scanf(%f, cateto1);
                printf("Inserisci cateto2: ");
                scanf(%f, cateto2);
                area = cateto1*cateto2;
                area = area/2;
                printf("Area: %f", area);
    	        
    	    }
        }
      return 0;
    }
  • Re: Problema con un esercizio su c

    Perché hai postato due volte?

    Comunque ... non hai detto cosa vuole l'esercizio e quale errore hai in compilazione.

    In ogni caso figura scelta non può essere un puntatore ma deve essere un array di char

    char figurascelta[25];

    e poi non puoi confrontare le stringhe con == ma devi usare la funzione strcmp

    Correggi
  • Re: Problema con un esercizio su c

    Ciao, avrei bisogno un aiuto su questo esercizio

    (Sviluppare l'algoritmo che calcola, date le misure di una figura a scelta (rettangolo, quadrato o triangolo rettangolo), il suo perimetro e la sua area.)
    (l'ho leggermente modificato mettendo tutte le tre figure, ma togliendo il calcolo del perimetro)

    .. probabilmente non sto capendo nulla..
    C'è qualcuno che riuscirebbe a spiegarmi come fare e cosa sbaglio?
    Non riesco a capire come fare.. è già la terza volta che provo.. il compilatore non me lo compila e nemmeno esegue.. mi sembrava un po' più facile il batch.. sfortunatamente a scuola si inizia con il c, ma non capisco.
    Grazie in anticipo

    #include <stdio.h>
    
    int main ()
    {
      char *figura[3]=("quadrato", "rettangolo", "triangolo rettangolo");
      char *figurascelta=("");
      float lato, lato1, lato2, cateto1, cateto2, area;
      printf ("Scegli la figura: ");
      printf ("Area delle figura disponibili:/n %s/n %s/n %s/n", figura[0],
    	  figura[1], figura[2]);
      scanf ("%s", &figurascelta);
    
      if (figurascelta == figura[1]){
          printf ("Inserisci lato: ");
          scanf (%f, lato) area = lato * lato;
          printf ("Area: %f", area);
        }
      else
        {
          if (figurascelta == figura[2]){
                printf("Inserisci lato1: ");
                scanf(%f, lato1);
                printf("Inserisci lato2: ");
                scanf(%f, lato2);
                area = lato1*lato2;
                printf("Area: %f", area);
    	    }else{
    	        printf("Inserisci cateto1: ");
    	        scanf(%f, cateto1);
                printf("Inserisci cateto2: ");
                scanf(%f, cateto2);
                area = cateto1*cateto2;
                area = area/2;
                printf("Area: %f", area);
    	        
    	    }
        }
      return 0;
    }
  • Re: Problema con un esercizio su c

    Non postare continuamente le stesse cose!

    Leggi la risposta che ti ho dato
  • Re: Problema con un esercizio su c

    oregon ha scritto:


    Perché hai postato due volte?

    Comunque ... non hai detto cosa vuole l'esercizio e quale errore hai in compilazione.

    In ogni caso figura scelta non può essere un puntatore ma deve essere un array di char

    char figurascelta[20];

    e poi non puoi confrontare le stringhe con == ma devi usare la funzione strcmp

    Correggi

    oregon ha scritto:


    Non postare continuamente le stesse cose!

    Leggi la risposta che ti ho dato
    lo so.. ho sbagliato.. e ora non capisco piu nulla ;(
  • Re: Problema con un esercizio su c

    Scusami.. adesso leggo e provo a correggere, grazie per la risposta
  • Re: Problema con un esercizio su c

    Si possono eliminare i messaggi che ho mandato doppi?
  • Re: Problema con un esercizio su c

    oregon ha scritto:


    Perché hai postato due volte?

    Comunque ... non hai detto cosa vuole l'esercizio e quale errore hai in compilazione.

    In ogni caso figura scelta non può essere un puntatore ma deve essere un array di char

    char figurascelta[20];

    e poi non puoi confrontare le stringhe con == ma devi usare la funzione strcmp

    Correggi
    riusciresti a spiegarmi meglio?
    non ci sto capendo piu nulla, scusami
  • Re: Problema con un esercizio su c

    Pavilu06 ha scritto:


    Ciao, avrei bisogno un aiuto su questo esercizio

    (Sviluppare l'algoritmo che calcola, date le misure di una figura a scelta (rettangolo, quadrato o triangolo rettangolo), il suo perimetro e la sua area.)
    (l'ho leggermente modificato mettendo tutte le tre figure, ma togliendo il calcolo del perimetro)

    .. probabilmente non sto capendo nulla..
    C'è qualcuno che riuscirebbe a spiegarmi come fare e cosa sbaglio?
    Non riesco a capire come fare.. è già la terza volta che provo.. il compilatore non me lo compila e nemmeno esegue.. mi sembrava un po' più facile il batch.. sfortunatamente a scuola si inizia con il c, ma non capisco.
    Grazie in anticipo

    #include <stdio.h>
    
    int main ()
    {
      char *figura[3]=("quadrato", "rettangolo", "triangolo rettangolo");
      char *figurascelta=("");
      float lato, lato1, lato2, cateto1, cateto2, area;
      printf ("Scegli la figura: ");
      printf ("Area delle figura disponibili:/n %s/n %s/n %s/n", figura[0],
    	  figura[1], figura[2]);
      scanf ("%s", &figurascelta);
    
      if (figurascelta == figura[1]){
          printf ("Inserisci lato: ");
          scanf (%f, lato) area = lato * lato;
          printf ("Area: %f", area);
        }
      else
        {
          if (figurascelta == figura[2]){
                printf("Inserisci lato1: ");
                scanf(%f, lato1);
                printf("Inserisci lato2: ");
                scanf(%f, lato2);
                area = lato1*lato2;
                printf("Area: %f", area);
    	    }else{
    	        printf("Inserisci cateto1: ");
    	        scanf(%f, cateto1);
                printf("Inserisci cateto2: ");
                scanf(%f, cateto2);
                area = cateto1*cateto2;
                area = area/2;
                printf("Area: %f", area);
    	        
    	    }
        }
      return 0;
    }
    comunque qui ho scritto tutto, compreso cio che chiedeva il problema
  • Re: Problema con un esercizio su c

    Ti faccio vedere gli errori:
    https://mega.nz/file/p8FGQLLY#H-qH_lA1lrPOofY-qkwxzCNoPLhDCSa5mJKp6x3CnJs
  • Re: Problema con un esercizio su c

    Ripeto..

    figura scelta non può essere un puntatore ma deve essere un array di char

    char figurascelta[25];

    e poi non puoi confrontare le stringhe con == ma devi usare la funzione strcmp
  • Re: Problema con un esercizio su c

    Si, ma non so come fare.. scusami, riesci a farmi vedere?
  • Re: Problema con un esercizio su c

    Cosa devo scrivere più di

    char figurascelta[25];

    ?

    Per la strcmp studia da

    https://www.cplusplus.com/reference/cstring/strcmp

    dove puoi trovare anche esempi
  • Re: Problema con un esercizio su c

    Grazie, e scusa per il disturbo
Devi accedere o registrarti per scrivere nel forum
17 risposte