[c++] Frasi e caratteri terminali

Svpam

Nuovo Utente
70
2
CPU
intel core i5-2310m
HDD
1TB Western digital 5400rpm
RAM
8gb ddr3
GPU
amd ati 7310m
Monitor
samsung E2220
OS
Windows 7; ubuntu 14.04; Kali linux; debian 7
Devo scrivere un programma in cui necessito di una frase inserita da tastiera con la condizione che le parole siano separate da spazi e che l'inserimento della frase termini con il carattere '.' (punto) o se i caratteri usati sono più di n.
Quali contenitori/strutture dati e quali librerie/funzioni dovrei usare?
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
@Svpam
Nel forum non si svolgono gli esercizi altrui ma si da solo una mano nel farlo, altrimenti non imparerai mai e non migliorerai mai. Tira giù un pò di codice e vediamo io il mio l'ho già tirato giù e funziona dunque ti posso dare una mano istantaneamente.

Riguardo alla strutta dati non è complicata.

Per controllare se la parola ha il punto puoi controllare il penultimo elemento dell array di un char e vedere se è un punto se non lo è allora la parola è scritta in modo errato


Per controllare gli spazi puoi fare un for e un check sui numeri dispari del contatore, i dispari staranno sempre dove lo spazio deve stare

Per controllare se n caratteri è stato superati badta una semplice if che controlli se è maggior agli elementi dell array.

E infine un piccolo accorgimento che non voglio dire ma che riscontrerai penso di aver capito dove va a parare la complessità dell esercizio.
 
Ultima modifica:

Svpam

Nuovo Utente
70
2
CPU
intel core i5-2310m
HDD
1TB Western digital 5400rpm
RAM
8gb ddr3
GPU
amd ati 7310m
Monitor
samsung E2220
OS
Windows 7; ubuntu 14.04; Kali linux; debian 7
Forse mi sono spiegato male:
1) Non voglio fatto il programma.
2) Quello che chiedo qui è solo una parte (in pratica solo la funzione leggi() )di un programma che deve fare altro.
3) Non ho chiesto nemmeno la funzione in se, ma solo un consiglio su che librerie/funzioni di libreria usare.

So come fare se mi serve scrivere una frase di tot lettere, o come fare se devo scrivere una frase che termina per una data lettera, ma non so come fare una cosa combinata delle due, cioè che legge fino a n lettere o fino al carattere speciale . (punto).
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
Forse mi sono spiegato male:
1) Non voglio fatto il programma.
2) Quello che chiedo qui è solo una parte (in pratica solo la funzione leggi() )di un programma che deve fare altro.
3) Non ho chiesto nemmeno la funzione in se, ma solo un consiglio su che librerie/funzioni di libreria usare.

So come fare se mi serve scrivere una frase di tot lettere, o come fare se devo scrivere una frase che termina per una data lettera, ma non so come fare una cosa combinata delle due, cioè che legge fino a n lettere o fino al carattere speciale . (punto).

Crei una stringa con string e ci infili dentro la parola tramite input. Tratti la stringa come un array di char e fai il controllo della posizione sizeof(stringa) - 1
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!