Aiuto stringhe linguaggio C

Pubblicità

saro1995

Nuovo Utente
Messaggi
82
Reazioni
3
Punteggio
27
Salve a tutti ragazzi, mi sono imbattuto in un esercizio di programmazione in C, dove mi dice di inserire una stringa senza caratteri vuoti. Ma cosa significa? E come proseguo? Grazie in anticipo ragazzi
 
Ciao!
Per stringa senza caratteri vuoti penso possa significare una stringa senza spazi (ad esempio: CiaoMiChiamoFede) oppure che la stringa non debba "assumere" il valore NULL.
Per aiutarti ancora di più potresti specificare meglio la traccia?
 
Grazie per la risposta, ti scrivo sotto la parte dell'esercizio dove ho avuto problemi:
Specifica della struttura dati:
Articolo:
1. Codice (stringa, di al più 7 caratteri)
2. Nome prodotto (stringa, di al più 63 caratteri utili)
3. Genere alimentare (stringa senza spazi, che può contenere al più 15 caratteri utili)
4. Prezzo (reale)
5. Quantità (intero)
Genere Alimentare:
1. Genere alimentare (stringa senza spazi, che può contenere al più 15 caratteri utili)
2. Numero prodotti (numero di prodotti diversi di quel genera alimentare)
3. Elenco dei prodotti di quel genere alimentare, (implementato mediante una lista di Articolo)
 
IMHO significa che i vari campi non devono essere vuoti. Quindi le varie stringhe non possono contenere solo '\0' e basta.
 
Stringa "senza spazi" significa che non puo' contenere spazi (ossia il carattere ' '), punto.
Immagino che leggi quei dati da tastiera o da una interfaccia. Quando controlli che i dati siano corretti, devi segnalare errore (e richiedere che l'utenta corregga) se trovi almeno un spazio in una delle stringhe in cui non sono ammessi.
Ci sono svariati modi per farlo, puoi usare un semplice ciclo for o usare uno dei metodi delle varie librarie a disposizione, per esempio in C puoi usare strchr()
 
Proponete soluzioni per favore, non so come scrivere il codice e soprattutto come inserirlo all'interno della struttura dati sopra elencata
 
for(i = 0, j = 0; i < strlen(str); i++) {
if(str != ' ') {
str[j] = str;
j++;
}
}
str[j] = '\0';

per non vietare il regolamento posto questa soluzione. Da questa soluzione come posso procedere? Come si inserisci all'interno del programma in modo da togliere questi spazi? O mio dio, attualmente sono circondato da punti interrogativi :(
ps: Questo codice l'ho trovato su internet quindi non è farina del mio sacco.
 
A che livello sei messo in C? Sai come funzionano le liste? Sai come funzionano le stringhe? Sai come leggere una stringa da tastiera in C?
Se rispondi si all'ultima domanda è un banale problema di leggere l'input e aggiungere ogni char esclusi gli spazi
 
A che livello sei messo in C? Sai come funzionano le liste? Sai come funzionano le stringhe? Sai come leggere una stringa da tastiera in C?
Se rispondi si all'ultima domanda è un banale problema di leggere l'input e aggiungere ogni char esclusi gli spazi
Buongiorno rodhellas,
si sto come funzionano le liste, so implementarle in tutte le sue funzioni base. Ovviamente non sono un professionista, però mi so muovere discretamente.
 
Il compito non ti chiede di eliminare gli spazi, dice solo che le stringhe non debbano averli. Se la stringa contiene almeno uno spazio, mostra un messaggio di errore e l'utente provvederà a cambiare.
 
ah quindi se ho ben capito, il codice non eliminare automaticamente tutti gli spazi inseriti dall'utente ma li segnala come errori. Grazie ora è tutto più chiaro.
 
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top