🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #8081

Re: C-vraag ivm while-lus en scanf-return-value (while (scanf(...) == 0)

#8081
From: Luc Kumps
Date: Tue, 09 Jul 2002 08:42
43 lines
2382 bytes
scanf() laat de 'slechte' characters in de input stream zitten. Om die eruit
te halen kun je bv. fflush gebruiken, als volgt:

while (scanf("%d", &input) == 0)
{
   fflush(stdin);
   printf("Error: input is no integer\nPlease try again: ");
}

Luc K

"Sven Vermeulen" <svenPUNTJEvermeulen@rug.ac.be> wrote in message
news:BAwW8.25690$ix.3604@afrodite.telenet-ops.be...
> Ieps,
>
> Ik probeer dmv een lus ervoor te zorgen dat verkeerd ingegeven gegevens
> opgevangen worden en de user te dwingen opnieuw zijn gegevens in te geven.
> Het gaat als volgt:
>
> printf("Number %d: ", looper);
> while (scanf("%d", &input) == 0)
> {
> printf("Error: input is no integer\nPlease try again: ");
> }
>
> Jammergenoeg vangt m'n compiler (gcc) dit niet op zoals ik hoopte:
>
> Number 1: a
> Error: input is no integer
> Please try again: Error: input is no integer
> Please try again: Error: input is no integer
> Please try again: Error: input is no integer
> Please try again: Error: input is no integer
> Please try again: Error: input is no integer
> [...]
>
> Ik veronderstel dat die while-lus de "oude" returnvalue gewoon neemt en
dus
> niet de expressie 'scanf("%d", &input) == 0' opnieuw uitvoert. Hoe moet ik
> dit anders doen?
>
> Mvg,
> Sven Vermeulen
Technical Details
Message-ID: <IlxW8.25747$ix.3906@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-05!sn-xit-06!supernews.com!nntp.cs.ubc.ca!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <BAwW8.25690$ix.3604@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,c06f7d2c1c15dc0a
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-07-09 01:46:02 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-05!sn-xit-06!supernews.com!nntp.cs.ubc.ca!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "Luc Kumps" <NOkumpsSPAM@pandora.be>
Newsgroups: be.comp.programming
References: <BAwW8.25690$ix.3604@afrodite.telenet-ops.be>
Subject: Re: C-vraag ivm while-lus en scanf-return-value (while (scanf(...) == 0)
Lines: 45
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <IlxW8.25747$ix.3906@afrodite.telenet-ops.be>
Date: Tue, 09 Jul 2002 08:42:16 GMT
NNTP-Posting-Host: 213.118.69.141
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1026204136 213.118.69.141 (Tue, 09 Jul 2002 10:42:16 MET DST)
NNTP-Posting-Date: Tue, 09 Jul 2002 10:42:16 MET DST
Organization: Telenet Internet