פורסם 2008 בנובמבר 817 שנים בוקר טוב,יש לי שאלה, האם אפשר להגביל מס' תווים?לדוג':אני רוצה שהקלט יהיה מס' ת.ז,משקל וגובה.ת.ז יהיה מקס' 10 ספרותמשקל מקס' 3וגובה 4את ההגבלה אחרי הנק' אני יודע לעשות מה עם לפני?תודה,
פורסם 2008 בנובמבר 817 שנים אפשר לעשות הכל, אבל בשביל תשובה יותר עניינית כדאי שתציין באיזה שפת תכנות אתה עושה את זה ובאיזה סביבה (גרפית/טקסטואלית).
פורסם 2008 בנובמבר 817 שנים אתה יכול לעשות פקודה שקוראת תו תו ומחליטה מה לעשות (או שאתה יכול לעשות בדיקת תקינות קלט בלבד ע"י שימוש בספריה של ביטויים רגולרים).
פורסם 2008 בנובמבר 817 שנים מחבר קודם כל אני דיי מתחיל בתחום, דבר שני אני אתן לך את הקוד שכתבתי כדי שתבין מה אני רוצה לעשות:#include<stdio.h>int main(){ int stu1_id,stu2_id,stu3_id; float stu1_h,stu2_h,stu3_h,stu1_w,stu2_w,stu3_w; printf("Enter First Student Info\n"); scanf("%d%f%f",&stu1_id,&stu1_h,&stu1_w); printf("Enter second Student Info\n"); scanf("%d%f%f",&stu2_id,&stu2_h,&stu2_w); printf("Enter Third Student Info\n"); scanf("%d%f%f",&stu3_id,&stu3_h,&stu3_w); printf("\n%-d\t%-8.3f\t%-8.1f",stu1_id,stu1_h,stu1_w); printf("\n%-d\t%-8.3f\t%-8.1f",stu2_id,stu2_h,stu2_w); printf("\n%-d\t%-8.3f\t%-8.1f\n",stu3_id,stu3_h,stu3_w);}[br]פורסם בתאריך: 8.11.2008 בשעה 18:42:57עכשיו הגבלתי את הנתונים לספרות אחרי הנק' אבל אני לא יודע איך להגביל לפני
פורסם 2008 בנובמבר 1117 שנים מחבר שלום,עדיין לא קיבלתי תשובה לשאלתי,איך אני יכול למנות את התווים מהקלט ולהגביל אותו למס' מסוןיים????
פורסם 2008 בנובמבר 1117 שנים לגביל פיזית כמות התווים להכנסה ? את זה תוכל לעשות רק אם תקרא תו תו. או שאתה מדבר אחרי שהוא הכניס את הנתונים, לסדר אותם לפי הפרמטרים של ההדפסה עם % כמו שאתה עושה פה ?
פורסם 2008 בנובמבר 1117 שנים שלום,עדיין לא קיבלתי תשובה לשאלתי,איך אני יכול למנות את התווים מהקלט ולהגביל אותו למס' מסוןיים????אתה לא יכול להגביל עם SCANF ספרות אחרי הנקודה. בפועל מה שעשית הוא לא הגבלת קלט.אתה יכול לבצע הגבלת קלט בעזרת שימוש בSTRINGS ובGETCH
פורסם 2008 בנובמבר 1117 שנים מחבר אני יודע הכוונה שליהייתה שבחרתי כמה ספרות הפלט יראהאבל אני רציתי בנוסף גם לתת הודעה שגיאה אם המס' שהוקלד לא בגודל המתאים
פורסם 2008 בנובמבר 1217 שנים כמה ספרות אתה רוצה לפני הנקודה ? 3 ? אז הערכים הם בין 000 ל999 - פשוט תבדוק שהערך שקיבלת ביניהם. לולאת WHILE קטנה ואתה מסודר.
פורסם 2008 בנובמבר 1317 שנים מחבר שלום שלום ולילה טוב,שיניתי את התכנית קצת, עכשיו יש לי שאלה,אני רותה להדפיס בסוף פלט של כל הסטודנטים ולא הדפסה אחרי כל קלטמה השינוי הדרוש???#include<stdio.h>int main(){ float stu_id; float stu_h,stu_w; int i; for(i=0; i<3; i++){printf("Enter Student Info\n"); scanf_s("%f%f%f",&stu_id,&stu_h,&stu_w); if((stu_id<=9999999999) && (stu_h<=9999) && (stu_w<=999)) printf("\n%-.0f\t%-8.3f\t%-8.1f\n",stu_id,stu_h,stu_w); else printf("Error Info For Student\n"); } }
פורסם 2008 בנובמבר 1417 שנים מחבר בוקר טוב,יש לי שאלה נוספת בנושא, האם כדי להקל על עצמי אני יכול להשתמש במערכים?ז"א אני רוצה להציב את המחרוזת שנקלטה ולבדוק את אורכה כי אני לא מצליח לפתור את הבעיה הזאת בדרך אחרת.אנא נסו לעזור לי
פורסם 2008 בנובמבר 1417 שנים אין צורך להצמיד את הקוד לשמאל.על מנת להדפיס את הכל ביחד בסוף התכנית במקום אחרי כל קלט, אתה צריך מקום כלשהו לשמור את המידע.הרי בכל איטרציה של הלולאה אתה דורך על המידע שנשמר לך מהאיטרציה הקודמת.בשביל זה, במקום להחזיק רק משתנה אחד עבור כל שדה שאתה קורא (stu_id,stu_h,stu_w) אתה צריך להחזיק מערך עבור כל אחד (מערך כגודל מספר הסטודנטים) ולהזין לתוכו (ואחר כך לעבור בלולאה נוספת ולהדפיס את המערכים, כמובן).לא הבנתי את השאלה השנייה שלך. איפה אתה קולט מחרוזת?אגב, למה בכלל stu_id הוא מטיפוס float? זה לא אמור להיות פשוט מספר? (int)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.