
20-12-2008, 21:57
|
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
במקום לבזבז את הזמן בלכתוב סימני שאלה, עדיף היה שתתחום את הקוד שלך בתגי CODE, שיהיה נוח לקרוא את הקוד ולעזור לך.
בנוגע להזחות (רווחים גדולים, ע"י הקלדה יחידה על TAB במקלדת) אפילו לא אעיר כי אתה כנראה חדש בתיכנות ולא מכיר כיצד מעצבים קוד נכון (כדי שהמתכנת יוכל לקרוא אותו בקלות ונוחות).
סידרתי את הקוד עם הזחות ופחות newlines מיותרים, אולי עכשיו תוכל בעצמך לפתור את הבעיה:
קוד:
#include <stdio.h>
void main ()
{
int a,b;
char ch='*';
printf("enter the number of astriks:\n");
scanf("%d",&b);
{
if(b<0)
printf("the number is negativ:\n");
return;
}
for(a=0;a<b;a++)
printf("%c",ch);
}
בפעם הבאה ציין במדויק את הבעיה, איפה יש תקלה.
לכתוב "מה לא בסדר בתוכנית???????????" זו שאלה כללית מידי...
אני מניח שהקוד לא מתקמפל, בגלל השגיאה במיקום הסוגרים המסולסלים הפותחים.
ד"א כותבים int main ולא void main, וכן יש הצהרת return, אבל המורים בישראל מורידים נקודות על "שטויות" כאלה ויוסיפו הערה ליד ה-return כמו "למי?", והערה ליד ה-int main כמו "לא רצוי".
אם תכתוב "שטויות" נוספות (בין אם הן מחוקקות באבן התקנים או לא) הם יעבירו לך מסר ברור של "אתה לא מפגין ידע, אלא מנסה להרשים ללא הצלחה", אפילו כשלא ניסית להרשים, וכתבת את הקוד כפי שאתה רגיל לכתוב....
עריכה:
הפונקציה main מסוג void ולכן אתה לא יכול להחזיר ערך...
במקרה שלך, פשוט תקבע את הפונקציה לסוג int ותחזיר ערך כמו 0, או שתשתמש בסוגריים מסולסלות איפה שצריך.
נערך לאחרונה ע"י dorM בתאריך 20-12-2008 בשעה 22:05.
|