
08-12-2006, 00:05
|
|
|
|
חבר מתאריך: 01.12.06
הודעות: 4
|
|
|
עזרה ב C בבקשה
השאלה היא כזאת:
כתוב פונקציה שמקבלת מספר שלם מהמשתמש. אם הקלט חיובי וקטן מ 1,000,000,000 הפונקציה תציג את המספר בספר ספרות הפוך.
אם המספר אינו מקיים אאת התנאי – תוצג הודעה מתאימה.
כתוב תוכנית שתשתמש בפונקציה המוגדרת לעיל, שתעבוד בלולאה אינסופית. עד לקלט של ^Z
הערות:
1. אין להציג אפסים מובילים .
2. יש להשתמש ב-continue כדי להפסיק ביצוע אחרי הודעה.
אז ככה:
הנה התוכנית:
קוד:
#include <stdio.h>
#include <conio.h>
int rev (long num);
void main()
{
long num;
clrscr();
printf("\n\nPlease Enter a Number Between 1 - 1,000,000,000: ");
scanf("%ld", &num);
rev(num);
}
int rev (long num)
{
int true=0,last;
while (num != EOF)
{
if((num<1)||(num>1000000000))
{
printf("Error, You Have Entered a Wrong Value");
continue;
}
while (num)
{
last=(num%10);
if (last) true=1;
if (true) printf("%d",last);
num=(num/10);
}
}
getch();
return 1;
}
הבעיה היא שאני נתקעתי שכשאר לוחצים CTRL+Z התוכנית לא יוצאת מהלולאה וגם עוד בעיה שכאשר הוכנס ערך שגוי הלולאה לא מבקשת ערך נוסף
בבקשה עזרו לי.. כבר שעות אני יושב על זה
|