Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
1

Ошибка

13.11.2010, 18:58. Показов 1203. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <cstdio>
#pragma hdrstop
#include <conio.h>
using namespace std;
 
int main(int argc, char* argv[]);
bool correct(char ch)
 
{
    char *str="Vvedite stroky";              
 
              if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z')&&(ch >='а'&& (ch <= 'я')||(ch >= 'А'&& ch <= 'Я')))
                  return false;
              else return true;
std::cout<<*str;
getch ();
 
    return 0;
}
Выводит ошибку:
[Linker error] undefined reference to `WinMain@16'
ld returned 1 exit status
Помогите пожалуйсто исправить. Работаю в Dev-C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2010, 18:58
Ответы с готовыми решениями:

Ошибка CL.exe завершилась с кодом 2 Что это за ошибка и как исправить?
Ошибка появилась, но не могу понять как ее исправить. #include &lt;iostream&gt; using namespace...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём...

Ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске программы возникает ошибка
Я знаю точно, что ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске моей...

Ошибка при компиляции. Где ошибка? (Работа с классом)
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to...

19
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
13.11.2010, 19:14 2
Vaizardo, а почему у вас main без тела?
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 19:26  [ТС] 3
M128K145 , изучаю С++ только третий день, и то по учебникам которые нам дали, и по интернету. Терминалогию ещё плохо знаю, поэтому про тело вам сказать ничего не могу(
Писал программу по примерам из интернета. Как тело должно выглядеть или что из себя представляет?
0
236 / 173 / 25
Регистрация: 13.11.2010
Сообщений: 425
13.11.2010, 19:30 4
C++
1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char* argv[])
{        
char *str="Vvedite stroky";                  
              if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z')&&(ch >='а'&& (ch <= 'я')||(ch >= 'А'&& ch <= 'Я')))
                  return false;
              else return true;
std::cout<<*str;
getch ();
 
        return 0;
}
После функции объявления функции не ставится ; если это не прототип.
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 19:36  [ТС] 5
almazsr , сделал так. Пишет `ch' undeclared (first use this function)
Изменил ch на char пишет 13 expected primary-expression before "char" , подскажите как исправить?
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
13.11.2010, 19:36 6
almazsr, в коде ТС и был объявлен только прототип main
0
222 / 135 / 19
Регистрация: 06.11.2010
Сообщений: 234
13.11.2010, 19:44 7
Попробуйте так:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <cstdio>
#pragma hdrstop
#include <conio.h>
using namespace std;
 
int main()
{
        char ch;
        char *str="Vvedite stroky";                  
 
              if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z')&&(ch >='а'&& (ch <= 'я')||(ch >= 'А'&& ch <= 'Я')))
                  return false;
              else return true;
        std::cout<<*str;
        getch ();
        return 0;
}
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 19:52  [ТС] 8
x1Mike7x , попробовал, теперь компилирует, но программа сразу же закрывается после запуска(
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
13.11.2010, 19:52 9
https://www.cyberforum.ru/cpp-... 10807.html
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
13.11.2010, 19:54 10
x1Mike7x,
almazsr, поная ерунда получаеися в коде:
во-первых:
C++
1
2
3
             if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z')&&(ch >='а'&& (ch <= 'я')||(ch >= 'А'&& ch <= 'Я')))
                  return false;
              else return true;
при любом раскладе после этих строк выходим из main().
во-вторых в ch ничего не записано, а значение переменной пытаемся сравнить с символами.

Добавлено через 1 минуту
asics, причина не в этом. См. пункт во-первых.
0
236 / 173 / 25
Регистрация: 13.11.2010
Сообщений: 425
13.11.2010, 19:58 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <cstdio>
#pragma hdrstop
#include <conio.h>
 
using namespace std;
 
bool correct(char ch)
{                      
              if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z')&&(ch >='а'&& (ch <= 'я')||(ch >= 'А'&& ch <= 'Я')))
                  return false;
              else return true;
}
 
int main(int argc, char* argv[])
{
    char *str="Vvedite stroky";  
    std::cin>>*str;
    getch ();
        return 0;
}
Вот видимо, что он хотел.
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
13.11.2010, 20:03 12
almazsr, вряд ли, функция bool correct(char ch) ни разу не вызывается, смысла нет тогда ее описывать. Теребите Vaizardo, что же он все-таки хотел.
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 20:04  [ТС] 13
asics , getch у меня есть.
valeriikozlov , 1 подскажите пожалуйсто как это исправить?
2 видел задачку, тоже с исключением, там так работает, но до этого была задана
bool correct(char ch)...
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
13.11.2010, 20:09 14
Vaizardo, Вот Вы пишите:
Писал программу по примерам из интернета.
А что там написано про то что должна делать эта программа?
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 20:11  [ТС] 15
valeriikozlov Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Исключить из строки слова, состоящие из символов русского и латинского алфавитов одновременно.
0
222 / 135 / 19
Регистрация: 06.11.2010
Сообщений: 234
13.11.2010, 20:25 16
А, точно, завтыкал.
+ 1) В проверке корректности ввода символа, я полагаю, что true|false надо поменять местами. 2) В самом if'е между проверкой на вхождение в кириллицу/латиницу надо ставить or, а не and.
Тогда более правильным будет переделать код так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <cstdio>
#pragma hdrstop
#include <conio.h>
using namespace std;
 
