Programma semplice mesi in C

di
Anonimizzato12178
il
5 risposte

Programma semplice mesi in C

Sono alle prese con questo programmino molto semplice:
Sapete dirmi dove sbaglio? Non mi compila dando l'errore: "assignment makes integer from pointer without a cast"
Scusate l'inesperienza ma sono uno studente alle prime armi.
#include <stdio.h>
#include <stdlib.h>
int mese;
char meseLett;
int main()
{
    printf("Programma che restituisce il mese corrispondente al numero dato\n\n");
    printf("Inserisci il numero:\n");
    scanf("%d",&mese);
  switch(mese){
  case 1: meseLett="Gennaio";
          break;
  case 2: meseLett="Febbraio";
          break;
  case 3: meseLett="Marzo";
          break;
  case 4: meseLett="Aprile";
          break;
  case 5: meseLett="Maggio";
          break;
  case 6: meseLett="Giugno";
          break;
  case 7: meseLett="Luglio";
          break;
  case 8: meseLett="Agosto";
          break;
  case 9: meseLett="Settembre";
          break;
  case 10: meseLett="Ottobre";
          break;
  case 11: meseLett="Novembre";
          break;
  case 12: meseLett="Dicembre";
          break;
   printf("Il mese corrispondente e': %s",meseLett);
   getch();
   return 0;
}
    

5 Risposte

  • Re: Programma semplice mesi in C

    meseLett="Gennaio";
    la parte sx è un carattere, quella dx è stringa statica.
  • Re: Programma semplice mesi in C

    Quindi cosa dovrei fare?
  • Re: Programma semplice mesi in C

    char *meseLett;
  • Re: Programma semplice mesi in C

    Non basta usare un puntatore a char.

    Bisogna anche allocare la memoria e copiare il dato con la strcpy.

    Se non sai utilizzare i puntatori, dichiara un vettore di char come

    char mese[20];

    e utilizza comunque la funzione strcpy per assegnare il nome.
  • Re: Programma semplice mesi in C

    Grazie mille a tutti e due, ho risolto!
Devi accedere o registrarti per scrivere nel forum
5 risposte