עבור לתוכן

עזרה בתכנות בשפת C

Featured Replies

פורסם

היי,

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

מצ"ב הקוד שהתחלתי לכתוב:

#include <stdio.h>

int main ()

{

    int n,sum,i,t,a;

    printf("Submarine at water level, D to Dive, E to Exit the Program: \n");

    char c= getchar();


    for(i = 1; i <= 10000; i++)

    {

        t = i;

        sum = 0;

        while(t != 0)

        {

            a = t%10;

            sum += a*a*a;

            t = t/10;

        }


        while(sum == i){

        if(c=='D'){

         printf("%d meters, D to Dive, A to Ascend: \n", i);

         return 0;

        }

    }

    }

    return 0;

}

תודה!

פורסם

מה זה עומק ארמסטרונג?

כרגע הקוד שלך נראה מאוד מבולבל ולא ממש ברור לי מה ניסית לעשות. תנסה לתת למשתנים שמות בעלי משמעות, מה  t,a ו-i אמורים לייצג?

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

 

בכל מקרה כדאי שתכניס את הקוד שלך לתוך תגיות code כי ככה הוא פשוט לא קריא

#include <stdio.h>

int main ()

{
 
    int n,sum,i,t,a;

    printf("Submarine at water level, D to Dive, E to Exit the Program: \n");

    char c= getchar();


    for(i = 1; i <= 10000; i++)

    {

        t = i;

        sum = 0;

        while(t != 0)

        {

            a = t%10;

            sum += a*a*a;

            t = t/10;

        }


        while(sum == i){

        if(c=='D'){

         printf("%d meters, D to Dive, A to Ascend: \n", i);

         return 0;

        }
    }
    }
    return 0;
}

 

ארכיון

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

דיונים חדשים