עבור לתוכן

בעיה בתרגיל C++ לולאות

Featured Replies

פורסם

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

אשמח לקבל עזרה(:

תודה מראש


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


void main(){
unsigned long long x,sum=0;
printf("please enter a number:");
scanf_s("%llu",&x);
while(x){
sum+=x%10;
x=x/10;
}
printf("the digit's sum is:%llu",sum);
_getch();
}

פורסם

איזו הודעת שגיאה מופיעה?

ולמה אתה משתמש ב-long long ולא סתם ב-long?

ובאיזו סביבה אתה מפתח (windows? לינוקס?)

פורסם
  • מחבר

עכשיו פתאום התוכנה רצה

יש מצב שמקודם הופיעה לי הודעת שגיאה בגלל האנטי וירוס?

פורסם
  • מחבר

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


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


void main(){
unsigned long long x,sum=0;
printf("please enter a natural number:");
scanf_s("%llu",&x);
while(x<0){
printf("error!please enter a natural namber!");
while(x>0){
sum+=x%10;
x=x/10;
}
printf("the digit's sum is:%llu",sum);
_getch();
}


השגיאה שמופיעה לי:
fatal error C1075: end of file found before the left brace '{' was matched

עזרה?

פורסם

חסר לך סוגר התו ("{") איפשהוא בקוד.

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

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

הדרך הכי טובה לדעתי, להתחיל לכתוב את "הסיפור" ואחרי זה להשלים את הקוד :


void main() {
// read number from user
// check if number is valid
.
.
.
// calculate sum of digits
// print a message to the user


}

נקודה למחשבה : איפה את בודקת אם המספר תקין או לא ? מה את עושה אם המספר תקין? מה את עושה אם המספר לא תקין?

מה קורה רחמנא ליצלן אם היוזר לא מכניס מספר ?

פורסם
  • מחבר

הבדיקה של המספר אם הוא תקין או לא אמורה להתבצע בתנאי של הלולאה

גם אחרי שסגרתי את ההללואה ששכחתי זה לא עובד:(

יש לי טעות רצינית או שזה משהו קטן שאני מפספסת?

אני מהבוקר יושבת על זה איזה תסכול!!!חח

פורסם

לי זו נראת טעות קטנה.

את צריכה לשאול את עצמך שאלה פשוטה - מה קורה אם מתקבל מספר שלילי?

פורסם
  • מחבר

רשמתי

while(x<0){

printf("error!please enter a natural namber!");

זה לא בסדר לרשום ככה?

פורסם

זוכרת איך while פועל? עכשיו סתכלי איפה נמצא הקוד של הקלט...

ארכיון

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

דיונים חדשים