עבור לתוכן

שפת c בעיה ב visual studio 2015

Featured Replies

פורסם

שלום לכולם

בימים האחרונים התחלתי ללמוד שפת c מהספר "ללמוד c" של יואב נתיב. ובזמנו כשהיתי בתיכון למדתי java אך אני משתמש בתוכנה חדשה בשם visual studio 2015 שאין לי בה כול כך נסיון ואני לומד מימנה תוך כדי בקיצור אני מנסה להריץ תוכנית היוב כתב אך היא עושה לי בעיות.

התוכנית היא :

#include<stdio.h>
#include<malloc.h>
void main()
{
	char ch, let;
	ch = getchar();
	flushall();
	let = getchar();
	putchar(let);
	putchar(ch);
}

אני מריץ את התוכנית בלי debugging והתוכנית רצה יפה אך ברגע שאני מכנית את התו הראשון למשל "o" התוכנית מסתיימת והוא מדפיס לי את התו o וזהוא לא נותן לי להקליד את התו השני כאילו מתאלם מימנו

נערך על-ידי roy132

פורסם

2 דברים:

הראשון שאני לא יודע איך הרצת את הקוד שלך, הוא מחייב לשנות

_flushall();

השני זה שכשאני רץ ב DEBUGGER הוא מראה שמה שנכנס לשני זה סוף שורה \n

 

עריכה: דאגת לשמור את הקובץ כ C ולא CPP?

נערך על-ידי yigael_o

פורסם

הבעיה היא שהקוד שלך רץ פעם אחת בלבד. המחשב לא יודע שעליו לקלוט את האותיות שוב ושוב. אתה צריך לשים את הקוד שלך בתוך לולאה כדי שיחזור על עצמו. תחפש בספר הסבר על לולאות מסוג while.

הערה - בשפת C++ לא נהוג להשתמש בmain מסוג void, הקונבנציה היא int main שמחזיר 0 במידה והתוכנית התבצעה בהצלחה.

  • 2 שבועות מאוחר יותר...
פורסם

זה דיי דוחה, אבל אתה כותב בC, ואני מניח שמבחירה - שים לב שאתה לוחץ על שני כפתורים, התו שאתה מכניס, וenter.

לאחר הלחיצה שלך הזיכרון שמכיל את מה שהקלדת מכיל שני דברים: 

1. התו שהכנסת

2. התו המיוחד '\n', שמסמן ירידה שורה, שנכנס לשם בגלל שככה getc עובד (בע).

int main()
{
	char ch, let;
	ch = getchar();
	getchar();
	flushall();
	let = getchar();
	putchar(let);
	putchar(ch);
    return 0;
}

זה יעבוד, אבל זה דוחה.

אם אתה מחפש דרך יותר טובה לקבל קלט מהמשתמש, מוזמן להציץ כאן:

http://stackoverflow.com/questions/9278226/which-is-the-best-way-to-get-input-from-user-in-c

או לחפש בגוגל.

נערך על-ידי WildFire

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים