Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Lorienara
2 / 2 / 2
Регистрация: 07.10.2011
Сообщений: 87
1

Описание ошибок.

31.10.2011, 14:20. Просмотров 783. Ответов 9
Метки нет (Все метки)

Ребят можете поделится ссылкой - может есть ресурс где можно почитать про ошибки выдаваемые интерепретатором? Чтобы с разбором так сказать а не просто перевод? А то с утра пытаюсь осилить то что он мне говорит и что то у нас непонимание.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 14:20
Ответы с готовыми решениями:

Где пишется описание для выходного файла .exe (например описание процесса)
Консольный проект, скомпилировали, получили exe. Жмем правой кнопкой на...

Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание
Начал изучать программирование на С++, делаю упражнения из книги Мюррэй Хилл,...

Множество ошибок
Суть вот в чём, при запуске игры вылезает ошибка(и). Хотелось бы узнать как...

Много ошибок
#include <iostream> using namespace std; double F(double X){ return...

обработка ошибок
Есть класс треугольника, нужно, чтобы при вводе в конструктор нулей или...

9
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.10.2011, 14:43 2
Цитата Сообщение от Lorienara Посмотреть сообщение
интерепретатором
Вы разделом не ошиблись? Интерпретатором чего?
0
Lorienara
2 / 2 / 2
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 15:15  [ТС] 3
Ой, компиллятором)) все-таки программировать на Python и С одновременно труднее чем я думал - вылазят всякие обидные ошибки...

Надо спросить проще видимо... вот эта программка не компилируется..хотя она просто переписана с учебника...проблема видно все таки в компилляторе - ну или там надо какието свойства в нем поменять чтобы Visual C++ компиллировал код С правильно..

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
46
47
48
49
50
51
52
53
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
void shufle(int wDeck[][13]);
void deal(const int wDeck[][13], const char *wFace[],const char *wSuit);
 
int main()
{ char *suit[4] = {"Hearts","Diamonds", "Clubs","Spades"};
  char *face[13] = {"Dva","Try","Chetyre","Pyte","Shest","Sem","Vosem","Deviat","Desiat ","Vaket","Dama","Korol","Ace"};
  int deck[4][13]={0};
  srand(time(0));
  shufle(deck);
  deal(deck,face,suit);
  return 0;
}
 
void shufle(int wDeck[][13])
{int row;
 int column;
 int card;
 
 for (card=1;card<=52;card++){
     do{
        row = rand()%4;
        column = rand()%13;
     } while(wDeck[row][column] !=0);
 
 wDeck[row][column] = card;
 }//end for card
}
 
void deal(const int wDeck[][13], const char *wFace[],const char *wSuit)
{int card;
 int row;
 int column;
 
for (card=1;card<=52;card++)
{   
    for(row=0;row<=3;row++)
    {
        for(column=0;column<=12;column++){
            if (wDeck[row][column]=card)
            {
                printf("%5s   %-8s%c",wFace[column],wSuit[row],card%2? '\n':'\t');
            }
        
        }
    
    }
 
}
 
}
0
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.10.2011, 15:25 4
Lorienara, она просто неправильно переписана с учебника, потому и не компилируется. Обратите внимание, как в учебнике вызывается функция deal в строке 14 и что за символы всё-таки стоят между wDeck[row][column] и card в строке 43.

Добавлено через 3 минуты
Хотя насчёт первого не уверен, возможно, ошибка где-то в другом месте.
0
Lorienara
2 / 2 / 2
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 15:28  [ТС] 5
Неее) не то и не другое - простите silent1991, ошибку в 43 строке я попровил, - ошибки бьет на вызов функции deal - другое дело что переписано все правильно...если вы Видите ошибку вызова то можете подсказать ( =) я не обижусь)
0
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
31.10.2011, 15:39 6
Тогда остаются только варнинги, и программа компилируется. Но компилятор C++ её не съест, надо компилировать именно С-компилятором. В студии (русской) так: Проект -> Свойства -> Свойства конфигурации -> С/С++ -> Дополнительно -> Компилировать как -> Компилировать как код С.
1
hijacker7
20 / 20 / 4
Регистрация: 06.10.2011
Сообщений: 53
31.10.2011, 15:41 7
Третий параметр функции deal должен принимать массив указателей:
C++
1
void deal(const int wDeck[][13], const char *wFace[],const char *wSuit[]);
Следовательно в определении функции тоже нужно добавить [].
И функцию deal нужно вызывать вот так:
C++
1
deal(deck,(const char**)face,(const char**)suit);
В Visual Studio, возможно, не нужно явно преобразовывать face и suit к const, но g++ без этого не компилит.
1
Lorienara
2 / 2 / 2
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 16:12  [ТС] 8
Цитата Сообщение от silent_1991 Посмотреть сообщение
Тогда остаются только варнинги, и программа компилируется. Но компилятор C++ её не съест, надо компилировать именно С-компилятором. В студии (русской) так: Проект -> Свойства -> Свойства конфигурации -> С/С++ -> Дополнительно -> Компилировать как -> Компилировать как код С.
сделал вот так бьет ошибку

