STRUCT, עוד פעם.. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

STRUCT, עוד פעם..


SweeT_EviL

Recommended Posts

אחרי שאת העבודה האחרונה שלי בSTRUCTים עשיתי בקובץ אחד.

יש לי עוד עבודה איתם עם הרבה קבצים והפעם המורה(אחד אחר) אמר לעבוד בVC ולא בTC...

לבעיה

לא יודע מה הארורים בדיוק אומרים לי, אבל אולי אתם תגלו.

אלה הקבצים הרלוונטים

main

#include "mainsudoko.h"

int main()
{
vec v;
int i;

for(i=0;i<9;++i)
setCell(v,i,5);
printf("%d",getCell(v,1));
getchar();
return 0;
}

vec.c

#include "vec.h"

int getCell(vec v, int index)
{
return(v.vector[index]);
}

int setCell(vec v, int index, int num)
{
v.vector[index]=num;
return(1);
}

vec.h

struct vecc
{
int vector[9];
};

typedef struct vecc vec;

int getCell(vec v, int index);
int setCell(vec v, int index, int num);

לא חסר לי INCLUDE לשום דבר..

הERRORS

1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>Debug\sudoko.exe : fatal error LNK1120: 1 unresolved externals

קישור לתוכן
שתף באתרים אחרים

כשאתה מקמפל תוכנית , אז הפונקציה הראשית שלך היא לא void main, אלא משהו טיפה יותר מורכב.

הדרך הכי קלה ליצור אותה זה ליצור project כ- win32 command line, ולתת ל- Project Wizard ליצור לך תוכנית פשוטה.

קישור לתוכן
שתף באתרים אחרים

אני לא יודע באיזו גרסא של VC אתה משתמש.

ב- 2005, הפונקציית main נראית ככה:

int _tmain(int argc, _TCHAR* argv[])

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

קישור לתוכן
שתף באתרים אחרים

איך יצרת את הפרוייקט?

בכל מקרה, תבחר ב Win32 Console Application ושם ב Empty Project. זה יצור לך פרוייקט ריק שאליו תוכל להוסיף את הקבצים שלך.

Boomerang הוא לא חייב להשתמש ב _tmain . ה _tmain בסה"כ מוחלף ל main אם הפרוייקט הוא ANSI או ל wmain אם הוא unicode:

http://msdn2.microsoft.com/en-us/library/6wd819wh(VS.80).aspx

קישור לתוכן
שתף באתרים אחרים

כפי שאמרו לך, תיצור פרוייקט חד ש עם הWIZARD, ותבחר שם EMPTY PROJECT.

כשאתה מוסיף קבצים חדשים לתוכנית שלך, תדאג לתת להם סיומת .c. כלומר, במקום שאתה צריך להכניס את השם שלהם, תרשום myCFile.c.

קישור לתוכן
שתף באתרים אחרים

זה מפעיל לי את התוכנית, אבל הוא אומר לי שאני לא יכול להשתמש בV לפני שאני מאתחל אותו.

ניסיתי לרשום בSTRUCT

int vector[9]={0,0,0,0,0,0,0,0,0};

והוא מתחיל להשתגע.. ניסיתי גם לעשות לו פונקציה שמאפסת את V ועדין אחרי שאני קוראה לה יש את אותו הודעה.

קישור לתוכן
שתף באתרים אחרים

כנראה שכחתי לציין שניסיתי עם פוינטר וזה לא עבד

כלומר

אני שולח &v ומקבל בפונקציה *v

ולא, לא עובד..

עריכה:

כדי לחדד את העיניין

	for(i=0;i<9;++i)
setCell(&v,i,5);

int setCell(vec *v, int index, int num)
{
(*v).vector[index]=num;
return(1);
}

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...