בעיה בתוכנית - המרה מא.א ל ס"מ

פורום הדן בנושא תחרות הרובונר

המנהלים: אסף פוניס, גיא יונה

בעיה בתוכנית - המרה מא.א ל ס"מ

הודעהעל ידי Benny » ג' אוקטובר 19, 2004 7:21 pm

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

קוד: בחר הכל
#include <tkbase.h>
#include <math.h>

float no_to_cm(int a4);

void main()
{
   int a4;
   float v;

   init_motortk();
   init_analog();
   init_clocktk();
   init_serial();

   read_IR();
        a4=IRDT[4];
        v=no_to_cm(a4);
}      

float no_to_cm(int a4)
{
   float v;
   v=pow(a4, -0.9467);
   printf("v = %f\n",v);
   v= v * 1334;
   printf("v = %f\n",v);
   return v;
}



הפלט שיצא לי הוא:

קוד: בחר הכל
v = <integer only print, use - lft?? to relink>


מישהו יכול לעזור?
אני לא מבין מה זה אומר..
דרך אגב אני משתמש פה ב
ICC
נערך לאחרונה על ידי Benny בתאריך ה' אוקטובר 21, 2004 11:08 am, נערך פעם אחת בסך הכל.
Benny
משתמש חדש
משתמש חדש
 
הודעות: 2
הצטרף: ג' אוקטובר 19, 2004 7:06 pm
מיקום: Netanya

אוקי..

הודעהעל ידי Benny » ד' אוקטובר 20, 2004 6:28 pm

עכשיו אחרי שבדקתי את התוכנית ראיתי שהבעיה של התוכנה היא רק שהוא יכול להציג ולהשתמש במספרים שלמים בלבד (integer) ולא יכול ב float.
אבל לא נדמה לי שזה הגיוני... אז יש איזו הגדרה שצריך להגדיר בהתחלה בשביל להשתמש ב float?
Benny
משתמש חדש
משתמש חדש
 
הודעות: 2
הצטרף: ג' אוקטובר 19, 2004 7:06 pm
מיקום: Netanya


חזור אל רובונר

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ו 3 אורחים

cron