0lav Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 Hei! Jeg starter med c++ i dag faktisk, og jeg holder bare på med å lære meg litt av tingene nå. Jeg prøvde å skrive en kode utifra et lite annet script jeg fant på internett. Det store den gjør er at du skriver inn navnet ditt også sier den "Hei navnet ditt" osv.. Men hvis jeg skriver bokstaver og trykker på enter så avslutter programmet bare...:S Funker fint hvis jeg skriver tall isteden for bokstaver.. Her er koden jeg har: #include <iostream> int main() { int short unsigned dittnavn; std::cout << "Hei! Hva er ditt navn?\n"; std::cin >> dittnavn; std::cout << "Hei " << dittnavn <<"!\n"; std::cin >> dittnavn; return 0; } Håper noen gidder å hjelpe meg Takk! Lenke til kommentar
Mr.Garibaldi Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 Du bruker en int til å lagre et navn i. Du må bruke enten en char* (char array) eller en string. Prøv følgende: #include <iostream> int main() { char dittnavn[128]; std::cout << "Hei! Hva er ditt navn?\n"; std::cin >> dittnavn; std::cout << "Hei " << dittnavn <<"!\n"; std::cin >> dittnavn; return 0; } Lenke til kommentar
GenericName Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 (endret) ... Endret 12. januar 2011 av Token Lenke til kommentar
0lav Skrevet 19. desember 2005 Forfatter Del Skrevet 19. desember 2005 Takk! Funket nå Men en ting til, er det en funksjon jeg kan bruke slik det ser ut som om pcen skriver? Alltså slik at teksten ikke popper fram i consolen, men slik at det ser ut som om den skriver? Lenke til kommentar
knuto Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 Jeg personlig bruker system(), jeg vet at jeg ikke burde bruke den.Men det blir lettest for meg, slik. Hvorfor kaller mange kode for script? 5312492[/snapback] Funksjonen system ligg så vidt eg veit i stdlib. Viss du skal bruke den må du inkludere cstdlib, men av ein eller annan grunn må du visst ikkje det i din kompilator... Eg er av dei som ofte klarer å skrive script med uhell. Er for vand med å scripte PHP... Lenke til kommentar
abcd423417984 Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 mange kaller kode som blir tolket av en interpreter fremfor å bli kompilert for script. Man kan diskutere herifra til evigheten om hva definisjonen av et script er. Lenke til kommentar
GenericName Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 (endret) ... Endret 12. januar 2011 av Token Lenke til kommentar
Dead_Rabbit Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 Men det er aldri lurt å bruke kompilator-spesefikk kode. #include alltid cstdlib når du bruker funksjoner deklarert der! Det er det som er standard C++ og dermed mest portabelt også. Lenke til kommentar
Dead_Rabbit Skrevet 19. desember 2005 Del Skrevet 19. desember 2005 Olav: Vet ikke om dette blir litt avansert for en _helt_ nybegynner, men det er ihvertfall noe slikt jeg ville gjort: #include <iostream> #include <string> #include <ctime> using namespace std; void sleep(int ms) { clock_t cc = clock(); while(cc*1000/(CLOCKS_PER_SEC)+ms != clock()*1000/(CLOCKS_PER_SEC)) ; } void print(const string& ss) { string::const_iterator it = ss.begin(); while(it != ss.end()) { cout << *it++ << flush; sleep(110); } } int main() { cout << "Enter name: "; string name; getline(cin, name); print("Hello, " + name); cout << endl; return 0; } Lenke til kommentar
Manfred Skrevet 20. desember 2005 Del Skrevet 20. desember 2005 I stedet for å bruke system("PAUSE") (som jeg mener er ganske fy-fy) kan man bruke getch() eller noe lignende. strengt tatt kan man vel ha en cin.get() eller noe liggende der også? Sånn hvis man ikke skal gjøre det så avansert som zirener foreslår, for en nybegynner. Lenke til kommentar
Peter Skrevet 20. desember 2005 Del Skrevet 20. desember 2005 Olav: Vet ikke om dette blir litt avansert for en _helt_ nybegynner, men det er ihvertfall noe slikt jeg ville gjort: void sleep(int ms) { clock_t cc = clock(); while(cc*1000/(CLOCKS_PER_SEC)+ms != clock()*1000/(CLOCKS_PER_SEC)) ; } 5313816[/snapback] Denne her var ganske interessant. Er ikke 1000/CLOCKS_PER_SEC egentlig bare en konstant? sånn at du egentlig bare kunne ha gjort while(cc+ms != clock()) ? Sånn som jeg leser det ihvertfall, så regnes jo cc*1000/CLOCKS_PER_SEC ut først, før +ms legges til. Hadde det vært cc*1000/(CLOCKS_PER_SEC+ms), så hadde det vært noe annet? Eller er jeg ute og sykler på jorder nå? Lenke til kommentar
Dead_Rabbit Skrevet 20. desember 2005 Del Skrevet 20. desember 2005 (endret) cc*1000 er vel det som regnes ut først. Så deles resultatet på 1000 så vi får millisekunder. cc+ms != clock() funker fett, men da får vi det ikke mer nøyaktig enn sekunder. Prøvde først med ms/(CLOCKS_PER_SEC*1000), men det så ikke ut til å funke... Edit: Sjekk ut man-sider, og/eller http://www.cppreference.com Endret 20. desember 2005 av zirener Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå