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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2013, 10:03   #1
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию Не работает программа.

Код:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

bool Equalstring(const char s1[],const char s2[])
{
    int i = 0;
    bool areEqual;
    while(s1[i]==s2[i] && s1[i]!='\0'&& s2[i]!='\0')
    
        ++i;
        if(s1[i]=='\0' && s2[i]=='\0')
            areEqual = true;
        else
            areEqual = false;
        return areEqual;
    }
       int main()
    {
        bool Equalstring(const char s1[],const char s2[]);
        const char stra1[]="This is a test";
        const char stra2[]="string";
        printf("%i\n",Equalstring(stra1,stra2));
        printf("%i\n",Equalstring(stra1,stra1));
        printf("%i\n",Equalstring(stra2,"string"));
        return 0;
    }
Не пойму почему не работает программа, компилятор пишет вот это : undefined reference to 'WinMain@16', функция main присутствует вроде бы Пишу на CodeBlocks.

Последний раз редактировалось Gtnz8; 22.05.2013 в 10:32.
Gtnz8 вне форума Ответить с цитированием
Старый 22.05.2013, 10:15   #2
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

У тебя main находится внутри функции Equalstring. Так не должно быть.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 22.05.2013, 10:20   #3
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Тьфу черт, со скобками напутал, спасибо. )))

Всё равно есть странности, почему операционная система(Windows 7) прекращает выполнение программы, один раз скомпилировалась программа и всё.

Последний раз редактировалось Stilet; 22.05.2013 в 21:14.
Gtnz8 вне форума Ответить с цитированием
Старый 22.05.2013, 10:41   #4
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

что значит "прекращает"?
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 22.05.2013, 10:56   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

А Вы уверены, что %i - правильный спецификатор для типа bool?..
Abstraction вне форума Ответить с цитированием
Старый 22.05.2013, 18:42   #6
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

То есть вылазит окно, Windows прекращает выполнение программы и ищет пути исправления, что-то вроде этого,у меня такое ,кстати, не часто но бывает, вроде код написан правильно а программа один раз только скомпилируется.?
А какой вы посоветуете спецификатор ?
Gtnz8 вне форума Ответить с цитированием
Старый 22.05.2013, 18:59   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
А какой вы посоветуете спецификатор ?
Посмотрите описание функции printf. Лично я бы даже не пытался сочетать функцию printf (наследие Си) и тип bool (в Си отсутствовавший).
Abstraction вне форума Ответить с цитированием
Старый 22.05.2013, 19:10   #8
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Цитата:
Лично я бы даже не пытался сочетать функцию printf (наследие Си) и тип bool (в Си отсутствовавший).
Я ,ни в коем случае, не хочу подвергать сомнению ваши познания в программировании, но примеры подобных программ приведены в книгах основателей языка Си.
Gtnz8 вне форума Ответить с цитированием
Старый 22.05.2013, 20:19   #9
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Либо там bool за-typedef-ен как синоним инта, либо это как минимум стандарт С99. В последнем случае, как уже было сказано, посмотрите спецификацию функции printf. Там должно быть описание строки формата или ссылка на отдельную страницу с ним.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает программа ПавелОрлов Помощь студентам 7 12.11.2012 23:11
Программа работает в WinXP и не работает в Win7 blblbl-org Общие вопросы Delphi 4 23.04.2012 19:50
Программа работает пошагово, но не работает при запуске -Katerina- Microsoft Office Excel 3 12.07.2011 03:40
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
Не работает программа ddr9225 Общие вопросы C/C++ 21 14.01.2010 14:06