01-11-2013, 00:19
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
קוד:
#include <stdio.h>
void main()
{
char constex[80];
int i;
unsigned int ord;
printf("Enter a value of fixed expenses\n");
scanf("%s", constex);
for(i=0; i<80; i++) {
ord = (unsigned int)constex[i];
if (ord == 0)
break;
if (ord < 48 || ord > 57)
{
printf("Bad argument entered! ASCII %d\n", ord);
break;
}
}
printf("The entered value: %s", constex);
getch();
return 0;
}
נסה את זה...
זה יוציא הודעת שגיאה כאשר בקלט יש תו שאינו ספרה בין 0 ל-9.
scanf קולטת את המחרוזת שהמשתמש מקליד, ומתרגמת אותו למספר, כאשר אתה משתמש בדגל "%d" בפרמטר הראשון של הפונקציה.
בגלל זה השתמשתי ב-%s כדי לקבל את המחרוזת כפי שהמשתמש הקליד.
ואז אני יכול לבדוק את ערך ה-ASCII של כל תו במחרוזת.
|