Programeer opdrachtenOpdracht : opdr7b_marco.txt

Terug naar de inzendingen
Opdracht 7b,Marco Louter
16 Dec 2009
 Mijn versie voor opdracht B
 1 
*****supermarkt.c*****
  
 2/* Opdracht B: De supermarkt
 3 * door Marco Louter
 4 * Datum: 16 december 2009
 5 *
 6 * Compileren: gcc supermarkt.c -o supermarkt
 7 * Uitvoeren: ./supermarkt
 8 *
 9*/
 10
 11#include 
 12int main()
 13{
 14/* Aantal vakkenvullers in de winkel */
 15int vakkenvullers = 0;
 16/* Aantal klanten in de winkel */
 17int klanten = 0;
 18/* Aantal kassa's open, minimaal 1 */
 19int kassaopen = 1;
 20/* Hoeveel kassa's kunnen er maximaal open? */
 21int maxkassa = 5;
 22/* Maximaal aantal klanten per kassa */
 23int maxklant = 4;
 24/* Aantal keer korting gegeven */
 25int telkorting = 0;
 26/* Totaal aan korting gegeven */
 27int totaalkorting = 0;
 28/* Korting als er teveel klanten bij een kassa zijn */
 29int korting = 25;
 30
 31while (vakkenvullers < 1)
 32{
 33    printf("Voer het aantal vakkenvullers in: ");
 34    scanf("%d", &vakkenvullers);
 35}
 36
 37while (klanten < 1)
 38{
 39    printf("Voer het aantal klanten in: ");
 40    scanf("%d", &klanten);
 41}
 42
 43while (kassaopen < maxkassa && klanten > maxklant && vakkenvullers > 0)
 44{
 45    kassaopen++;
 46    vakkenvullers--;
 47    klanten -= maxklant;
 48}
 49while (vakkenvullers == 0 && klanten > maxklant)
 50{
 51    if (kassaopen < 5)
 52    {
 53        telkorting++;
 54        totaalkorting += korting;
 55    }
 56    klanten--;
 57}
 58printf("\nEr zijn %d kassa's open\n", kassaopen);
 59printf("Er zijn %d vakkenvullers in de winkel\n", vakkenvullers);
 60printf("Er is %d X %d Euro korting gegeven\n", telkorting, korting);
 61printf("Totaal is er %d Euro korting gegeven\n", totaalkorting);
 62return 0;
 63}
 
 
Mijn commentaar
 
 Marco,
 Nette uitvoering van de opdracht, duidelijk en afdoende gedocumenteerd.
 Je foutafhandeling bij de invoer is heel rudimentair maar voldoet aan de
 opdracht.
 
 Een kleine opmerking van technische aard:
 [i]while(vakkenvullers==0 && klanten > maxklant)[/i]
 zet liever om beide evaluaties haken, en vergelijken met 0 is niet echt nodig
 immers elke waarde anders dan 0 is True
 ik zou het volgende neerzetten [i]while(!vakkenvullers && (kanten > maxklant))
 
 Bedankt voor het meedoen !