Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Lorienara
2 / 2 / 1
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 14:20     Описание ошибок. #1
Ребят можете поделится ссылкой - может есть ресурс где можно почитать про ошибки выдаваемые интерепретатором? Чтобы с разбором так сказать а не просто перевод? А то с утра пытаюсь осилить то что он мне говорит и что то у нас непонимание.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.10.2011, 14:43     Описание ошибок. #2
Цитата Сообщение от Lorienara Посмотреть сообщение
интерепретатором
Вы разделом не ошиблись? Интерпретатором чего?
Lorienara
2 / 2 / 1
Регистрация: 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');
            }
        
        }
    
    }
 
}
 
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.10.2011, 15:25     Описание ошибок. #4
Lorienara, она просто неправильно переписана с учебника, потому и не компилируется. Обратите внимание, как в учебнике вызывается функция deal в строке 14 и что за символы всё-таки стоят между wDeck[row][column] и card в строке 43.

Добавлено через 3 минуты
Хотя насчёт первого не уверен, возможно, ошибка где-то в другом месте.
Lorienara
2 / 2 / 1
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 15:28  [ТС]     Описание ошибок. #5
Неее) не то и не другое - простите silent1991, ошибку в 43 строке я попровил, - ошибки бьет на вызов функции deal - другое дело что переписано все правильно...если вы Видите ошибку вызова то можете подсказать ( =) я не обижусь)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.10.2011, 15:39     Описание ошибок. #6
Тогда остаются только варнинги, и программа компилируется. Но компилятор C++ её не съест, надо компилировать именно С-компилятором. В студии (русской) так: Проект -> Свойства -> Свойства конфигурации -> С/С++ -> Дополнительно -> Компилировать как -> Компилировать как код С.
hijacker7
19 / 19 / 1
Регистрация: 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++ без этого не компилит.
Lorienara
2 / 2 / 1
Регистрация: 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 *[]'


Нет по-моему провидение против моего занятия программирование - оно хочет спалить остатки моего мозга при размышлении над этой проблемой))).
-=ЮрА=-
Заблокирован
Автор 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');
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 16:47     Описание ошибок.
Еще ссылки по теме:

Фикс ошибок C++
C++ Где пишется описание для выходного файла .exe (например описание процесса)
C++ Много ошибок

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 16:47     Описание ошибок. #10
Прикрепляю вам скрин и проект в VS 98 - откроете dsw-файл и свободно конвертнёте проект в 2010
Миниатюры
Описание ошибок.  
Вложения
Тип файла: rar proj.rar (1.7 Кб, 10 просмотров)
Yandex
Объявления
31.10.2011, 16:47     Описание ошибок.
Ответ Создать тему
Опции темы

Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru