[c++] Super NEWBE !!!!!! vraag

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
Okee, als je dit niet aanspreekt of je je eraan irriteerd antwoord dan niet okee?

Allereerst moet ik even melden dat dit deels huiswerk is en dat ik er zelf gewoon niet meer uit kom. In mijn code gaat het gewoon ergens fout. Het gaat om 2 opdrachten. De andere opdrachten zijn geen probleem. Ik vraag dus niet om een code voor mij te schrijven!!! Maar gewoon om even naar mijn code te kijken en eventueel te vertellen waar het fout gaat en hoe ik dit kan oplossen.

#include <iostream.h>
#include <string.h>

int main () {

char tekstinvoer[80];
int a_teller, letterindex;

cin.getline(tekstinvoer,80);

while (tekstinvoer,80 != 'X') {
a_teller = 0;
letterindex = 1;


while (letterindex = strlen(tekstinvoer)) {
if (tekstinvoer(letterindex) = 'a') a_teller = a_teller +1;

letterindex = letterindex +1;
}

cout << "De ingevoerde zin bestaat uit : " << a_teller << " tekens.";
}

return 0;
}
(sorry, maar het copy pasten gaat niet zo mooi :()

Okee, het is dus de bedoeling dat ik van een bepaalde ingevoerde zin het aantal a tjes in beeld krijg.

Ik hoop dat jullie even willen helpen. (ik zou eigenlijk geen stomme vragen meer stellen, maar nu kom ik er gewoon niet uit!!)

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
de fout zit hem ergens in die IF zin denk ik.

PS waarom kan ik niet mijn post editen?

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 12 september 2001 21:02 schreef ShereKahn het volgende:(sorry, maar het copy pasten gaat niet zo mooi :()
vragen meer stellen, maar nu kom ik er gewoon niet uit!!)
gebruik voor code [.code] en [./code]
zonder puntjes
dan werkt het wel

Doet iets met Cloud (MS/IBM)


  • Dennis
  • Registratie: Februari 2001
  • Nu online
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main ()
{
  char tekstinvoer[80];
  int a_teller, letterindex;

  cin.getline(tekstinvoer,80);

  while (tekstinvoer,80 != 'X')
  {
    a_teller = 0;
    letterindex = 1;

    while (letterindex = strlen(tekstinvoer))
    {
    if (tekstinvoer(letterindex) = 'a') a_teller = a_teller +1;

    letterindex = letterindex +1;
    }

    cout << "De ingevoerde zin bestaat uit : " << a_teller << " tekens.";
  }
  return 0;
}

;)

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
De fout zit hem volgens mij hierin (ik heb maar eens vluchtig gekeken)

je code is:
code:
1
if (var = 'a')

en dit moet zijn:
code:
1
if (var == 'a')

edit:
quotjes vergeten

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
Even OT. Kan je met cin.getline ook spaties ingeven?

https://fgheysels.github.io/


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
nope, is hem niet ;(

error C2064: term does not evaluate to a function

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
Hetzelfde probleem in uw while,

Als je een variable wilt vergelijken met een andere variable of constante, dan moet je de == operator gebruiken en niet de =. (Die laatste is namelijk assignment).

Nog een ander probleem:

Om het i-de element uit een array te halen moet je de [] haakjes gebruiken en niet de ().

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
Het wordt dan zo:
code:
1
2
3
4
5
6
7
for (i = 0; i <= strlen(zin); i++)
{
  if (zin[i] == 'a' || zin[i] == 'A')
  {
     aantal_a++;
  }
}

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
Ik snap ook niet waarom je 2 lussen gebruikt?
De eerste is al volledig fout, je gebruikt een while waarin je iedere keer kijkt of het 80ste element een X is.
Je hebt een array van 80 characters, dus het laatste element heeft als index 79. (Een array van n elementen gaat van 0 tot n-1). In die while ga je dus iedere keer dezelfde controle gaan doen??

https://fgheysels.github.io/


  • Primal
  • Registratie: Augustus 2001
  • Laatst online: 11-09 14:32
Op woensdag 12 september 2001 21:02 schreef ShereKahn het volgende:
.edit

"The fastest code, is the code that is never called."


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
Okee lui ik vat hem niet meer :?

Zoals ik al zei ben ik super newbie in c++ op dit moment.
code:
1
2
3
4
5
6
7
for (i = 0; i <= strlen(zin); i++)
{
  if (zin[i] == 'a' || zin[i] == 'A')
  {
     aantal_a++;
  }
}

waar moet ik dit plaatsen in de code. Ik vat hem niet helemaal meer. Zal wel komen omdat ik de 'for' loop nog nooit heb gebruikt. Uitleg is welkom.

Tot zover iedereen al hartstikke bedankt voor de replys

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
Die for loop doet eigenlijk het zelfde als :
code:
1
2
3
4
5
6
7
8
9
i = 0;
while (i <= strlen(zin))
{
 if (zin[i] == 'a' || zin[i] == 'A')
 {
    aantal_a ++;
 }
 i++;
}

https://fgheysels.github.io/


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream.h>
#include <string.h>

void main () {

    char zin[80];
    int a_teller, letterindex, i;

    cin.getline(zin,80);

            for (i = 0; i <= strlen(zin); i++)
            {
                if (zin[i] == 'a' || zin[i] == 'A')
                {
                a_teller++;
                }
            }
                        
                                                                        

    cout <<  "De ingevoerde zin bestaat uit : " << a_teller << " tekens.";
                                

            
}

Nu krijg ik een rare uitvoer, namelijk dat het aantal atjes iets van -8541748291 is :?

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:03
Je moet uw a_teller variable eerst nog op 0 initialiseren (doe dat voor de for-loop natuurlijk).
Als je uw variable niet initialiseert, dan heeft hij een random waarde. Dat kan evengoed 8, -985, 856,... zijn.

https://fgheysels.github.io/


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
oeps |:(

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 18:35

Japie.G

Colour Classic

Topicstarter
thankzz mensen

Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem


Verwijderd

OT: 'NEWBE' schrijf je als 'newbie', kleine letters, 'i' erbij...

</mieren-neuken-mode>
Pagina: 1