פורסם 2011 בדצמבר 413 שנים מחבר קודם כל תודה שוב, אני שמח שאתה עוזר בכך שאתה נותן כיוון ולא נותן את הפיתרון, ככה באמת אפשר ללמוד! תודה שוב
פורסם 2011 בדצמבר 513 שנים מחבר אם אני רוצה שמקש מסוים יוציא מהתוכנית יש אפשרות כזאת? לדוגמא ctrl+z ???
פורסם 2011 בדצמבר 513 שנים מחבר אבל איך אני עושה את זה?ניסיתי להכניס בתוך הסוגריים של הmain, או Z או ^Z וזה לא מזהה לי את מה שבסוגריים..
פורסם 2011 בדצמבר 513 שנים מה? מה הקשר ל-Z? פשוט תעשה return מאמצע הפונקציה (כמו ה-return שיש בסוף הפונקציה).
פורסם 2011 בדצמבר 513 שנים מחבר אבל אני רוצה שספציפית ברגע שיקישו ctrl+Z הפונקציה תסיים את התוכנית,כל השאר להמשיך ולתת את הקלט,פלט.ניסיתי לשים return אם 'v=='26 וזה לא יוצא מהתוכנית.....
פורסם 2011 בדצמבר 513 שנים מחבר הבעיה היא שהמשתנה שקולט את המספרים מסוג דאבל.אם אני מקיש ctrl+z אני זקוק לchar לא???
פורסם 2011 בדצמבר 513 שנים אה, עכשיו הבנתי על מה אתה מדבר. לא הבנתי אותך נכון קודם, מצטער.הפונקציה scanf תמיד מחזירה את מספר האיברים שהיא קלטה, או את הקבוע EOF אם הקלט נגמר. יענו אם תעשה (scanf("%f%f",&a,&b והמשתמש אכן יכניס שני מספרים, אז היא אמורה להחזיר 2. אם הקלט מסתיים (נניח המשתמש לחץ על ctrl+Z) אז היא תחזיר EOF.
פורסם 2011 בדצמבר 513 שנים מחבר ואיך אני עובד עם הEOF? זאת אומרת איך אני מקבל אותו כדי לתת לו תנאי יציאה שאותו כבר הבנתי הודות לך ואל תצטער גם אם אתה טועה או תטעה, התרומה שלך כאן היא משהו שלא רואים בכל פורום
פורסם 2011 בדצמבר 513 שנים כמו שאמרתי, זה פשוט קבוע שנקרא EOF. אתה צריך להשוות את התוצאה של scanf אליו.
פורסם 2011 בדצמבר 513 שנים מחבר הבעיה היא שאני לא יודע איפה להכניס אותו, לדוגמא אם הכנסתי את הwhile לכאן , הלולאה לא עובדת גם אם אכניס מספרים רגילים#include <stdio.h>#include <conio.h>#include <math.h>int main(){ int i=0; double v=1,vx,vy,a,t=0.1,h,s,l,g=9.81; while (v>0&&v<=100){ printf("\nEnter v <0.0-100.0 m/s> and a <0.0-90.0 degrees>:"); fflush(stdin); scanf(" %lf%lf",&v,&a); while (getchar()!=EOF){ if (v>0&&v<=100) { t=0.1; g=9.81; a=0.017453*a; vx=(cos(a))*v; vy=(sin(a))*v; s=vx*t; l=pow(t,2); h=vy*t-(g*l/2);} else h=-1; for (t=0.1;h>0;t=t+0.1){ s=vx*t; l=pow(t,2); h=vy*t-(g*l/2); printf("time is %.1f s is %.2f h is %.2f\n",t,s,h); } printf("\nFallen!\n"); } printf("FINISH"); return ; } getch(); return 0;}
פורסם 2011 בדצמבר 513 שנים מחבר printf("\nEnter v <0.0-100.0 m/s> and a <0.0-90.0 degrees>:"); fflush(stdin); scanf(" %lf%lf",&v,&a); if (getchar()==EOF){ printf("FINISH"); return ;}או שניסיתי משהו כזה, הוא לא מקבל את הקונטרול Z
פורסם 2011 בדצמבר 513 שנים מחבר אני לא מבין איך אפשר להשוות את הקבוע הזה לscanfמה שניסיתי זה printf("\nEnter v <0.0-100.0 m/s> and a <0.0-90.0 degrees>:"); fflush(stdin); EOF=scanf("%lf%lf",&v,&a); if (v==-1){ printf("FINISH"); return 0;}שזה לא נכון..או printf("\nEnter v <0.0-100.0 m/s> and a <0.0-90.0 degrees>:"); fflush(stdin); scanf("%lf%lf",&v,&a)=EOF; printf("FINISH"); return 0;}איך בדיוק להשוות? יש שני משתנים בscanf
פורסם 2011 בדצמבר 513 שנים scanf זו פונקציה. היא מחזירה תוצאה (ערך מטיפוס int). עם התוצאה הזו אפשר לעשות מה שאתה רוצה - לשמור אותה במשתנה, להשוות אותה למספרים אחרים וכו', בדיוק כמו שאתה משווה בין כל שני ביטויים אחרים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.