•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the C section within the Software Development category of DaniWeb, a massive community of 370,609 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,062 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C advertiser:
Views: 1345 | Replies: 5
![]() |
•
•
Join Date: Nov 2004
Posts: 123
Reputation:
Rep Power: 0
Solved Threads: 0
this code to convert pounds to barbados dollars given a constant rate the price cannot go over $100 when i first run it and input a number under 100 it tells me that it is invalid and sometimes i get nothing at all. Can neone tell me why?
/* This Program converts Pounds Sterling to Barbados Dollars*/
# include <stdio.h>
int main ()
{
float Pds, Bds; /* Declare Variables*/
const float Rate =3.75;
printf("Enter the Price in Pounds Sterling\n"); /*Prompt User*/
scanf_s("%f", &Pds);
while(Pds >100);/* finds illegal value*/
{
printf("Error your price cannot be greater than $100\n");
printf("Please Enter another\n");
scanf_s("%f",&Pds);
}
Bds=Pds*Rate;
printf("Price in Barbados Dollars=%.2f",Bds);
return 0;
}•
•
Join Date: Aug 2005
Location: near St Louis, Missouri, USA
Posts: 10,104
Reputation:
Rep Power: 34
Solved Threads: 806
stop using scanf() because it may corrupt the input buffer and leave keys in the keyboard buffer. use fgets() instead
float num;
char buf[16];
printf("blabla");
// get input from user
fgets(buf,sizeof(buf),stdin);
// convert to float
num = atof(buf); Last edited by Ancient Dragon : Oct 7th, 2006 at 8:38 am.
•
•
Join Date: Jun 2005
Location: Novi Sad, Serbia
Posts: 273
Reputation:
Rep Power: 6
Solved Threads: 29
•
•
Join Date: Aug 2005
Location: near St Louis, Missouri, USA
Posts: 10,104
Reputation:
Rep Power: 34
Solved Threads: 806
while ( Pds > 100 ) ; is equivalent to while ( Pds > 100 )
{
// sit back and enjoy baby
}Like Mr. Dragon said the variable which controls the run of your "While " loop never changes and so it goes on for infinity.
Last edited by ~s.o.s~ : Oct 9th, 2006 at 1:07 pm.
"I don't accept change. I don't deserve to live."
"Working a real job is a win if you're lazy, greedy, or unmotivated. If you're average, you fit right in. And if you're above average, the basic terms of employment and premise of the arrangement is against your interests."
"Working a real job is a win if you're lazy, greedy, or unmotivated. If you're average, you fit right in. And if you're above average, the basic terms of employment and premise of the arrangement is against your interests."
![]() |
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
•
•
•
•
DaniWeb C Marketplace
- MC68000/..332 Calculator (Assembly)
- HJT analysis would be appreciated (Viruses, Spyware and other Nasties)
- Complex Number Calculator in C++ (C++)
- Java to C# Conversion (C#)
Other Threads in the C Forum
- Previous Thread: End of file controlled loop
- Next Thread: calculator program in C -help needed



Linear Mode