View Single Post
ישן 06-11-06, 00:54   # 1
Reality
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נהר
הודעות: 253

Reality לא מחובר  

[מדריך] בניית מחשבון ב C.

שלום לכולם,

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

טוב נתחיל את המדריך, אשתדל לפרט כמה שיותר על-מנת שיהיה מובן.

מה יהיה במחשבון שלנו אחרי שנסיים את המדריך?
לאחר שנסיים לכתוב את התוכנית נוכל לחבר / לחסר / לכפול / לחלק 2 מספרים שלמים בלבד.


אוקי נתחיל.

שלב ראשון: התחלת התוכנית.

קודם כל, אנו נשתמש בספריות הבאות:
קוד:
#include<stdio.h>
#include<conio.h>
נתחיל את התוכנית ונציב את המשתנים:
קוד:
void main(void)
{
 int a,b;
 char g;
הסבר:
המשתנים A ו B הם המספרים אותם נחשב, במדריך זה המספרים יהיו שלמים בלבד לכן נציב אותם כאינטגרלים "INT".
המשתנה G הוא בעצם הפונקציה אותה נבצע (כלומר, G יהיה שווה לסימן + או - או * או /)
הצבנו את G בתוך "Char" מכיוון שהוא יהיה תו כלשהו.

שלב 2: הכנסת כותרות.

בשלב זה נכניס פשוט את הכותרות של התוכנית.
שלב זה אינו חובה, אך על-מנת שיראה מובן למישהו שלא ניסה את התוכנית בעבר, עדיף לכלול שלב זה בתוכנית.
נציב את שני הפקודות האלו (הכותרות):
קוד:
   printf("4 Function Integer Calcualtor\n");
   printf("Enter the calculation\n");
הסבר:

הפעולה "Printf" היא פעולה שמציגה את התוכן בגרשיים, לא חשוב אילו סימנים יהיו שם היא תציג אותם.
הפעולה של "/n" היא להוריד את הפקודה הבאה שורה למטה.


שלב 3: קבלת המשתנים.

עלמנת לקבל את המשתנים בתוכנית שלנו (המספרים אותם נחשב), נשתמש בפקודה "scanf".
הקוד הבא מאפשר לסרוק שני מספרים שלמים ואת הפעולה שיש לבצע.
קוד:
 scanf("%d %c %d",&a,&g,&b);
 getch();
הסבר:

כפי שהסברתי קודם, הפקודה "scanf" סורקת את התו / אות שהוכנסו.
d% - מייצג מספר שלם.
c% - מייצג תו (כל תו במקלדת).
וכעת, מה שבא אחרי הפסיק, לפי הסדר, מייצג את המשתנים.
קוד:
%d %c %d",&a,&g,&b
כפי שאתם רואים פה אנו נקלוט:
X + X
(ה + יכול להיות כל סימן מה4 שצוינו למעלה וכמובן, ה X כל מספר שלם שקיים.
הפקודה:
קוד:
getch();
אומרת לעורך לשמור את התוצאה.

עד עכשיו, הייתם אמורים לראות בעורך שלכם את הקוד הבא:
קוד:
#include <stdio.h>
#include <conio.h>

void main(void)
{
 int a,b;
 char g;

   printf("4 Function Integer Calcualtor\n");
   printf("Enter the calculation\n");


 scanf("%d %c %d",&a,&g,&b);
 getch();
שלב 4: הגדרת הפעולות המתמטיות.

כעת, נגדיר את הפעולות המתמטיות ע"י כמה משפטי תנאי.

נתחיל מהפעולה, חיבור:
קוד:
 if(g=='+')
 {
 printf("%d + %d = %d",a,b,a+b);
 getch();
 }
הסבר:

מה שבעצם הגדרנו פה זה:
במידה ו G (המשתנה שיכול להיות תו) יהיה שווה לסימן +, אז התוכנית תבצע פקודה של חיבור.
ואז, במידה והוא יהיה + התוכנית תדפיס את התוכן שיש ב printf.
כמו כן הפעולה המתמטית תתבצע בתוך ה printf:
קוד:
%d + %d = %d",a,b,a+b
עלמנת להציב את שאר הפעולות נשתמש בפקודה ELSE שאומרת אם G לא שווה '+' הוא יהיה שווה '-'.
קוד:
 else
 if(g=='-')
 {
 printf("%d - %d = %d",a,b,a-b);
 getch();
 }
נמשיך להציב את שני הפעולות האחרונות באותה מידה:
קוד:
 else
 if(g=='*')
 {
 printf("%d * %d = %d",a,b,a*b);
 getch();
 }
 else
 if(g=='/')
 {
 printf("%d / %d = %d",a,b,a/b);
 getch();
 }
}
שלב 5: בדיקת שגיאות.

כעת מה שנשאר זה רק לבדוק אם יש שגיאות בתוכנית, הינכם יכולים להשתמש בקומפיילר (Compiler) על-מנת שיבדוק את השגיאות במידה ואין שגיאות התוכנית מוכנה לשימוש.

זהו, כעת התוכנית מוכנה להפעלה.

אם קיבלתם קוד זהה לקוד הזה:
קוד:
#include <stdio.h>
#include <conio.h>

void main(void)
{
 int a,b;
 char g;

   printf("4 Function Integer Calcualtor\n");
   printf("Enter the calculation\n");


 scanf("%d %c %d",&a,&g,&b);
 getch();
 if(g=='+')
 {
 printf("%d + %d = %d",a,b,a+b);
 getch();
 }
 else
 if(g=='-')
 {
 printf("%d - %d = %d",a,b,a-b);
 getch();
 }
 else
 if(g=='*')
 {
 printf("%d * %d = %d",a,b,a*b);
 getch();
 }
 else
 if(g=='/')
 {
 printf("%d / %d = %d",a,b,a/b);
 getch();
 }
}
סימן שעשיתם הכל נכון.

תהנו!.

מקווה שעזרתי לכם, אם יש לכם שאלות לגבי המדריך או לגבי כל דבר ב C, אתם יכולים להשאיר את המסנג'ר שלכם ואני אחזור אליכם.
  Reply With Quote