עבור לתוכן

עזרה דחופה עם c++

Featured Replies

פורסם
  • מחבר

מה שגוי בקוד הבאה:


#include<iostream.h>
#include<math.h>

void main()
while(char==y||char==Y)
{
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,char=Y;
cout<<"if you wont to do the action + please prees 1"<<endl<<"if you wont to do the action - please prees 2"<<endl<<"if you wont to do the action : please prees 3"<<endl<<"if you wont to do the action X please prees 4"<<endl<<"if you want to do average please prees 5"<<endl<<" if you wont to do sqrt please prees 6"<<endl;
cin>>a;
if (a==1)
{
cout<<"pres the numbers"<<endl;
cin>>b>>c;
cout<<"--------------------------------the anser---------------------------------------";
cout<<b+c<<endl;
cout<<"the programe was created by shai buaron and avichy meiri";
}
else if (a==2)
{
cout<<"pres the numbers"<<endl;
cin>>d>>e;
cout<<"--------------------------------the anser---------------------------------------";
cout<<d-e<<endl;
cout<<"the programe was created by shai buaron and avichy meiri";
}
else if (a==3)
{
cout<<"pres the numbers"<<endl;
cin>>f>>g;
cout<<"--------------------------------the anser---------------------------------------";
cout<<f/g<<endl<<endl;
cout<<"the programe was created by shai buaron and avichy meiri";
}
else if (a==4)
{
cout<<"pres the numbers"<<endl;
cin>>h>>i;
cout<<"--------------------------------the anser---------------------------------------";
cout<<h*i<<endl<<endl;
cout<<"the programe was created by shai buaron and avichy meiri";
}

else if (a==6)
{
float a,b,c;
cout<<"Write 'a' of the equation"<<endl;
cin>>a;
cout<<"Write 'b' of the equation"<<endl;
cin>>b;
cout<<"Write 'c' of the equation"<<endl;
cin>>c;
cout<<"--------------------------------the anser---------------------------------------";
cout<<"X1=";
cout<<(-b+sqrt(b*b-4*a*c))/(2*a)<<endl;
cout<<"X2=";
cout<<(-b-sqrt(b*b-4*a*c))/(2*a)<<endl<<endl;
cout<<"the programe was created by shai buaron and avichy meiri";
}



else if (a==5)
{
cout<<"between how many numbers you want to do the action"<<endl;
cin>>j;
}
else
{
cout<<"didn't have opption like this"<<endl;
}



if (j==2)
{
cout<<"you do avvarage between 2 numbers please preese them"<<endl;
cin>>k>>l;
cout<<"--------------------------------the anser---------------------------------------";
cout<<(k+l)/2;
}

else if (j==3)
{
cout<<"you do avvarage between 3 numbers please preese them"<<endl;
cin>>m>>n>>o;
cout<<"--------------------------------the anser---------------------------------------";
cout<<(m+n+o)/3;
}

else if (j==4)
{
cout<<"you do avvarage between 4 numbers please preese them"<<endl;
cin>>b>>c>>d>>e;
cout<<"--------------------------------the anser---------------------------------------";
cout<<(b+c+d+e)/4;
}

else if (j==5)
{
cout<<"you do avvarage between 5 numbers please preese them"<<endl;
cin>>b>>c>>d>>e>>f;
cout<<"--------------------------------the anser---------------------------------------";
cout<<(b+c+d+e+f)/5;
}

else if (j==6)
{
cout<<"you do avvarage between 6 numbers please preese them"<<endl;
cin>>b>>c>>d>>e>>f>>g;
cout<<"--------------------------------the anser---------------------------------------";
cout<<(b+c+d+e+f+g)/6;
}

else if (j==7)
{
cout<<"you do avvarage between 7 numbers please preese them"<<endl;
cin>>b>>c>>d>>e>>f>>g>>h;
cout<<"--------------------------------the anser---------------------------------------";
cout<<(b+c+d+e+f+g+h)/7;
}
}

פורסם

אני לא יודע שום דבר ב-C++, אף פעם לא למדתי, אף פעם לא נגעתי בזה, אבל נידמה לי שיש לך בעיה בשורה:

int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,char=Y;

