PDA

View Full Version : سوال: مشکل در اجرای حلقه ها



Agha30NA
سه شنبه 24 آذر 1388, 22:12 عصر
سلام بچه ها خوبید
یک برنامه نوشتم که تعدادی عدد از ورودی می گیره بعد میگه که کدوما زوج هستند کدوما فرد
بعد اولین مشکلم اینه که چیکار کنم از حلقه خارج بشه چون عدد وارد میکنم بعد اینتر که میزنم فکر کنم تو بینهایت گیر میکنه !
چیکارش کنم
الان این رو نوشتم تو هی عدد میگیره با هیچی هم خارج نمیشه!
این جایش مشکل داره چیه؟
لطفا کمکم کنید کاملش کنم!
روی Pc از BORLANDC.31 ولی روی نوت بوک از Turbo C استفاده می کنم.
برنامه پایین هم با زبان C نوشته شده است.




#include <stdio.h>
#include <conio.h>
int main()
{
int num,count=0,n=0;
while(1)
{
scanf("%d"&num);
if(num==0)
break;
n++;
if(num/2==0)
count++;
}
printf("%d%d",count,n-count);
getch();
return 0;
{


یک پست رو در مکانی اشتباه ارسال کردم که نیاز به تایید داشت با عرض معذرت از مدیران عزیز که اطلاعیه بخش رو نخوندم!:لبخندساده:

tdkhakpur
سه شنبه 24 آذر 1388, 22:45 عصر
خب صفر رو وارد کن بعد اینتر را بزن

Agha30NA
سه شنبه 24 آذر 1388, 23:50 عصر
یعنی آخرین عددی که تعریف کنم و Enter بزنم صفر باشه؟
یعنی هر وقت بخوایم از همچین حلقه هایی خارج شد باید صفر رو زد؟

VESA_01
چهارشنبه 25 آذر 1388, 00:07 صبح
#include <stdio.h>
#include <conio.h>

int main()
{
int num,count=0,n=0;

while(1)
{
scanf("%d",&num);
if(num==0)
break;
else if(num%2!=0)
n++;
else
count++;
}
printf("%d %d",count,n);

getch();
return 0;
}

طبق کد اگه عدد 0 رو از کیبورد وارد کنید و enter رو بزنید از حلقه خارج شده و حاصل رو چاپ میکنه.

AliSoft
چهارشنبه 25 آذر 1388, 00:18 صبح
با سلام مشكل برنامه در حلقه While شماست كه از حلقه بي نهايت شروع كرديد.
پيشنهاد ميكنم يك متغيير از نوع كاراكتر مثلEدر حلقه While بصورت While(E!)قرار دهيد كه تا وقتي كه حرف مذكور وارد نشده عدد بگيرد و به محض وارد شدن Eبرنامه متوقف شده و نتيجه را نمايش دهد