03-12-2006, 11:09
|
|
|
|
חבר מתאריך: 20.11.05
הודעות: 153
|
|
קוד PHP:
#include <conio.h>
#include <stdio.h> void main(void) { clrscr(); int m,x,j,i; float factor,res[10000],result,n1[10000],n2[10000],n[10000]; char ch; result=0; factor=1; i=0; x=1; do { start: printf ("ENTER NUMBER1: "); scanf ("%f", &n1[i]); printf ("ENTER NUMBER2: "); scanf ("%f", &n2[i]); if ((n1[i]*n2[i]==0)||(n1[i]*n2[i]==1)) { printf ("THE RESULT IS 1"); goto finish; } if (n[i]*n[i]<0) { printf ("YOU HAVE ENTERED A NEGATIVE NUMBER\n"); goto start; } if ((n1[i]!=(int)n1[i])||(n2[i]!=(int)n2[i])) { printf ("YOU HAVE ENTERED A FLOAT NUMBER\n"); goto start; } n[i]=n1[i]*n2[i]; for (j=0;j<n[i];j++) { factor=factor*x; x++; } x=1; res[i]=factor; factor=1; i++; } while (i!=i+2); printf ("DO YOU WANT TO ADD MORE NUMBERS?"); ch = getchar(); if ((ch=='Y')||(ch=='y')) { goto start; } else { for (m=0;m<i;m++) { result=result+res[m]; } } printf ("The Result Is %f", result); finish: }
מטרת התוכנית שלי היא לקלוט זוגות של מספרים (עד שהמשתמש יבחר להפסיק), לבדוק שהמספרים שהוקלדו הם שלמים ולא ממשיים, לבדוק שהמכפלה שלהם לא מניבה תוצאה שלילית ושאם המכפלה שלו היא שווה ל0 או 1 אז התוצאה מיד תהיה 1
אם כל התנאים האלה בסדר, אז התוכנית מבצעת מכפלה של שני המספרים ומבצעת פעולת עצרת (כפל של מספרים עוקבים) לפי המספר שיצא מהכפל
לאחר שהמשתמש יחליט להפסיק לקלוט נתונים אז יחושב הסכום של כל העצרות שהיו בלולאה הקודמת וזו תהיה התוצאה הסופית של התוכנית
אז בעיקרון התוכנית שכתבתי מוכנה אבל רק הבעיה היחידה היא לגבי הפסקת הקליטה, אני בחרתי שאחרי כל 2 לולאות תופיע שאלה האם המשתמש מעוניין להוסיף עוד מספרים ואז הוא יצטרך להקליד את האות שכתבתי בתנאי ולהמשיך בקליטה...ואם הוא יבחר אות אחרת אז התוכנית תמשיך הלאה
כמו שפייט אמר, אני בסה"כ ברמה של מתחיל בשפת סי אז אל תתנו לי תשובות בשפה גבוהה יותר כי אני לא אבין
|