כולם מספרים שלמים, אבל אתה לא שמת נקודה פסיק (";")בין ה-Z לבין ה-char.

וגם ניראה לי שהתוכנה לא יעילה בעליל (אבל זה רק אני).

פורסם
  • מחבר

השגיעה היא דווקאה בחלק של ה while ויש כך כך הרבה משתנים כי ככה הכי קל לי לעבוד ובסוף אני "זורק" את המיותרים (רובם)

פורסם

יש לך שם הרבה בעיות:

1) לא שמת סוגריים סביב לגוף של הMAIN.

2) לא הגדרת את כל המשתנים בתחילת התוכנית.

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

int מגדיר מספר שלם.

char מגדיר תו.

אתה לא יכול להגדיר משתנה שלם בשם char, מכיוון שchar זו מילה שמורה. עלייך לתת שם למשתנה מסוג char שלך, לדוגמא:


int a,b,c,d,e;
char input;

4) אתה משווה סוג משתנה char למשהו. אתה לא יכול להשוות סוגי משתנים, אלא משתנים בלבד. אני מניח שהתכוונת לרשום שם את שם המשתנה(זה שהגדרנו מקודם- input).

5) אתה צריך להקיף את ה- y וה Y בגרשיים(פסטרפי מכל צד-ככה רושמים את זה?). בתו הזה- '

בצורה הזו:



if(input=='y' || input=='Y')

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

7) כדאי לך ללמוד לולאות לפני שתתחיל לחשב ממוצע.

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

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

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

11) אני מקווה שכאן: --------------------------------the anser--------------------------------------- אין יותר מ- 80 תווים(מספר התווים המקסימאלי בשורה) מכיוון שאז זה יפרס על 2 שורות וסתם יהייה מכוער. מומלץ גם להוסיף '\n' או endl לסוף השורות כדי שזה ידר שורה.

12) כדאי שתבדוק שהדלתא גדול מ- 0 כשאתה בודק שורשים של פולינום.

13) כדאי שתכניס את ה- ifים על הjים לתוך המקום הנכון שלהם. בנוסף, במקום לרשום הרבה ifים, כדאי לך להשתמש ב- else ifים או בכלל לעבור להשתמש ב- swich.

בהצלחה...

פורסם

השגיעה היא דווקאה בחלק של ה while ויש כך כך הרבה משתנים כי ככה הכי קל לי לעבוד ובסוף אני "זורק" את המיותרים (רובם)

סתם הערה לגבי זה... הרבה פעמים ב-C (וגם C++) המיקום של השגיאה לא מייצג באמת את השגיאה. למשל, אתה עשוי לשכוח נקודה-פסיק בסוף הגדרה של class, והודעת השגיאה תהיה לחלוטין אחרת במקרים מסויימים - ואפשר לשבור את הראש על זה הרבה זמן לפעמים... אז אל תבנה ב-100% על איפה השגיאה נמצאת, אלא אם אתה באמת מבין מה היא אומרת ורואה אותה מול העיניים. ובמקרה כזה, כנראה שלא היית מבקש עזרה ;)

ואם כבר אני מגיב על זה, אז אם אתה רוצה לכתוב שגיאה, אכן כותבים עם ע'. והמבין יבין (לא שזה כזה מסתורי, פשוט אין לי כוח להסביר למי שלא הבין).

פורסם

חביבי, בלי להעליב:

תלמד C.

או שתחכה עד שתלמד את הדברים האלה בכיתה, או שתקרא את המסמך שנתתי לך קודם:

http://www.underwar.co.il/document-details.asp?id=8

אל תתיאש S_B54. אפשר ללמוד C גם לבד וע"י ניסוי וטעייה. אבל לפחות תקרא את הלינק הזה, כי לנו (לפחות אותי) זה מעצבן לענות על שאלות כל כך בסיסיות, כשהאינטרטרון מלא במדריכים לתכנות. אתה תראה שאחרי קריאת מדריך C תוכל לפתור את רוב השגיאות בעצמך, וככה הזמן של כולנו לא יתבזבז על שטויות כמו שמות משתנים אסורים ודקדוק שגוי. ל-C יש דקדוק פשוט מאוד (ברובו) וקל ללמוד אותו.

ארכיון

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

דיונים חדשים