bool correct(char ch)
 
{
    if ((ch>='a')&&(ch<='z') || (ch>='A')&&(ch<='Z') || (ch>='а')&&(ch<='я') || (ch>='А')&&(ch<='Я'))
        return true;
    else 
        return false;
};
 
int main(int argc, char* argv[]);
{
    char *str="Vvedite stroky";                  
    std::cout<<*str;
    // тут по-видимому должен быть код ввода строки и проверки его на правильность посимвольно 
    getch();
    return 0;
}
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
13.11.2010, 20:33 17
Vaizardo, Вообще-то странный для этой задачи пример из интернета. Сейчас поясню: видимо для проверки слова на наличие символов из русского и латинского алфавитов одновременно использовалась функция bool correct(char ch). Если Вы ее переписали правильно, то она написана автором безграмотно. Вот ошибка:
C++
1
2
3
if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z')&&(ch >='а'&& (ch <= 'я')||(ch >= 'А'&& ch <= 'Я')))
                  return false;
              else return true;
Если символ маленькая английская буква, то return false, else return true;
В общем эта функция всегда будет возвращать false если символ маленькая английская буква во всех других случаях будет возвращено true.
Если идти этим путем, то тогда лучше сделать что бы correct(char ch) возвращала true когда символ английский, и возвращала false когда символ русский. Тогда считав первую букву слова и узнав что возвращает на этот символ correct(char ch) дочитать остальные символы слова до конца (передавая эти символы в correct(char ch)) и если вернется что-то другое удалять слово.
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 21:00  [ТС] 18
valeriikozlov, честно, не сильно понел что вы сказали, если вас не затруднит, напишите пожалуйсто как это должно выглядеть...
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
13.11.2010, 21:24 19
Не полностью код, но можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <cstdio>
#pragma hdrstop
#include <conio.h>
#include <string.h>
using namespace std;
 
bool correct(char ch)
{                      
              if ((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z'))
                  return false;
              else return true;
}
 
int main(int argc, char* argv[])
{
        char str[256];  int len;
cout<<"Vvedite stroky";
        gets(str);
        len=(int)strlen(str);
bool fl, fl1;
for(int i=0; i<len; i++)
{
    if(str[i]!=' ' || str[i]!='\n')
    {
        fl=correct(str[i]);
        fl1=true;
    }
    while(str[i]!=' ' || str[i]!='\n')
    { 
        if(fl!=correct(str[i]))
            fl1=false;
    }
    if(!fl1)
        //удаляем слово (т.к. оно состоит из смешанных символов)
 
 
}
// здесь вывод оставшихся слов
 
        getch ();
        return 0;
}
PS. Здесь нет проверки на то что символы например цифры или еще какие-нибудь, кроме букв
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 18
13.11.2010, 22:39  [ТС] 20
valeriikozlov , спасибо большое)
0
13.11.2010, 22:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2010, 22:39
Помогаю со студенческими работами здесь

Укажите где ошибка (ошибка во время выполнения программы)
Здравствуйте, помогите пожалуйста найти ошибки в коде которые возникаю при выполнении программы ...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка?
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и...

Ошибка при использовании vector (в конце, после вывода результатов выскакивает ошибка, но сам результат коректен)
Суть в следующем, мы считываем введеные значения и выводим этот массив Проблема такова что...

Ошибка в коде (Ошибка сегментирования (core dumped)
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; ...

С++ ошибка в проге, но не могу понять какая ошибка(
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;clocale&gt; using namespace std; int main (int...

Ошибка 2 error LNK2019, не пойму в чем ошибка
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;int __cdecl...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru