. ipv een cijfer

Status
Niet open voor verdere reacties.

marten1984

Gebruiker
Lid geworden
3 feb 2008
Berichten
10
Hallo,

Ik wil graag een punt invoeren inplaats van een 0,

Ik ken een array (can chars) toe, maar kan niet zorgen dat ik ook een .(punt) als waarde kan toekennen, alleen maar cijfers willen.......


Wie kan mij helpen?
 
Voor míj is het nog niet echt duidelijk... heb je toevallig wat voorbeeldcode?
 
voorbeeldcode

Code:
char zero[9];

int main()
{
    initarray();

    printf("0   %d  \n\n",zero[0]);

    return 0;
}

char initarray()
{
zero[0]=.;
}

Ik ben net begonnen met C++ schrijven dus als je op en of aanmerkingen hebt, hoor ik het graag!

Alvast enorm bedankt!
 
Laatst bewerkt:
Ik begrijp er nog weinig van, (uitleg, commentaar??) maar ik zal het proberen...

Code:
zero[0]=.;

Dit kan al niet. Moet zijn:
Code:
zero[0]='.';

Verder een punt invoeren ipv een nul. Welke nul? SVP uitleg naast de code.

NB: compileren deed hij al niet zomaar. Miste bijvoorbeeld functie prototype.

Gr. Ger@ld
 
uitleg

Code:
#include <stdio.h>
#include <math.h>


char zero[9];   //array met negen plaatsen met type char

int main()       //main loop
{
    initarray();       //roep initarray aan (hierin wordt plek 0 van de array geschreven)


    printf("%d  ",zero[0]);    //display waarde van zero[0] (dit is een punt of een 0 (nul doet het)

    return 0;
}


char initarray()     //waarde toekennen aan de array
{
zero[0]=".";       // nu staat er . maar hij print geen . als ik er 0 neerzet print hij wel 0
}

hopelijk is dit duidelijker en alvast bedankt
 
Simpele oplossing:
verander dit:
Code:
printf("%d  ",zero[0]);

in dit:
Code:
printf("%c  ",zero[0]);

waarom had je eigenlijk %d erin gezet? dat houdt in decimaal getal... c is char.

greetz,
Ger@ld
 
,,,

Hardstikke bedankt!

waarom weet ik niet, begin het net een beetje te begrijpen allemaal...
 
Dan wens ik u veel succes met de vooruitgang in c++ :thumb:

Gr. Ger@ld
 
Code:
#include <stdio.h>
#include <math.h>


char zero[9];   //array met negen plaatsen met type char

int main()       //main loop
{
    initarray();       //roep initarray aan (hierin wordt plek 0 van de array geschreven)


    printf("%d  ",zero[0]);    //display waarde van zero[0] (dit is een punt of een 0 (nul doet het)

    return 0;
}


char initarray()     //waarde toekennen aan de array
{
zero[0]=".";       // nu staat er . maar hij print geen . als ik er 0 neerzet print hij wel 0
}

hopelijk is dit duidelijker en alvast bedankt

Er zitten toch nog wat vreemde dingen in je code. Waarom is de array 'zero' globaal ? Verder is de functie 'initarray()' in je voorbeeld niet bekend binnen de scope van de main functie. Je kunt hem dus ook niet aanroepen binnen de functie main. (je zou hem dan als prototype moeten aangeven)

De functie initarray is naar mijn mening overbodig, maar buiten dat zit daar ook nog een fout. Je geeft aan dat de functie initarray() een char als return geeft, maar je kent alleen een waarde aan een variabele toe. In dat geval geeft de functie initarray() geen char als return, en zou je hem als void moeten declareren.

En als je met C++ bezig bent dan kun je ook gebruik maken van 'cout' om tekst te printen naar het scherm. Jouw voorbeeld zou dan iets als onderstaande worden:

Code:
#include <iostream> 
using namespace std; 

// in jouw voorbeeld zou je hier de prototype van de functie moeten plaatsen.
// void initarray();

int main()
{
  char zero[9];
  zero[0] = '.';
  cout << zero[0] << endl;
  return 0;
}
 
Ik gebruik ook liever cout dan printf, maar waarom is dat een must? de code wordt er niet echt "beter" door.

Worden libs als iostream trouwens ook in G++ of een andere linux compiler ondersteund? (vast wel, maar zo nee, dan zit je óf aan c-stijl vast of aan andere libs)
NB: geen ervaringen met linux.
 
Ik gebruik ook liever cout dan printf, maar waarom is dat een must? de code wordt er niet echt "beter" door.

Ik beweer nergens dat ie het moet gebruiken. Ik geef alleen aan dat als je met C++ bezig bent je ook gebruik kunt maken van cout om tekst naar het scherm te printen. De TS is uiteraard vrij om printf te gebruiken.

(Onder Linux kun je ook gewoon de header iostream en cout gebruiken onder C++ om tekst te printen naar het scherm.)
 
Nu deinz ik even terug van mijn eigen standpunt...
Als beginner kan je misschien ook maar beter cout gebruiken, omdat het (vind ik) een stuk makkelijker werkt. Over opmaakcodes hoef je je totaal geen zorgen te maken.
En zeker in bovenstaand voorbeeld gaat het prima.

Onder Linux kun je ook gewoon de header iostream en cout gebruiken onder C++ om tekst te printen naar het scherm
Weer wat geleerd:p
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan