كمك در مورد يه حلقه for

D o l f i n

New Member
سلام دوستان
يه سوال داشتم
يكي از دوستاي من مي خواد برنامه دكمه backspace رو كاغد به زبان c به استادش تحويل بده ممنون ميشم يه كمكي بكنيد
در مورد عنوان تاپيك هم شرمنده نمي دونستم چه عنواني انتخاب كنم چون اصلا برنامه نويسي نميدونم
 

the_king

مدیرکل انجمن
سلام دوستان
يه سوال داشتم
يكي از دوستاي من مي خواد برنامه دكمه backspace رو كاغد به زبان c به استادش تحويل بده ممنون ميشم يه كمكي بكنيد
در مورد عنوان تاپيك هم شرمنده نمي دونستم چه عنواني انتخاب كنم چون اصلا برنامه نويسي نميدونم


صورت مساله رو خیلی کلی و بدون جزئیات گفتین، کلید Backspace کاراکتری که مکان نما بعد از اون قرار داره
حذف می کنه و مکان نما یک کاراکتر عقب میره، اما بالاخره باید متنی گرفته بشه که کلید Backspace بدرد بخوره،
مشخص نکردین که ویرایشگر متن در چه حدی پیاده سازی بشه.

کد زیر متن رو دریافت می کنه و در رشته s ذخیره می کنه :
کد:
#include <stdio.h>
#include <conio.h>

int main()
{
    char s[80] = "", ch;
    int n = 0;
    do
    {
        ch = getch();
        if (ch == 13)
            break;
        if (ch == 8)
        {
            if (n > 0)
            {
                printf("%c %c", 8, 8);
                n--;
                s[n] = 0;
            }
        }
        else if (n < 79)
        {
            printf("%c", ch);
            s[n] = ch;
            s[n + 1] = 0;
            n++;
        }
    } while (1);
    return 0;
}

اگه ذخیره کردن رشته رو از صورت مساله حذف کنیم کد برنامه چند سطر کمتر میشه :
کد:
#include <stdio.h>
#include <conio.h>

int main()
{
    char ch;
    int n = 0;
    do
    {
        ch = getch();
        if (ch == 13)
            break;
        if (ch == 8)
        {
            if (n > 0)
            {
                printf("%c %c", 8, 8);
                n--;
            }
        }
        else if (n < 79)
        {
            printf("%c", ch);
            n++;
        }
    } while (1);
    return 0;
}
 

D o l f i n

New Member
ممنون دوست عزيز فكر كنم همين كد درست باشه مشكلي بود مزاحم ميشم
با تشكر
 

جدیدترین ارسال ها

بالا