c:\users\roma\documents\visual studio 2005\projects\ykazately\ykazately\ykazately.cpp(3) : fatal error C1853: 'Debug\Ykazately.pch' precompiled header file is from a previous version of the compiler, or the precompiled header is C++ and you are using it from C (or vice versa)

если убрать этот заголовок то

c:\users\roma\documents\visual studio 2005\projects\ykazately\ykazately\ykazately.cpp(57) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

А когда обычно компиллирую без изменений подсказанных Silent, то...

c:\users\roma\documents\visual studio 2005\projects\ykazately\ykazately\ykazately.cpp(14) : warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
1>c:\users\roma\documents\visual studio 2005\projects\ykazately\ykazately\ykazately.cpp(16) : error C2664: 'deal' : cannot convert parameter 2 from 'char *[13]' to 'const char *[]'


Нет по-моему провидение против моего занятия программирование - оно хочет спалить остатки моего мозга при размышлении над этой проблемой))).
0
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 16:45 9
Lorienara, основной недочёт был в том что 3-й параметр функции
Цитата Сообщение от Lorienara Посмотреть сообщение
void deal(const int wDeck[][13], const char *wFace[],const char *wSuit);
отличался от передаваемого ей параметра
Цитата Сообщение от Lorienara Посмотреть сообщение
char *suit[4]
я подправил Ваш код, тольк ввёл меньшее число карточек (сделал 10 - а то ждать долго было)

Цитата Сообщение от Lorienara Посмотреть сообщение
for (card=1;card<=52;card++){
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
46
47
48
49
50
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void shufle(int wDeck[][13]);
void deal(int wDeck[][13], char *wFace[], char *wSuit[]);
 
int main()
{ 
    char *suit[] = {"Hearts","Diamonds", "Clubs","Spades"};
    char *face[] = {"Dva","Try","Chetyre","Pyte","Shest","Sem","Vosem","Deviat","Desiat ","Vaket","Dama","Korol","Ace"};
    int deck[][13]={0};
    srand(time(0));
    shufle(deck);
    deal(deck,face,suit);
    system("pause");
    return 0;
}
 
void shufle(int wDeck[][13])
{
    int row;
    int column;
    int card;
 
    for (card=1;card<=10;card++)
    {
         do
         {
             row = rand()   %4;
             column = rand()%13;
         } 
         while(wDeck[row][column] !=0);
         wDeck[row][column] = card;
    }//end for card
}
 
void deal(int wDeck[][13], char *wFace[], char *wSuit[])
{
    int card;
    int row;
    int column;
    for (card=1;card<=10;card++)
    for(row=0;row<=3;row++)
    for(column=0;column<=12;column++)
    {
        if (wDeck[row][column]=card)
            printf("%5s   %-8s%c",wFace[column],wSuit[row],card%2? '\n':'\t');
    }
}
1
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 16:47 10
Прикрепляю вам скрин и проект в VS 98 - откроете dsw-файл и свободно конвертнёте проект в 2010
1
Миниатюры
Описание ошибок.  
Вложения
Тип файла: rar proj.rar (1.7 Кб, 11 просмотров)
31.10.2011, 16:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 16:47

Исправление ошибок
Есть такая программка, которая должна считать значения из файла типа float,...

Исправление ошибок
Пожалуйста помогите исправить ошибки!!! #include &lt;iostream h&gt; #include...

500 ошибок
Здравствуйте, у меня такая проблема я на одном компе написал программйу в...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru