lusstructuur maken in C

Status
Niet open voor verdere reacties.

Geforce660

Gebruiker
Lid geworden
2 jun 2007
Berichten
12
ik werk dus in C, NIET in C++
ik zou graag een lusstructuur maken (een niet te moeilijke versie ervan,want ik ben pas begonnen met programmeren )
ik bedoel dus

getal1=..
getal2=..
som=..

Wilt u nog een bewerking maken? y/n

y=> getal1=..
getal2=..
som=...

n=> druk op enter om af te sluiten.




dit heb ik gemaakt, nu nog de lusstructuur, maar hoe begin ik eraan??:

#include <stdio.h>

int main (void)
{
int getal1,getal2;
char sluit;
printf("Geef getal1 in:");
scanf("%d",&getal1);
printf("Geef getal2 in:");
scanf("%d",&getal2);
printf("De som van getal1 en getal2 is %d\n",getal1+getal2);
printf("Druk op Enter om af te sluiten.");
scanf("%c%*c", &sluit);

return 0;
}
 
Laatst bewerkt:
Een do-while lus met een integer die je gebruikt als boolean.

Dus:
Code:
#include <stdio.h>

int main (void)
{
  int getal1,getal2,nogmaals;
  char sluit;
  do
  {
    printf("Geef getal1 in:");
    scanf("%d",&getal1);
    printf("Geef getal2 in:"); 
    scanf("%d",&getal2);
    printf("De som van getal1 en getal2 is %d\n",getal1+getal2);

  }
  while (nogmaals)
  printf("Druk op Enter om af te sluiten.");
  scanf("%c%*c", &sluit);

return 0;
}

Dan moet je aan het einde van de lus (na "printf("De som van getal1 en getal2 is %d\n",getal1+getal2);") de vraag stellen of de gebruiker nog een bewerking wil. Als 'y' ingevoerd wordt geef je nogmaals de waarde 1 en anders 0.
 
maar hoe moet ik het dan juist inbrengen?:


#include <stdio.h>

int main (void)
{
int getal1,getal2,nogmaals;
char sluit;
do
{
printf("Geef getal1 in:");
scanf("%d",&getal1);
printf("Geef getal2 in:");
scanf("%d",&getal2);
printf("De som van getal1 en getal2 is %d\n",getal1+getal2);
printf("Wilt u nog een bewerking maken? y/n\n");

}
while (nogmaals);
printf("Druk op Enter om af te sluiten.");
scanf("%c%*c", &sluit);

return 0;
}




zoals het nu is herhaald hij zichzelf altijd .. :s
 
#include <stdio.h>

int main (void)
{
int getal1,getal2,y,n;
char sluit;
do
{
printf("Geef getal1 in:");
scanf("%d",&getal1);
printf("Geef getal2 in:");
scanf("%d",&getal2);
printf("De som van getal1 en getal2 is %d\n",getal1+getal2);
printf("Wilt u nog een bewerking maken? y/n\n");

}
while (scanf("%c%*c",&y)==1);
while (scanf("%c%*c",&n)==0);
printf("Druk op Enter om af te sluiten.");
scanf("%c%*c", &sluit);
while (scanf("%c%*c",&y)==1)


return 0;
}


dit issem nu, maar het klopt niet met de while functie, hoe kan ik het programma late registreren of er een y of een n wordt ingetypt? en hoe link ik deze letters aan een keuze => afsluite of nog een bewerking maken????
 
Laatst bewerkt:
Dat kan gewoon met if.

Code:
printf("Wilt u nog een bewerking maken? y/n\n");
scanf("%c",&invoer);
if (invoer == 'y')
{
  nogmaals = 1;
}
else
{
  nogmaals = 0;
}
 
het werkt nog niet :(

#include <stdio.h>

int main (void)
{
int getal1,getal2,invoer,nogmaals;
char sluit;
{
printf("Som v1.03, door Tom Aerts.\n\n");
printf("Geef getal1 in:");
scanf("%d",&getal1);
printf("Geef getal2 in:");
scanf("%d",&getal2);
printf("De som van getal1 en getal2 is %d\n",getal1+getal2);
printf("Wilt u nog een bewerking maken? y/n\n");
scanf("%c",&invoer);
if(invoer == 'y')
{
nogmaals = 1;
}
else
{
nogmaals = 0;
}

printf("Druk op Enter om af te sluiten.");
scanf("%c%*c", &sluit);

return 0;
}
}
 
Je moet wel de lus invoegen natuurlijk:

do {

...

} while(invoer == 'y');
 
#include <stdio.h>

int main (void)
{
int getal1,getal2,invoer;
char sluit;
do
{
printf("Som v1.03, door Tom Aerts.\n\n");
printf("Geef getal1 in:");
scanf("%d",&getal1);
printf("Geef getal2 in:");
scanf("%d",&getal2);
printf("De som van getal1 en getal2 is %d\n",getal1+getal2);
printf("Wilt u nog een bewerking maken? y/n\n");
scanf("%c",&invoer);
}
while(invoer == 'y');
printf("Druk op Enter om af te sluiten.");
scanf("%c%*c", &sluit);

return 0;
}



het werkt nog niet, maar wil je mss eens probere hoe je het moet maken?
 
Code:
#include <stdio.h>

int main (void)
{
        int getal1,getal2,nogmaals;
        char sluit,invoer;
        do
        {
                printf("Som v1.03, door Tom Aerts.\n\n");
                printf("Geef getal1 in:");
                scanf("%d",&getal1);
                printf("Geef getal2 in:");
                scanf("%d",&getal2);
                while(getchar() != '\n') continue; /* input buffer legen */
                printf("De som van getal1 en getal2 is %d\n",getal1+getal2);
                printf("Wilt u nog een bewerking maken? y/n\n");
                scanf("%c", &invoer);
                if (invoer == 'y')
                {
                        nogmaals = 1;
                }
                else
                {
                        nogmaals = 0;
                }
        }
        while(nogmaals == 1);
        printf("Druk op Enter om af te sluiten.");
        scanf("%c%*c", &sluit);

 return 0;
}

Dit werkt bij mij. Mag ik trouwens vragen waarom je dit wilt? Het komt nu op me over als een schoolopdracht.
 
ik probeer om C te lere en een vriend van me zit in de richting programmere in de hogeschool, hij heeft mij deze opdracht gegeve om me wat te helpe, kennis te laten make met de taal...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan