Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. using System;
  8.  
  9. namespace AO4
  10. {
  11. enum FiguurKleur { Rood, Oranje, Groen }
  12. enum FiguurType { Bal, Kubus }
  13. //Klasse Figuur aanmaken
  14. class Figuur
  15. {
  16. // velden aanmaken
  17. private int _Gewicht;
  18. public int Gewicht
  19. {
  20. get { return _Gewicht; }
  21. protected set { _Gewicht = value; }
  22. }
  23. private int _FiguurNummer;
  24. public int FiguurNummer
  25. {
  26. get { return _FiguurNummer; }
  27. protected set { _FiguurNummer = value; }
  28. }
  29. // Kleur van de figuur bepalen aan de hand van het gewicht
  30. public FiguurKleur kleur
  31. {
  32. get
  33. {
  34. if (Gewicht < 50)
  35. {
  36. return FiguurKleur.Groen;
  37. }
  38. if (Gewicht > 100)
  39. {
  40. return FiguurKleur.Rood;
  41. }
  42. else
  43. {
  44. return FiguurKleur.Oranje;
  45. }
  46. }
  47. }
  48. // Type van figuur bepalen
  49. private FiguurType _Type;
  50. public FiguurType Type
  51. {
  52. get { return _Type; }
  53. protected set { _Type = value; }
  54. }
  55. // Converteren naar string
  56. public override string ToString()
  57. {
  58. return "Figuur " + Type + " met kleur " + kleur + " en gewicht " + Gewicht;
  59. }
  60. }
  61. //Klasse Bal aanmaken
  62. class Bal : Figuur
  63. {
  64.  
  65. public Bal(int GewichtBal)
  66. {
  67. this.Gewicht = GewichtBal;
  68. this.Type = FiguurType.Bal;
  69. }
  70. }
  71.  
  72. //Klasse Kubus aanmaken
  73. class Kubus : Figuur
  74. {
  75. public Kubus(int GewichtKubus)
  76. {
  77. this.Gewicht = GewichtKubus;
  78. Type = FiguurType.Kubus;
  79. }
  80. }
  81.  
  82. //Klasse Figuren aanmaken
  83. class Figuren
  84. {
  85. //
  86. private int _Count;
  87. public int Count
  88. {
  89. get { return _Count; }
  90. private set { _Count = value; }
  91. }
  92. //
  93. private Figuur[] _Items = new Figuur[0];
  94. //
  95. public Figuur this[int index]
  96. {
  97. get { return _Items[index]; }
  98. }
  99. //
  100. public void VoegFiguurToe(Figuur figuur)
  101. {
  102. bool gewichtBestaatAl = false;
  103. bool objectBestaatAl = false;
  104. int count = 0;
  105. int indexGevonden = 0;
  106. //
  107. foreach (Figuur Figuur in _Items)
  108. {
  109. if (figuur.Gewicht == Figuur.Gewicht)
  110. {
  111. gewichtBestaatAl = true;
  112. indexGevonden = count;
  113. }
  114. if (figuur == Figuur)
  115. {
  116. objectBestaatAl = true;
  117. }
  118. count = count + 1;
  119. }
  120. //
  121. if (objectBestaatAl == true)
  122. {
  123. Console.WriteLine("\nDit object zit reeds in de collectie op \nIndex " + indexGevonden + " " + _Items[indexGevonden].ToString());
  124. }
  125. else if (gewichtBestaatAl == true)
  126. {
  127. Console.WriteLine("\nDit gewicht zit reeds in de collectie op \nIndex " + indexGevonden + " " + _Items[indexGevonden].ToString());
  128. }
  129. else
  130. {
  131. Count = Count + 1;
  132. Array.Resize(ref _Items, Count);
  133. _Items[Count - 1] = figuur;
  134.  
  135. Console.WriteLine(_Items[Count - 1].ToString() + " is toegevoegd op index : " + (Count - 1));
  136. }
  137. }
  138. //
  139. public void VerwijderFiguurOpIndex(int index)
  140. {
  141. if (index > (_Items.GetUpperBound(0)))
  142. {
  143. Console.WriteLine("Deze index werd niet gevonden in de collectie.\n");
  144. }
  145. else
  146. {
  147. Console.WriteLine("Het object op index " + index + " is verwijderd\n" + _Items[index].ToString() + "\n");
  148. //
  149. for (int i = index; i < (_Items.GetUpperBound(0)); i++)
  150. {
  151. _Items[i] = _Items[i + 1];
  152. }
  153. Count = Count - 1;
  154. Array.Resize(ref _Items, Count);
  155. }
  156. }
  157. //
  158. public void VerwijderOpNaam(Figuur figuur)
  159. {
  160. int count = 0;
  161. bool gevonden = false;
  162.  
  163. foreach (Figuur teZoekenNaam in _Items)
  164. {
  165. if (teZoekenNaam == figuur)
  166. {
  167. VerwijderFiguurOpIndex(count);
  168.  
  169. gevonden = true;
  170. }
  171. count = count + 1;
  172. }
  173. if (gevonden == false)
  174. {
  175. Console.WriteLine("Deze figuur werd niet gevonden in de collectie.\n");
  176. }
  177. }
  178. //
  179. public void ZoekObjectFiguur(Figuur figuur)
  180. {
  181. int count = 0;
  182. int indexFound = 0;
  183. bool objectFound = false;
  184.  
  185. foreach (Figuur soortFiguur in _Items)
  186. {
  187. if (figuur == soortFiguur)
  188. {
  189. indexFound = count;
  190. objectFound = true;
  191. }
  192. count = count + 1;
  193. }
  194. if (objectFound == true)
  195. {
  196. Console.WriteLine("Het gezochte object " + figuur.Type + " " + figuur.FiguurNummer + " staat op index " + indexFound);
  197. }
  198. else
  199. {
  200. Console.WriteLine("Het gezochte object " + figuur.Type + " " + figuur.FiguurNummer + " staat niet in de collectie");
  201. }
  202. }
  203. // Alle rode figuren berekenen
  204. public void TelRood()
  205. {
  206. int count = 0;
  207.  
  208. foreach (Figuur figuur in _Items)
  209. {
  210. if (figuur.kleur == FiguurKleur.Rood)
  211. {
  212. count += 1;
  213. }
  214. }
  215. Console.WriteLine("Er zitten " + count + " rode figuren in de collectie.");
  216. }
  217. // Alle oranje figuren berekenen
  218. public void TelOranje()
  219. {
  220. int count = 0;
  221.  
  222. foreach (Figuur figuur in _Items)
  223. {
  224. if (figuur.kleur == FiguurKleur.Oranje)
  225. {
  226. count += 1;
  227. }
  228. }
  229. Console.WriteLine("Er zitten " + count + " oranje figuren in de collectie.");
  230. }
  231. // Alle groene figuren berekenen
  232. public void TelGroen()
  233. {
  234. int count = 0;
  235.  
  236. foreach (Figuur figuur in _Items)
  237. {
  238. if (figuur.kleur == FiguurKleur.Groen)
  239. {
  240. count += 1;
  241. }
  242. }
  243. Console.WriteLine("Er zitten " + count + " groene figuren in de collectie.");
  244. }
  245. // Totaal aantal figuren in de collectie tellen
  246. public void TelFiguren()
  247. {
  248. int count = 0;
  249.  
  250. foreach (Figuur figuur in _Items)
  251. {
  252. count += 1;
  253. }
  254.  
  255. Console.WriteLine("er zitten " + count + " figuren in de collectie.");
  256. }
  257. // Figuren tellen per type
  258. public int TelFiguurPerType(FiguurType figuurType)
  259. {
  260. int count = 0;
  261.  
  262. foreach (Figuur figuur in _Items)
  263. {
  264. if (figuur.Type == figuurType)
  265. {
  266. count = count + 1;
  267. }
  268. }
  269.  
  270. return count;
  271. }
  272.  
  273.  
  274. // Gewicht rode kubussen berkenen
  275. public void GewichtRodeKubussen()
  276. {
  277. int gewicht = 0;
  278.  
  279. foreach (Figuur figuur in _Items)
  280. {
  281. if (figuur.Type == FiguurType.Kubus && figuur.kleur == FiguurKleur.Rood)
  282. {
  283. gewicht = gewicht + figuur.Gewicht;
  284. }
  285. }
  286.  
  287.  
  288. Console.WriteLine("Het totale gewicht van de rode kubussen is: " + gewicht);
  289. }
  290. // Totaal gewicht van alle oranje figuren berekenen
  291. public void TotaalGewichtOranjeFiguren()
  292. {
  293. int gewicht = 0;
  294.  
  295. foreach (Figuur figuur in _Items)
  296. {
  297. if (figuur.kleur == FiguurKleur.Oranje)
  298. {
  299. gewicht = gewicht + figuur.Gewicht;
  300. }
  301. }
  302. Console.WriteLine("Het totaal gewicht van alle oranje figuren is: " + gewicht);
  303. }
  304. // Gewicht van alle groene ballen berekenen
  305. public void TotaalGewichtGroeneBallen()
  306. {
  307. int gewicht = 0;
  308.  
  309. foreach (Figuur figuur in _Items)
  310. {
  311. if (figuur.Type == FiguurType.Bal && figuur.kleur == FiguurKleur.Groen)
  312. {
  313. gewicht = gewicht + figuur.Gewicht;
  314. }
  315. }
  316.  
  317. Console.WriteLine("Het totale gewicht van de groene ballen is: " + gewicht);
  318. }
  319. // Totaal gewicht van alle figuren berekenen
  320. public void TotaalGewichtAlleFiguren()
  321. {
  322. int gewicht = 0;
  323.  
  324. foreach (Figuur figuur in _Items)
  325. {
  326. gewicht = gewicht + figuur.Gewicht;
  327. }
  328. Console.WriteLine("Het totaal gewicht van alle figuren is: " + gewicht);
  329. }
  330. // Zwaarste figuur uit de collectie berkenen
  331. public void ZwaarsteFiguur()
  332. {
  333. int index = 0;
  334. Figuur zwaarste = _Items[0];
  335.  
  336. foreach (Figuur figuur in _Items)
  337. {
  338. if (figuur.Gewicht > zwaarste.Gewicht)
  339. {
  340. zwaarste = _Items[index];
  341. }
  342. index = index + 1;
  343. }
  344.  
  345. Console.WriteLine("\n" + zwaarste.Type + " " + zwaarste.FiguurNummer + " is de zwaarste figuur in de collectie.");
  346. }
  347. // Verschil tussen de zwaarste en de lichtste figuur berekenen
  348. public void VerschilZwaarsteLichtste()
  349. {
  350. int zwaarste = _Items[0].Gewicht;
  351. int lichtste = _Items[0].Gewicht;
  352.  
  353. foreach (Figuur figuur in _Items)
  354. {
  355. if (figuur.Gewicht > zwaarste)
  356. {
  357. zwaarste = figuur.Gewicht;
  358. }
  359. if (figuur.Gewicht < lichtste)
  360. {
  361. lichtste = figuur.Gewicht;
  362. }
  363. }
  364.  
  365. int verschil = 0;
  366. verschil = zwaarste - lichtste;
  367.  
  368. Console.WriteLine("Het verschil tussen de zwaarste en de lichtste figuur is: " + verschil);
  369. }
  370. // Figuren uit de collectie weergeven
  371. public void AlleFiguren()
  372. {
  373. foreach (Figuur figuur in _Items)
  374. {
  375. Console.WriteLine(figuur.ToString());
  376. }
  377. }
  378. // Figuren sorteren op gewicht
  379. public void SorteerFigurenOpGewicht()
  380. {
  381. Figuur temp;
  382. for (int i = 0; i <= _Items.GetUpperBound(0); i++)
  383. {
  384. for (int n = i + 1; n <= _Items.GetUpperBound(0); n++)
  385. {
  386. if (_Items[n].Gewicht < _Items[i].Gewicht)
  387. {
  388. temp = _Items[i];
  389. _Items[i] = _Items[n];
  390. _Items[n] = temp;
  391. }
  392. }
  393. }
  394. Console.WriteLine("Hieronder zijn de figuren gesorteerd op gewicht.\n");
  395. foreach (Figuur figuur in _Items)
  396. {
  397. Console.WriteLine(figuur.ToString());
  398. }
  399. }
  400. }
  401. //
  402. class Program
  403. {
  404. static void Main(string[] args)
  405. {
  406. //Figuren aanmaken
  407. Figuur bal1 = new Bal(50);
  408. Figuur kubus1 = new Kubus(65);
  409. Figuur bal2 = new Bal(115);
  410. Figuur kubus2 = new Kubus(145);
  411. Figuur bal3 = new Bal(8);
  412. Figuur kubus3 = new Kubus(23);
  413. Figuur bal4 = new Bal(69);
  414. Figuur kubus4 = new Kubus(83);
  415. Figuur bal5 = new Bal(124);
  416. Figuur kubus5 = new Kubus(137);
  417. Figuur bal6 = new Bal(33);
  418. Figuur kubus7 = new Kubus(65);
  419. //AANMAAK COLLECTIE FIGUREN
  420. Figuren figuren = new Figuren();
  421.  
  422. //Figuren toevoegen
  423. Console.ForegroundColor = ConsoleColor.Yellow;
  424. figuren.VoegFiguurToe(bal1);
  425. figuren.VoegFiguurToe(bal2);
  426. figuren.VoegFiguurToe(bal3);
  427. figuren.VoegFiguurToe(bal4);
  428. figuren.VoegFiguurToe(bal5);
  429. figuren.VoegFiguurToe(kubus1);
  430. figuren.VoegFiguurToe(kubus2);
  431. figuren.VoegFiguurToe(kubus3);
  432. figuren.VoegFiguurToe(kubus4);
  433. figuren.VoegFiguurToe(kubus5);
  434. Console.WriteLine();
  435.  
  436. // Kijken of een figuur zich reeds in de collectie bevind, zoniet deze toevoegen
  437. Console.ForegroundColor = ConsoleColor.Red;
  438. figuren.VoegFiguurToe(bal6);
  439. figuren.VoegFiguurToe(bal5);
  440. figuren.VoegFiguurToe(kubus1);
  441. figuren.VoegFiguurToe(kubus7);
  442. Console.WriteLine();
  443. //
  444. //Figuren verwijderen op index
  445. Console.ForegroundColor = ConsoleColor.White;
  446. figuren.VerwijderFiguurOpIndex(1);
  447. figuren.VerwijderFiguurOpIndex(5);
  448. figuren.VerwijderFiguurOpIndex(8);
  449. Console.WriteLine();
  450.  
  451. //Figuren verwijderen op naam
  452. Console.ForegroundColor = ConsoleColor.DarkYellow;
  453. figuren.VerwijderOpNaam(bal3);
  454. figuren.VerwijderOpNaam(kubus2);
  455. figuren.VerwijderOpNaam(bal4);
  456. figuren.VerwijderOpNaam(bal4);
  457. Console.WriteLine();
  458.  
  459. //Figuren zoeken op naam
  460. Console.ForegroundColor = ConsoleColor.Green;
  461. figuren.ZoekObjectFiguur(bal3);
  462. figuren.ZoekObjectFiguur(kubus5);
  463. figuren.ZoekObjectFiguur(bal1);
  464. Console.WriteLine();
  465. //Aantal rode , oranje en groene figuren weergeven
  466. Console.ForegroundColor = ConsoleColor.Blue;
  467. figuren.TelRood();
  468. figuren.TelOranje();
  469. figuren.TelGroen();
  470. Console.WriteLine();
  471. //Aantal ballen en kubussen weergeven
  472. Console.ForegroundColor = ConsoleColor.Magenta;
  473.  
  474. Console.WriteLine("Er zitten " + figuren.TelFiguurPerType(FiguurType.Bal) + " ballen in de collectie.");
  475. Console.WriteLine("Er zitten " + figuren.TelFiguurPerType(FiguurType.Kubus) + " kubussen in de collectie.");
  476. //Totaal gewicht van rode kubussen, alle oranje figuren, alle groene ballen en totaal gewicht alle figuren weergeven
  477. Console.ForegroundColor = ConsoleColor.Gray;
  478. figuren.GewichtRodeKubussen();
  479. figuren.TotaalGewichtOranjeFiguren();
  480. figuren.TotaalGewichtGroeneBallen();
  481. figuren.TotaalGewichtAlleFiguren();
  482. Console.WriteLine();
  483. //Zwaarste figuur en het verschil tussen de lichtste en de zwaarste figuur weergeven
  484. Console.ForegroundColor = ConsoleColor.Cyan;
  485. figuren.ZwaarsteFiguur();
  486. figuren.VerschilZwaarsteLichtste();
  487. Console.WriteLine();
  488. //Figuren op gewicht weergeven
  489. Console.ForegroundColor = ConsoleColor.DarkMagenta;
  490. figuren.SorteerFigurenOpGewicht();
  491. Console.WriteLine();
  492. //
  493. Console.ReadLine();
  494. }
  495. }
  496. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement