FUNZIONI C++?

Stavo programmando un codice in c++ per calcolare le equazioni di 2° grado, e il professore mi ha detto che avrei dovuto inserire una funzione che riesca a trasformare tutte le lettere maiuscole inserite dall'utente, in lettere minuscole, in modo da non dovere mettere nelle condizioni di if e di qualche ciclo do while, tutte e le varie opzioni con ||. Ad esempio dovrei mettere if (risposta!="Spuria"||risposta!="spuria"||risposta!="SPURIA"...) e così via per tutti i tipi di equazioni, ma per farlo dovrei mettere molte opzioni.

Qualcuno può dirmi appunto qual è questa funzione c++ che trasforma in mimuscole tutte le lettere che l'utente potrebbe scrivere maiuscole?

2 risposte

Classificazione
  • 42
    Lv 7
    5 mesi fa

    tolower(c)

    dovrebbe fare al caso tuo: il valore di ritorno della funzione consiste nella versione lower-case di "c" se esiste, altrimenti ritorna "c".

  • Anonimo
    5 mesi fa

    A parte che sarebbe consigliabile scrivere:

     if(risposta != "Spuria" || risposta != "spuria" || risposta != "SPURIA"...) lasciando uno spazio, di tanto in tanto, non dovrebbe essere il programma a stabilire il tipo di equazione? Ad esempio:

    #include <stdio.h>

    #include <math.h>

    main()

    {

          float a,b,c,disc;

          int e;

          printf("\nInserisci i coeficienti a,b,c di ax^2 + bx + c = 0\n");

          printf("a: ");

          scanf("%f",&a);

          printf("b: ");

          scanf("%f",&b);

          printf("c: ");

          scanf("%f",&c);

          if(b && c)

           e = 1; //       printf("\nEquazione COMPLETA.\n");

          if(b==0)

           e = 2; //       printf("\nEquazione PURA.\n");

          else

           if(b && c==0)

             e = 3; //         printf("\nEquazione SPURIA.\n");

           else

             if(!b && !c)

              e = 4; //           printf("\nEquazione MONOMIALE.");

    if((disc = b*b - 4*a*c) < 0)

     e = 5;

    switch(e)

    {

     case 1: printf("\nEquazione COMPLETA.\n"); break;

     case 2: printf("\nEquazione PURA.\n"); break;

     case 3: printf("\nEquazione SPURIA.\n"); break;

     case 4: printf("\nEquazione MONOMIALE."); break;

     case 5: printf("\nRadici Immaginarie.\n"); break;

    };

    system("pause");

    }

    non capisco per quale motivo, l'utente, dovrebbe essere lui ad indicare il tipo. Il programma dovrebbe supporre che è proprio lui a non conoscere la differenza tra le diverse forme in cui si presenta e suggerire quella corretta. Il programma proposto, infatti, a seconda dei valori digitati per ciascuna lettera (ax^2 + bx + c) a, b, o c, determina il tipo e lo mostra. A meno che l'utente conosca i termini, ma non la forma e volendo conoscere come si presenta sotto una determinata forma, il programma la fornisca. Ad esempio, se chiedesse: "Come si presenta un'equazione di 2° spuria?", il programma dovrebbe mostrarla, allora ha senso il tuo dubbio.

Altre domande? Fai una domanda e ottieni le risposte che cerchi.