Salve a tutti!
Ho provato ha fare un programma che, dato un array di tipo char, inizialmente si inserisca una stringa e tramite la funzione contatore (creata da me) conta singolarmente ogni vocale, numero, consonante , spazio, e altro (% _ ., / ...).
Il programma riesco a compilarlo senza errori ma nell'esecuzione ritornano valori nulli...
Non riesco a capire cosa posso aver sbagliato qualcuno ha qualche idea?
codice:
#include <stdio.h>
#include <ctype.h>
void contatore(char line[],int *v,int *c,int *n,int *s,int *a)
{
char z;
int cont=0;
while((z=toupper(line[cont]))!='\0')
{
if(z=='A' || z=='E' || z=='I' || z=='O' || z=='U') *v++;
else if(z>='A' && z<='Z') *c++;
else if(z>='0' && z<='9') *n++;
else if(z==' ' || z=='\t') *s++;
else *a++;
cont++;
}
}
main()
{
char line[80];
int vocali=0;
int consonanti=0;
int numeri=0;
int spazi=0;
int altro=0;
printf("Inserisci il testo\n");
scanf("%[^\n]",line);
contatore(line,&vocali,&consonanti,&numeri,&spazi,&altro);
printf("\nLe vocali sono : %d",vocali);
printf("\nLe consonanti sono : %d",consonanti);
printf("\nI numeri sono : %d",numeri);
printf("\nGli spazi sono : %d",spazi);
printf("\nDel restante sono : %d\n",altro);
}