Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2009, 15:42   #1
Karudi
Новичок
Джуниор
 
Регистрация: 05.11.2009
Сообщений: 2
По умолчанию Редактор текста

Надо сделать в командной строке функцию вырезать ,вроде програма должна работать нормально ,но выдаёт ошибки при тесте .
Код:
#include <conio.h>
#include <stdio.h>
extern int copy(int beginIndex, int endIndex);
extern int cut(int beginIndex, int endIndex);
extern int delete(int beginIndex,int  endIndex);
extern char initString[100];
extern char scrap[100];
Код:
#include <stdio.h>
#include <string.h>
char initString[100];char scrap[100];
void main()
{
puts("Scrieti textul dorit");//просьба вести нужный текст 
gets(initString);
cut(2,4);
puts(initString);
}


#define FALSE 0
#define TRUE 1
char initString[100];
char scrap[100];
delete(int beginIndex,int  endIndex)
{int i;
for (i=beginIndex;i=endIndex;i++)
{initString[i]=initString[i+1];

    }
}


int copy(int beginIndex, int endIndex)
{int i;char c;
    int success = FALSE;
for (i=beginIndex;i=endIndex;i++)
 {c=initString[i];
strcpy(scrap,c);
 success = TRUE;
 }
    return success;
}



int cut(int beginIndex, int endIndex)
{
    if (copy(beginIndex, endIndex))
        delete(beginIndex, endIndex);
    else
       {printf("Error while executing fuction");
        return FALSE;}
    return TRUE;
}

Последний раз редактировалось Stilet; 05.11.2009 в 16:02.
Karudi вне форума Ответить с цитированием
Старый 06.11.2009, 08:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что вырезать то? ТЗ в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2009, 14:16   #3
Karudi
Новичок
Джуниор
 
Регистрация: 05.11.2009
Сообщений: 2
По умолчанию

нужно вырезать текст с позиции beginIndex по endIndex ,из текста InitString и сохранить текст в Scrap
Karudi вне форума Ответить с цитированием
Старый 06.11.2009, 14:24   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Karudi
Код:
delete(int beginIndex,int  endIndex)
{int i;
for (i=beginIndex;i=endIndex;i++)
{initString[i]=initString[i+1];

    }
}
Код:

int copy(int beginIndex, int endIndex)
{int i;char c;
    int success = FALSE;
for (i=beginIndex;i=endIndex;i++)
 {c=initString[i];
strcpy(scrap,c);
 success = TRUE;
 }
    return success;
}
и в delete и в copy в цикле нет нормально условия завершения. наверное надо было писать
Код:
for(int i = beginIndex; i <endIndex;i++)
...
второе - strcpy используется для копирования строк, а не символов. Чтобы положить символ в scrap используйте обычное присваивание и добавьте переменную, которая за индекс отвечать будет:
Код:
int i, j;
char c;

for(i = beginIndex, j = 0; ... ; i++, j++)
{
    scrap[j] = initString[i];
...
}
scrap[j] = 0;
как-то так. Может там ещё ошибки есть - особо не всматривался
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактор видео Blade Софт 8 04.09.2009 20:50
Программа для набора готового текста в текстовый редактор brick Помощь студентам 13 03.09.2009 09:26
TXT редактор aesoem Общие вопросы Delphi 13 29.12.2007 12:35
Текстовый редактор. GPhantom Общие вопросы C/C++ 4 02.11.2007 21:24
редактор MadDog__ Общие вопросы C/C++ 2 03.10.2007 12:49