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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 19:29   #1
Stunt Man
Новичок
Джуниор
 
Регистрация: 29.05.2011
Сообщений: 1
По умолчанию Программа не работает в Code Block, не пойму почему.

Люди, у меня такая ситуация. Написана программа на С++ в Visual Studio, работает нормально. Так же хорошо работает, если компилировать через qt creator. А вот в Code Block, Borland C++ и Turbo C++ не работает. Помогите, может что исправить надо.
Вот, собственно, код :
Код:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
class lettchecker
{
    public:
    char letters[64];
    bool isglasn(char a);
    bool isdiff(char *a);
    lettchecker();
};
bool lettchecker::isglasn(char a)
{
    int n=65;
    for(int i=0;i<64;i++)
	if(letters[i]==a)
	{
	    n=i;
	    break;
	}
    if(n!=65)
    {
	if(n>31)
	    n-=32;
	switch(n)
	{
	case 0://à
	{
	    return true;
	}
	case 1://á
	{
	    return false;
	}
	case 2://â
	{
	    return false;
	}
	case 3://ã
	{
	    return false;
	}
	case 4://ä
	{
	    return false;
	}
	case 5://å
	{
	    return true;
	}
	case 6://æ
	{
	    return false;
	}
	case 7://ç
	{
	    return false;
	}
	case 8://è
	{
	    return true;
	}
	case 9://é
	{
	    return false;
	}
	case 10://ê
	{
	    return false;
	}
	case 11://ë
	{
	    return false;
	}
	case 12://ì
	{
	    return false;
	}
	case 13://í
	{
	    return false;
	}
	case 14://î
	{
	    return true;
	}
	case 15://ï
	{
	    return false;
	}
	case 16://ð
	{
	    return false;
	}
	case 17://ñ
	{
	    return false;
	}
	case 18://ò
	{
	    return false;
	}
	case 19://ó
	{
	    return true;
	}
	case 20://ô
	{
	    return false;
	}
	case 21://õ
	{
	    return false;
	}
	case 22://ö
	{
	    return false;
	}
	case 23://÷
	{
	    return false;
	}
	case 24://ø
	{
	    return false;
	}
	case 25://ù
	{
	    return false;
	}
	case 26://ú
	{
	    return false;
	}
	case 27://û
	{
	    return true;
	}
	case 28://ü
	{
	    return false;
	}
	case 29://ý
	{
	    return true;
	}
	case 30://þ
	{
	    return true;
	}
	case 31://ÿ
	{
	    return true;
	}
	default:
	{
	    return false;
	}
    }
    }
};
lettchecker::lettchecker()

{
    letters[0]='а';
    for(int i=1;i<32;i++)
	letters[i]=letters[i-1]+1;
    letters[32]='А';
    for(int i=33;i<64;i++)
	letters[i]=letters[i-1]+1;
};
bool lettchecker::isdiff(char *a)
{
    bool diff=true,cur=isglasn(a[0]);
    int i=1;
    while(a[i]!=0)
    {
	if(isglasn(a[i])==cur)
	{
	    diff=false;
	    break;
	}
	else
	{
	    cur=isglasn(a[i]);
	    i++;
	}
    }
    return diff;
};
int main(int argc, char *argv[])
{
 FILE *f1,*f2;
 char path[2048];
 strcat(path,argv[0]);
 int pathl=strlen(path);
 while(path[pathl]!='\\')
 {
       path[pathl]=0;
       pathl--;
 }
 strcat(path,"out.txt");
 lettchecker ch;
 if(argc==2)
    f1=fopen(argv[1],"r");
 else
    f1=fopen("in.txt","r");
 f2=fopen(path,"w");
 if(f1!=NULL&&f2!=NULL)
 {
     char a[128];
     while(fscanf(f1,"%s",a)!=EOF)
     {
	 if(ch.isdiff(a)==true)
	     fprintf(f2,"%s\n",a);
     }
     fclose(f1);
     fclose(f2);
 }
 getch();
}
Программа ищет в текстовом файле in.txt слова, в которых чередуются гласные и согласные буквы, и затем записывает найденные слова в файл out.txt

В Code Block при компилировании пишет "Segmentation fault"

Последний раз редактировалось Stunt Man; 03.06.2011 в 19:41.
Stunt Man вне форума Ответить с цитированием
Старый 03.06.2011, 19:38   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

В чем заключается "не работает"?
И это... код отформатируй -- глаза сломать можно.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
Изучаю javascript не пойму почему не работает скрипт 4e4en JavaScript, Ajax 8 11.09.2010 19:17
не пойму правильно ли работает программа серг Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.05.2010 14:58
Почему не работает программа? St1mkA Помощь студентам 3 07.04.2010 19:51
Почему моя программа РАБОТАЕТ!!! aesoem Общие вопросы Delphi 3 09.05.2008 23:50