שפת C/שימוש בספריות/תרגילים

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


כדאי לדעת:

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

הדפסת הזמן הנוכחי[עריכה]

דרגת קושי: ☆ ☆ ★ ★


כתוב תוכנית המדפיסה את הזמן (על פי שעון המחשב, על כל פנים).




פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.





השוואה בין שתי מחרוזות[עריכה]

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





הפיכת מחרוזת לשלם[עריכה]

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




פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.





כתיבת וקריאת מערך לקובץ ומקובץ[עריכה]

כתוב שתי פונקציות, בעלת ההצהרות הבאות:

int array_to_file(FILE *fp, const void *p, unsigned long num, unsigned long size);
int file_to_array(FILE *fp, void *p, unsigned long num, unsigned long size);

שתי הפונקציות מקבלות מצביע לקובץ (fp), ומצביע (p) למשהו לא ידוע לחלוטין. למעשה, p מצביע למערך בעל num איברים, שגודל כל אחד מהם size. על הפונקציה הראשונה לכתוב את המערך לקובץ, ועל השניה לקרוא את המערך מהקובץ. כל אחת מהפונקציות צריכה להחזיר 0 אם הפעולה הצליחה, ו-1 אם לא.

להלן דוגמה לשימוש:

const int a[5] = {1, 3, 4, 5, 2};

FILE *const fp = fopen("test.txt", "wt");

array_to_file(fp, a, 5, sizeof(int));




פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.