Oneindige laden
Ik heb mijn script af voor mijn php opdracht, maar nu loop ik met het probleem dat hij oneindig lang gaat laden, hij heeft ooit is gewerkt maar nu niet meer, maakt niet uit of ik het op school of thuis probeer. Heb ik ergens misschien iets verkeerd afgesloten dat hij daarom niet werkt?
Alvast bedankt, hier is de code:
Code (php)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?php
class driehoek
{
private $aantal;
public function __construct($aantal)
{
$this -> aantal = $aantal;
}
public function setAantal($aantal)
{
$this -> aantal = $aantal;
}
public function vermenigvuldigAantal($factor)
{
$aantal = $factor * $this -> aantal;
$this -> aantal = $aantal;
}
public function getAantal()
{
$aantal = $this -> aantal;
return $aantal;
}
public function Tekendriehoek()
{
$regel = $this -> aantal;
$startgetal = 1;
while ($startgetal <= $regel)
{
for ($teller = 1 ; $teller <= $startgetal ; $teller++)
{
print("*");
}
print("$startgetal<br/>");
$startgetal = $startgetal + 1;
}
if ($startgetal > regel)
{
$zijde = $regel;
for($i=1;$i<=$zijde;$i++)
{
for($j=1;$j<=$zijde;$j++)
{
print("*");
}
print("<br />");
}
}
}
public function Driehoekje()
{
$regel = $this -> aantal;
$startgetal = 1;
while ($startgetal <= $regel)
{
for ($teller = 1 ; $teller <= $startgetal ; $teller++)
{
print("*");
}
}
}
public function Tekendriehoekomgekeerd()
{
$regel = $this -> aantal;
$startgetal = 1;
while ($startgetal <= $regel)
{
for ($teller = 1 ; $teller <= $startgetal ; $teller++)
{
print("*");
}
print("$startgetal<br/>");
$startgetal = $startgetal + 1;
}
$startgetal = $startgetal - 2;
while ($startgetal > 0)
{
for ($tel = 1 ; $tel <= $startgetal ; $tel++)
{
print("*");
}
print("$startgetal<br/>");
$startgetal = $startgetal - 1;
}
}
public function getOppervlakte()
{
$oppervlakte = $this -> aantal * $this -> aantal * 0.5 + $this -> aantal * 0.5;
return $oppervlakte;
}
public function getOppervlakteomgekeerd()
{
$oppertje = $this -> aantal * $this -> aantal;
return $oppertje;
}
public function Opendriehoek()
{
$regel = $this -> aantal;
$startgetal = 3;
print("*<br />");
print("* *<br />");
print("*");
while ($startgetal < $regel)
{
$pizza = $startgetal - 2;
for ($teller = 1 ; $teller <= $pizza ; $teller++)
{
print("#");
}
print("*<br />");
print("*");
$startgetal = $startgetal + 1;
$pizza = $pizza + 1;
}
while ($startgetal = $regel)
{
$startgetal = $startgetal -1;
for ($tellen = 1 ; $tellen <= $startgetal ; $tellen++)
{
print("*");
}
print("<br /");
}
}
}
$driehoek_1 = new driehoek(5);
print("Een driehoek van ".$driehoek_1 -> getAantal()." regels geeft dit resultaat:<br />");
$driehoek_1 -> Driehoekje();
print("Het aantal sterretjes in de driehoek is: ".$driehoek_1 -> getOppervlakte()."<br />");
print("Hier zie je een half huis, dat bestaat uit een driehoek met een vierkantje<br />");
$driehoek_1 -> Tekendriehoek();
print("Een omgekeerde driehoek van ".$driehoek_1 -> getAantal()." regels geeft dit resultaat:<br />");
$driehoek_1 -> Tekendriehoekomgekeerd();
print("Het aantal sterretjes in de driehoek is: ".$driehoek_1 -> getOppervlakteomgekeerd()."<br />");
print("Een opendriehoek van ".$driehoek_1 -> getAantal()." regels geeft dit resultaat:<br />");
$driehoek_1 -> Opendriehoek();
?>
class driehoek
{
private $aantal;
public function __construct($aantal)
{
$this -> aantal = $aantal;
}
public function setAantal($aantal)
{
$this -> aantal = $aantal;
}
public function vermenigvuldigAantal($factor)
{
$aantal = $factor * $this -> aantal;
$this -> aantal = $aantal;
}
public function getAantal()
{
$aantal = $this -> aantal;
return $aantal;
}
public function Tekendriehoek()
{
$regel = $this -> aantal;
$startgetal = 1;
while ($startgetal <= $regel)
{
for ($teller = 1 ; $teller <= $startgetal ; $teller++)
{
print("*");
}
print("$startgetal<br/>");
$startgetal = $startgetal + 1;
}
if ($startgetal > regel)
{
$zijde = $regel;
for($i=1;$i<=$zijde;$i++)
{
for($j=1;$j<=$zijde;$j++)
{
print("*");
}
print("<br />");
}
}
}
public function Driehoekje()
{
$regel = $this -> aantal;
$startgetal = 1;
while ($startgetal <= $regel)
{
for ($teller = 1 ; $teller <= $startgetal ; $teller++)
{
print("*");
}
}
}
public function Tekendriehoekomgekeerd()
{
$regel = $this -> aantal;
$startgetal = 1;
while ($startgetal <= $regel)
{
for ($teller = 1 ; $teller <= $startgetal ; $teller++)
{
print("*");
}
print("$startgetal<br/>");
$startgetal = $startgetal + 1;
}
$startgetal = $startgetal - 2;
while ($startgetal > 0)
{
for ($tel = 1 ; $tel <= $startgetal ; $tel++)
{
print("*");
}
print("$startgetal<br/>");
$startgetal = $startgetal - 1;
}
}
public function getOppervlakte()
{
$oppervlakte = $this -> aantal * $this -> aantal * 0.5 + $this -> aantal * 0.5;
return $oppervlakte;
}
public function getOppervlakteomgekeerd()
{
$oppertje = $this -> aantal * $this -> aantal;
return $oppertje;
}
public function Opendriehoek()
{
$regel = $this -> aantal;
$startgetal = 3;
print("*<br />");
print("* *<br />");
print("*");
while ($startgetal < $regel)
{
$pizza = $startgetal - 2;
for ($teller = 1 ; $teller <= $pizza ; $teller++)
{
print("#");
}
print("*<br />");
print("*");
$startgetal = $startgetal + 1;
$pizza = $pizza + 1;
}
while ($startgetal = $regel)
{
$startgetal = $startgetal -1;
for ($tellen = 1 ; $tellen <= $startgetal ; $tellen++)
{
print("*");
}
print("<br /");
}
}
}
$driehoek_1 = new driehoek(5);
print("Een driehoek van ".$driehoek_1 -> getAantal()." regels geeft dit resultaat:<br />");
$driehoek_1 -> Driehoekje();
print("Het aantal sterretjes in de driehoek is: ".$driehoek_1 -> getOppervlakte()."<br />");
print("Hier zie je een half huis, dat bestaat uit een driehoek met een vierkantje<br />");
$driehoek_1 -> Tekendriehoek();
print("Een omgekeerde driehoek van ".$driehoek_1 -> getAantal()." regels geeft dit resultaat:<br />");
$driehoek_1 -> Tekendriehoekomgekeerd();
print("Het aantal sterretjes in de driehoek is: ".$driehoek_1 -> getOppervlakteomgekeerd()."<br />");
print("Een opendriehoek van ".$driehoek_1 -> getAantal()." regels geeft dit resultaat:<br />");
$driehoek_1 -> Opendriehoek();
?>
Gewijzigd op 20/02/2011 02:35:09 door B a s
Kijk eerst even bij welke functie hij oneindig laad.
- Zie operators, $this->aantal *= $factor. Houd je ook rekening met waardes als 0.3?
- Je kunt ook return $this->aantal doen.
- Inspringen maakt code duidelijker.
- In prinipe print / echo't een klasse niets.
- Als je begint bij 0 dan hoef je niet <= te gebruiken (is logischer).
- De eerste while in Tekendriehoek laat toch al een soort van driehoek zien?
- Onnodig variabelen kopiëren is nergens voor nodig.
- De functie Driehoekje is hetzelfde als Tekendriehoek?
- Tekendriehoekomgekeerd doet hetzelfde als Driehoekje als Tekendriehoek?
- $aantal gebruik jij niet als aantal, onhandige benaming.
- Volgens mij klopt de berekening.
- $pizza? Wees eens wat duidelijker.
- Opendriehoek is weer hetzelfde als hierboven?
- Opendriehoek bevat twee fouten?
Ik vind dit nou niet echt geweldig goede code, of OOP code.
Karl Karl op 19/02/2011 16:28:42:
- Als je setters hebt, gebruik die dan ook.
- Zie operators, $this->aantal *= $factor. Houd je ook rekening met waardes als 0.3?
- Je kunt ook return $this->aantal doen.
- Inspringen maakt code duidelijker.
- In prinipe print / echo't een klasse niets.
- Als je begint bij 0 dan hoef je niet <= te gebruiken (is logischer).
- De eerste while in Tekendriehoek laat toch al een soort van driehoek zien?
- Onnodig variabelen kopiëren is nergens voor nodig.
- De functie Driehoekje is hetzelfde als Tekendriehoek?
- Tekendriehoekomgekeerd doet hetzelfde als Driehoekje als Tekendriehoek?
- $aantal gebruik jij niet als aantal, onhandige benaming.
- Volgens mij klopt de berekening.
- $pizza? Wees eens wat duidelijker.
- Opendriehoek is weer hetzelfde als hierboven?
- Opendriehoek bevat twee fouten?
Ik vind dit nou niet echt geweldig goede code, of OOP code.
- Zie operators, $this->aantal *= $factor. Houd je ook rekening met waardes als 0.3?
- Je kunt ook return $this->aantal doen.
- Inspringen maakt code duidelijker.
- In prinipe print / echo't een klasse niets.
- Als je begint bij 0 dan hoef je niet <= te gebruiken (is logischer).
- De eerste while in Tekendriehoek laat toch al een soort van driehoek zien?
- Onnodig variabelen kopiëren is nergens voor nodig.
- De functie Driehoekje is hetzelfde als Tekendriehoek?
- Tekendriehoekomgekeerd doet hetzelfde als Driehoekje als Tekendriehoek?
- $aantal gebruik jij niet als aantal, onhandige benaming.
- Volgens mij klopt de berekening.
- $pizza? Wees eens wat duidelijker.
- Opendriehoek is weer hetzelfde als hierboven?
- Opendriehoek bevat twee fouten?
Ik vind dit nou niet echt geweldig goede code, of OOP code.
Kijk, het is ook niet echt geweldig maar ik zal proberen uit te leggen wat alles doet:
Tekendriehoek doet:
*
**
***
***
***
***
(ligt er net aan wat voor waarde ik instel)
driehoekje doet:
*
**
***
en opendriehoek doet:
*
**
*#*
*##*
*****
en tekendriehoekomgekeerd doet:
*
**
***
**
*
En tjah, de benaming valt daar te laten, want met wie ik dit project doe geeft nogal vaak vage namen aan variabelenXD
Toevoeging op 19/02/2011 19:08:41:
Wel mensen bedankt voor jullie hulp, maar ik heb de fout gevondenXD was 1 regeltje vergeten.
Misschien dan even leuk om te vermelden wat het was?
Bas Kreleger op 19/02/2011 19:29:18:
Misschien dan even leuk om te vermelden wat het was?
Als het goed is vergeet ie een paar keer de variabele die die while gebruikt op te hogen.