Buona sera, ho realizzato questo esercizio, che separa i numeri dalle stringhe ,mediante la funzione is digit, descrivendo la composizione delle due sottostringhe ,chiedo un parere cortesemente. Sono un Cinquantenne autodidatta,abbiate pazienza se risulto un pò tedioso
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stddef.h>
#define Dimensione 50
//Programma che suddivide una strinaga mista lettere e numeri e li separa
//Indicando la composizione delle due stringhe: lunghezza
int
main (void)
{
//Uso della funzione Isdigit che rstituisce un valore diverso da zero !=0 se digito una cifra
int LunghezzaStringa = 0, LunghezzaNumero = 0, Vocali = 0, Consonanti =
0, LungNumeroStringa = 0;
char Stringa[Dimensione];
char Numero[Dimensione], NumeroStringa[Dimensione];
printf ("%s", "Inserire una stringa");
scanf (" %s", Stringa);
LunghezzaStringa = strlen (Stringa);
printf ("%s %d \n", "La lunghezza e': ", LunghezzaStringa);
//verifico se ho inserito un numero
for (size_t i = 0; Stringa[i] != '\0'; i++)
{
if (isdigit (Stringa[i]) != 0)
{
Vocali++; //Incremento il numero di vocali inserito
Numero[LunghezzaNumero++] = Stringa[i]; //Inserisco Nella variabile Numero La stringa iesima partendo da 0 e poi incremento
Numero[LunghezzaNumero] = '\0'; //Inserisco il carattere terminatore nella nuova posizione
}
else
{
Consonanti++; //Incremento il numero di consonati
NumeroStringa[LungNumeroStringa++] = Stringa[i]; //Inserisco Nella variabile Numero La stringa iesima partendo da 0 e poi incremento
NumeroStringa[LungNumeroStringa] = '\0'; //Inserisco il carattere terminatore nella nuova posizione
}
} //Exit for
//Verifico se ho inserito con un messaggio se ho inserito una o piC9 vocali
if (Vocali == 1)
printf ("%s \n", "Hai inserito una Cifra");
else if (Vocali > 1)
printf ("%s %d %s \n", "Hai inserito:", Vocali, "Cifre");
//****************************************************************************
//Verifico se ho inserito con un messaggio se ho inserito una o piC9 Consonati
if (Consonanti == 1)
printf ("%s \n ", "Hai inserito una Lettera");
else if (Consonanti > 1)
printf ("%s %d %s \n", "Hai inserito:", Consonanti, "Lettere");
//******************************************************************************
// Verifico come C( composto il numero nello specifico
if (LunghezzaNumero == 1)
printf ("%s %s %s %d %s \n", "Il Numero Inserito", Numero, "Ha",
LunghezzaNumero, "Cifra");
else if (LunghezzaNumero > 1)
printf ("%s %s %s %d %s \n", "Il Numero Inserito", Numero, "Ha",
LunghezzaNumero, "Cifre");
else if (LunghezzaNumero == 0)
printf ("%s \n", "Non Hai inserito Alcun numero");
//Verifico come C( composta la stringa nello specifico
if (LungNumeroStringa == 1)
printf ("%s %s %s %d %s \n", "La stringa Inserita", NumeroStringa, "Ha",
LungNumeroStringa, "Lettera");
else if (LungNumeroStringa > 1)
printf ("%s %s %s %d %s \n", "La stringa Inserita", NumeroStringa, "Ha",
LungNumeroStringa, "Lettere");
else
printf ("%s", "Non Hai inserito Alcuna Lettera");
}