עזרה בשפת C

jonathan90

New member
עזרה בשפת C

נגיד יש לי
int a=1, b=2;

איך בscanf אני עושה שאם אני מקליד ab הוא יעשה חישוב של a+b . או שאם אני רושם רק a הוא יעשה לי את הערך של a
 

nocgod

New member
אתה עושה ניגש לספר וקורא

מscanf הוא לא יעשה חישוב
מה זה אומרת "אם אני רושם רק a הוא יעשה לי את הערך של a"
מי זה הוא?
מה הוא יעשה?
איך הוא יעשה?
גם בעברית אתה מתבטא בצורה לא מובנת?
אני נותן לך לינק עם שיעורים טובים http://www.cprogramming.com/tutorial/c-tutorial.html (אני מקווה שתקרא שם ותלמד)
אתה רוצה לכתוב תוכנית שקולטת 2 מספרים ומדפיסה סכום שלהם?
התוכנית שאתה רוצה אולי תראה ככה:
#include <stdio.h>

int main()
{
int a, b;

printf("please input the first number: ");
scanf("%d", &a);
printf("please input the second number: ");
scanf("%d", &b);

printf("The sum is %d\n", a + b);
printf("Good-bye...\n");

return 0;
}
 

jonathan90

New member
אם לא הבנת את ההסבר יש לך פה אחד יותר ארוך

קלט
יש לקלוט 6 תווים, כאשר כל 3 תווים מייצגים מילה, כלומר יש שתי מילים. ניתן להניח שהקלט מכיל אך
ורק אותיות אנגליות )ללא ספרות, רווחים, סימני פיסוק או כל דבר אחר(, ושהמילה הראשונה כולה
באותיות גדולות ואילו השניה היא כולה באותיות קטנות. לדוגמא, אם הקלט הוא:
CATdog
אזי המילה הראשונה היא CAT והמילה השניה היא dog. אין רווח או הפרדה אחרת בין המילים.
פלט
על התוכנית לסכום את ערכי האותיות של המילה הראשונה )לפי B=2 ,A=1, וכן הלאה עד Z=26(,
ובנפרד את ערכי האותיות של המילה השניה לפי אותו מפתח, רק באותיות קטנות )b=2 ,a=1, וכו'(. על
התוכנית להדפיס את ההפרש בין הסכומים: סכום אותיות המילה הראשונה מינוס סכום אותיות המילה
:תדפיס התוכנית ולכן dog  4+15+7 = 26 ,CAT  3+1+20 = 24 למעלה בדוגמא .
 

jonathan90

New member
ואני לא צריך שיבנו לי תוכנית.. אני רק רוצה

הסבר בקטנה
בעיקר איך אם אני מכניס CATdog
אפשר להפריד כל אות לערך שלה (לאחר שקבעתי אותו בINT)
 

BravoMan

Active member
הנה תיעוד של פונקציה scanf:

http://www.cplusplus.com/reference/cstdio/scanf/
על אף שזה כנראה לא רעיון טוב, אני אחסוך לך קצת קריאה:

כדי לקרוא מילה עם scanf אתה צריך מערך תווים, למשל ככה:

char word[6];
scanf("%s", word);

הסימן s% אומר "קלוט מילה" (עד רווח או עד סוף שורה, מה שבא קודם).

בהצלחה!
 

nocgod

New member
איזה מאמץ הוא הראה לך שהבאת לו 70% מהפיתרון?

למרות שהפנתי אותו לאתר שאם היה יושב קורא בו שעה ואולי לומד משהו הוא כנראה לא עשה את זה.
למה הבאת לו חצי תשובה?
בstack overflow שאלה כזאת נסגר עקב מבנה שאלה לקוי
יש פה יותר מידי לאחרונה אנשים ששואלים שאלות שיעורי בית/עבודות הגשה ולא מראים טיפה מאמץ לפתור אותם...
 

BravoMan

Active member
אבל פה זה לא stackoverflow, שאמור להיות אתר

למקצוענים בלבד.

לא שאני חלילה מזלזל בכל אנשי מקצוע המכובדים שמשתתפים בפורום הזה, אבל בוא נודה באמת - עזרה למתחילים בשיעורי בית תמיד מהווה את רוב התעבורה פה.

ואני לא חושב שזה 70% מהפתרון, אולי יותר קרוב ל-30%.

הרי עכשיו השואל צריך לדעת איך עובדים עם מערך תווים, ואיך ממירים תו של אות למיקום שלה בא-ב, ואיך בכלל עושים תנאי השוואה.

עבור מישהו שרצה לקלוט תווים לתוך int, זה לא מעט דברים ללמוד.

כפי שאני רואה זאת, בסה"כ הסברתי איך משתמשים בפונקציה מספריה הבסיסית של C.
 

nocgod

New member
אם אתה מרגיש ככה סבבה


לא בא לשפוט
פשוט אני לא בטוח שהוא יגש וחפש את הדברים שציינת, מאחר והוא אפילו לא ניגש וחיפש את הדבר הקודם למרות שהוא קיבל רפרנס.
 

nocgod

New member
והקשר של מה שכתבת עכשיו למה שכתבת במקור הוא?

ושוב - תיגש לאתר שהבאתי לך ותקרא.
רמזים:
ascii
'c - 'a כאשר c הוא מטיפוס char
 
למעלה