Gå til innhold

Bone's Offisielle C++ hjelpetråd


Anbefalte innlegg

Videoannonse
Annonse
Jeg tror det er slik at hvis man skriver:

int *p, a, c;

,så oppretter man en peker, nemlig *p og to int, nemlig a og c.

 

Med dette:

int* p, a c;

oppretter vi tre integer-pointers, nemlig p, a og c.

 

Det jeg ressonerer meg frem til da, er at man ved å sette * rett etter int, kan deklarere alle variablene som pointere.

 

Forskjellen mellom å skrive int* a og int *a er ... ingenting. Det er helt opp til deg hva du foretrekker.

Uansett blir resulatet som du sier først, at du får en int-peker og to int-variabler...

Endret av Mr.Garibaldi
Lenke til kommentar
  • 2 uker senere...

Jeg fant ut!

getch()!

Inkluderte #include <conio.h>!

 

Men nå kom jeg borti to andre problemer! Jeg vil gjerne pause systemet i f. eks. 0.2 sekunder! Hvordan gjør jeg det? f. eks. i en loop! før loopen kjører videre så skal den vente 0.2 sekunder.

Andre problemet er å skrive ut noe! Og når loopen kjører på nytt så skal alt fjernes! Og skrives på nytt, på en annen måte! Nesten sånn at teksten er der midlertidig. Noen som vet hvordan jeg kan løse dette? Takk!

Lenke til kommentar

Nå er ikke innlesning av data noe problem... så jeg bruker getch til så lenge! Så ordner jeg det når jeg er ferdig...

Men den cout greia... og det å fjerne det jeg skrev... forså å skrive på nytt... ingen som har noe forslag på den?

while

skriv ut

sleep

fjern det vi skrev ut

 

takk!

Lenke til kommentar

Du kan prøve noe slikt:

 

#include "stdio.h"
#include "conio.h"
#include "ctype.h"
#include "windows.h"

void ClearScreen( void );

HANDLE  hConsoleOut;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;

int _tmain(int argc, _TCHAR* argv[])
{
// Get display screen information & clear the screen.
hConsoleOut = GetStdHandle( STD_OUTPUT_HANDLE );
GetConsoleScreenBufferInfo( hConsoleOut, &csbiInfo );
ClearScreen();

int nc, i(1);
while (1)
{
	while (0 == _kbhit())
	{
		Sleep(1000);
		ClearScreen();
		printf("Hei på deg (%d)\r\n",i++);
	}
	nc = _getch();
	if (nc == 'q')
		break;
}

return 0;
}

void ClearScreen( void )
{
DWORD	dummy;
COORD	Home = { 0, 0 };
FillConsoleOutputCharacter( hConsoleOut, ' ', 
							csbiInfo.dwSize.X * csbiInfo.dwSize.Y, 
							Home, &dummy );
SetConsoleCursorPosition(hConsoleOut,Home);
}

Lenke til kommentar
  • 2 uker senere...

Går det an å lage et array bassert på et ukjent antall indexer?

 

Går det eventuelt an å lage et map med 3 elementer i hver index? Lager en kalkulator, der jeg skal ta vare på x antall adderinger, der jeg skal ta vare på begge leddene i regnestykket pluss resultatet.

Lenke til kommentar
  • 2 uker senere...

Arne:

1. Ønsker du en lagringsplass for et på forhånd ukjent antall verdier bruk <vector>. Vanlige [] arrayer/tabeller har fast bestemt størrelse.

STL Vector tutorial. Cprogramming.com

 

2. Jeg har aldri vært borti maps, men kanskje du kan bruke en string og skille leddene med ett tegn. F.eks komma? For å så parse strengen for å hente leddene i regnestykket ut igjen?

 

Hvorfor bare 3 elementer i en index når du skal ta vare på x antall?

5,2,7 ---> 5+2=7

Lenke til kommentar

Altså, det eneste vectoren gir deg er en fin interface for å allokere den på ny når mer plass trengs. Det handler ikke om hastighet, det handler om brukervennlighet. Du må nesten lage to "versjoner" og ta tiden på de selv, det er helt avhengig av hvordan du aksesserer arrayen, hvor ofte og hvilken funksjonalitet du er ute etter.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...