hur fördröjer jag texten där det står seconds left i denna? det här blev lösningen...: hur fungerar det? blir det samma effekt som det som jag använde mig av eller blir det annorlunda? går det att ändra inställningarna för hur lång tid det ska gå och sådant? Jag upplever att Sleep() (Från windows.h) belastar processorn mindre än det andra alternativet. Som jag för övrigt också skrev på forumet vid cplusplus.nu:tidsfördröjning i C++ (text)
//mitt första "fake virus"
#include <iostream>
int main()
{
using namespace std;
int menyval;
//skriv ut alternativen
cout << "Choose one of these options below... or die!" << endl << endl;
cout << "1. Format C-Drive" << endl;
cout << "2. Blow up your pc" << endl;
cout << "3. Fuck Windows" << endl;
cout << "Choose one!: ";
cin >> menyval; //ta emot valet
switch (menyval) //starta switch
{
case 1:
cout << endl << "So you want to format c? ok...";
cout << "Begin formating" << "." << "." << "." << "." << ".";
cout << "." << "." << "." << "."<< "." << "." << "."<< ".";
cout << "." << "." << "." << "." << "." << endl;
cout << "Gottcha! :D";
break;
case 2:
cout << endl << "So you want to blow you pc up? ok...";
cout << "The clock is ticking...:" << endl;
cout << "10 seconds left..." << endl;
cout << "9 seconds left..." << endl;
cout << "8 seconds left..." << endl;
cout << "7 seconds left..." << endl;
cout << "6 seconds left..." << endl;
cout << "5 seconds left..." << endl;
cout << "4 seconds left..." << endl;
cout << "3 seconds left..." << endl;
cout << "2 seconds left..." << endl;
cout << "1 second left..." << endl;
cout << "BOOOOOOOOOOOOOM!" << endl;
cout << "Gottcha! :D" << endl;
break;
case 3:
cout << endl << "So you want to fuck up windows? ok...";
cout << endl << "Removing important files in the windows folder." << "." << "." << ".";
cout << "." << "." << "." << "."<< "." << "." << "."<< ".";
cout << "." << "." << "." << "." << "." << endl;
cout << "Gottcha! :D";
break;
default: //om man valt något annat
cout << endl << "NO! now you die!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
//här ger det inget att ha break eftersom
//switchen ändå redan är slut
}
cin.get();
cin.get();
}
vill lura några polare lite... som ni ser så händer det inget, det kommer bara text, om någon kan så får ni gärna svara! :D
Sv:tidsfördröjning i C++ (text)
i toppen:
#include <ctime>
void wait(unsigned int tid){
clock_t slut=clock()+tid*CLOCKS_PER_SEC/1000;
while(clock()<slut);
}
istället för text nedräkningen:
for(int i=10;i>0;--i){
std::cout << i << std::endl;
wait(1000); //vänta 1000 millisekunder = 1 sekund
}
och för att fördröja punkterna lite skrev jag såhär...:
for(int i=1;i>0;--i){
wait(500); //vänta 1000 millisekunder = 1 sekund
}
Sv:tidsfördröjning i C++ (text)
Sv: tidsfördröjning i C++ (text)
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
cout << "h";
Sleep(1000);
cout << "e";
Sleep(1000);
cout << "j";
return 0;
}
Sv: tidsfördröjning i C++ (text)
Sv: tidsfördröjning i C++ (text)
Metoden med clock() tar upp VÄLDIGT mycket processorkraft. Ofta kan man ersätta wait() med ett systemspecifikt anrop istället. Detta är dock som sagt oportabelt, men man skulle kunna använda fördefinierade makron för att kolla vad som kan användas, för att öka prestandan på de flesta plattformar.
Du kan ersätta wait() med Sleep() från <Windows.h>, men det är oportabelt och fungerar bara på Windows! Andra OS har andra sleep-metoder. Jag tror t.ex. att Unix/Linux har nanosleep(), även om jag inte är helt säker.
Den bästa lösningen är nog:
void sleep(unsigned long t){
#ifdef NÅGON SLAGS WINDOWS-DEFINE
Sleep(t);
#else
#ifdef NÅGON SLAGS UNIX-DEFINE
nanosleep(t*1000); //eller hur det nu är
#else
clock_t slut=clock()+tid*CLOCKS_PER_SEC/1000;
while(clock()<slut);
#endif
#endif
}