Avatar billede driis Nybegynder
18. september 2002 - 19:19 Der er 2 kommentarer og
1 løsning

At slette et tegn på skærmen

Hvis jeg har skrevet en tekst ud på skærmen, f.eks:

cout << "Halløj!";

Hvis jeg så vil slette et eller flere tegn fra skærmen, f.eks. udråbstegnet i "Halløj!", hvordan gøres det så ??

(Jeg er rimelig ny i C++)
Avatar billede lasse_buck Nybegynder
18. september 2002 - 20:15 #1
Prøv backspace:
cout << "\b";

"\" anvendes til at sammensætte det, som kaldes "escape sekvenser".
Der findes forskellige foruddefinerede escape sekvenser.
"\n" er New line
"\xhhh" er ASCII tegnet, som har værdien hhh i hexadecimal.
Backspace kan også skrives som "\x008"
Avatar billede driis Nybegynder
18. september 2002 - 20:35 #2
Det er ikke helt nok, idet "\b" kun flytter cursoren én tilbage, men sletter ikke tegnet. Jeg har løst det på denne måde indtil videre:
cout << "\b \b";

Jeg tillader mig lige at stille et tillægsspørgsmål:

Hvis man bruger cin til at modtage en talværdi fra tastaturet, og brugeren indtaster en streng, så går programmet helt agurk. Findes der en anden inputfunktion, som bedre kan håndtere de forskellige datatyper ?
Avatar billede lasse_buck Nybegynder
18. september 2002 - 21:16 #3
driis >> Det er selvfølgelig rigtigt :o)
Du kunne sikkert også have brugt backspace + delete
"\b\x07F"  =  "\b\177".

Jeg tror ikke du kommer udenom at tage input som chars og så selv kontrollere, om det er tal.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester