הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה בתוכנית ב c (https://hosts.co.il/forums/showthread.php?t=62944)

ani 10-05-08 16:07

בעיה בתוכנית ב c
 
אהלן אנשים,
אני בדיוק עכשיו לומד פונ', ונתתי לעצמי כמה תרגילים לראות אם אני מצליח, אך נתקלתי בכמה בעיות.
הנה התוכנית:
קוד:

#include <stdio.h>
#include <conio.h>

int klot (int a,int b,int c);


void main ()
{
int a,b,c,d;

        a= klot (a,b,c);
        d=a+b+c;
        printf ("%d",d);

}

int klot (int a,int b,int c)
{
        int a,b,c;
        scanf ("%d%d%d",&a,&b,&c);
        return (a,b,c);
}

אני אשמח אם תגידו לי מה אני צריך ךתקן בשביל שזה יעבוד + איפו אתם רואים שאני נופל, ואם אפשר אז גם הסבר למה זה לא עובד...
אני צריך את זה דיי דחוף |מסמיק| .
תודה רבה מראש לכל העוזרים (וגם המנסים),

4ior 10-05-08 16:46

מסקירה מהירה על הקוד אני רואה שהפונקציה klot מחזירה a,b,c וזה לא אפשרי. או שאתה מחזיר את זה במערך או שאתה עושה את זה עם פויינטרים שלא נראה לי שלמדת..
זאת גם לא דוגמה טובה לפונקציות..תעשה משהו כמו add(a,b) ואז תתרגל את זה יותר טוב. כי במקרה שלך עדיף להוריד את הפונקציה ולקלוט הכל כבר בmain.

ani 10-05-08 16:52

אוקי אז מה שאתה אומר זה בעצם שזה בלתי אפשרי להחזיר יותר ממשתנה אחד? האפשרות היחידה זה בתוך בערך?

4ior 10-05-08 18:09

יש כל מיני דרכים עקיפות..אבל אני מעריך שלא למדת את זה..אז לא אי אפשר להחזיר יותר ממשתנה אחד.
כמו שאתה רואה גם שם הפונקציה שלך מתחילה בint ומה שזה אומר זה שזה מחזיר משתנה אחד מסוג integer..
אם זה היה נגיד struct מסויים או class מסויים היית יכול להחזיר כמה משתנים אבל בגלל שזה int אתה לא יכול.
אבל כל מה שאמרתי בטח לא מובן לך..אז לסיכום תעשה מה שאמרתי בתגובה הראשונה.

ani 10-05-08 18:21

אוקי אחי תודה רבה :-) עזרתה לי מאוד,


כל הזמנים הם GMT +2. הזמן כעת הוא 06:31.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