Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ DOS -> WIN https://www.cyberforum.ru/ cpp-beginners/ thread410613.html
Помогите написать программу для перекодировки текста к примеру из DOS -> WIN!
C++ Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами.
Народ выручайте :D у меня заходы уже. задачка с одномерным массивом. Вычислить сумму отрицательных, произведение положительных и количество нулевых элементов массива с нечетными индексами. вот код // 3333333.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdio.h>
C++ Дан текст, определить, сколько в нем предложений. Вывести на экран самое длинное. https://www.cyberforum.ru/ cpp-beginners/ thread410603.html
Помогите написать программу на языке С:) пожааалуйста)
C++ сумма медиан найти сумму медиан треугольника заданый координатами вершин медиана в виде функции координат и задана ими как написать код даже не представляю??????????? c++ 3.1 https://www.cyberforum.ru/ cpp-beginners/ thread410594.html
C++ массив
из масива D создать новый массив расположив вначале отрицательные, затем положительные. Определить в каком из массивов наименьший по модулю элемент встретится первым.вывести все массивы, наименьшие значения и их индексы..... с++ help plzzz
C++ матрица и замена столбцов https://www.cyberforum.ru/ cpp-beginners/ thread410589.html
найдите ошибку # include <iostream.h> # include <conio.h> # include <stdio.h> # include <stdlib.h> # include <math.h> void main () { float A, B; int i,j,x,y,a,b; clrscr();
C++ Двумерные массивы. Использование динамически распределяемой памяти Уважаемые форумчане, опять нужны ваши подсказки Условие: Создать квадратную матрицу целых чисел и выполнить ее обработку согласно заданию, указанному ниже. Выполнить задание с такими дополнительными условиями:  размер матрицы вводится с клавиатуры;  память под двумерный массив выделяется динамически, на этапе выполнения программы;  ввод, вывод и обработку матрицы... https://www.cyberforum.ru/ cpp-beginners/ thread410586.html C++ Смещение полей структуры
Как можно узнать смещение поля структуры относительно адреса структуры? Если просто сложить размеры предыдущих элементов, то результат может оказаться неправильным из-за выравнивания. Если взять адрес поля и вычесть из него адрес начала структуры, то это можно сделать только на этапе исполнения. Может есть другой способ?
C++ неправильно выводит путь https://www.cyberforum.ru/ cpp-beginners/ thread410583.html
вот прога, она неправильно выводит путь по алгоритму дейкстры #include<iostream> #include<fstream> #include<conio.h> #include<locale.h> #include<iomanip> using namespace std;
C++ Ошибка в Swap https://www.cyberforum.ru/ cpp-beginners/ thread410581.html
Написано на С++ Не могу разобраться в ошибки. Раньше не пользовался Swap альтернативы не вижу. Прошу помочь исправить ошибку или предложить замену. #include <iostream> #include <stdlib.h> using namespace std;
Блок-схема, массивы "C" C++
Помогите составить блок схему вот программа: #include<stdio.h> main() { int a,b,c,m,i,k,n1,n2,min,max; printf("Vvedite a(6)\n"); for(i=0;i<6;i++) scanf("%d",&a); printf("‚Vvedite b(8)\n");
C++ Заполнение двумерной матрицы из текстового файла (для описания графа) Как заполнить двумерный массив из текстового файла? Например массив a. А текстовый файл mefile.txt имеет след. содержание: 110203 129304 904832 839405 739405 637896 https://www.cyberforum.ru/ cpp-beginners/ thread410574.html
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 4
0

косяк вызова функции через switch case - C++ - Ответ 2299488

18.12.2011, 17:11. Показов 4724. Ответов 6
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
! кода по моим меркам много, если решитесь помочь, запаситесь терпением)))

Итак. Имеется зародыш курсовой - игры пятнашки. делал в консоли с графикой с помощью вин32апи.
Прога разделена на 3 файла - заголовочный для класса, отдельно описание его методов, отдельно void main. Вкратце о происходящем: создается массив 4на4 объектов класса(фишек) в качестве полей имеющих координаты на поле и номер, а затем все хозяйство отрисовывается (никаких методов для выбора, движения фишек пока нет и в помине). номер фишки 0 означает свободное место на поле.

Собственно, проблема: нивкакую не отрисовывается номер последней фишки

Веселости: при изменении размера массива на 3х3 все робит, при использовании рандомно расставленных номеров баг становится плавающим - то есть то нет, зараза=(((
Кстати способ отрисовки номеров фишек крайне дебилен, ибо как с помощью TextOut'а вывести число содержащееся в типе инт так и не понял(

сам код в 3 куска


puzzle.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef PUZZLE
#define PUZZLE
#include <Windows.h>
 
class cPuzzle
    {
    public:
        cPuzzle(int xcoor = 0, int ycoor = 0, int number = 0);
        void Draw(HDC &hdc);
    private:
        int x, y, num;
    };
#endif PUZZLE

puzzle.cpp
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
54
55
56
57
58
59
60
61
#include "Puzzle.h"
 
const int xstpos = 0;
const int ystpos = 0;
const int size = 50;
 
cPuzzle::cPuzzle(int xcoor, int ycoor, int number)
    {
        x=xcoor;
        y=ycoor;
        num=number;
    }
 
void cPuzzle::Draw(HDC &hdc)
    {
        SelectObject(hdc,GetStockObject(DC_BRUSH));
        SetDCBrushColor(hdc,RGB(255, 255, 255));
        SelectObject(hdc,GetStockObject(DC_PEN));
        SetDCPenColor(hdc,RGB(0, 0, 0));
 
        
        Rectangle(hdc, 
            xstpos+(x)*size, 
            ystpos+(y)*size,
            xstpos+(x+1)*size,
            ystpos+(y+1)*size);
 
        switch(num)
        {       
            case 1: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "1",2);break;
            case 2: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "2",2);break;
            case 3: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "3",2);break;
            case 4: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "4",2);break;
            case 5: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "5",2);break;
            case 6: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "6",2);break;
            case 7: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "7",2);break;
            case 8: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "8",2);break;
            case 9: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "9",2);break;
            case 10: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "10",2);break;
            case 11: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "11",2);break;
            case 12: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "12",2);break;
            case 13: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "13",2);break;
            case 14: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "14",2);break;
            case 15: TextOut(hdc, xstpos+(x)*size + 15, ystpos+(y)*size + 15, "15",2);break;
            default : 
                {
                    SelectObject(hdc,GetStockObject(DC_BRUSH));
                    SetDCBrushColor(hdc,RGB(127, 127, 127));
                    SelectObject(hdc,GetStockObject(DC_PEN));
                    SetDCPenColor(hdc,RGB(255, 255, 255));
 
                    Rectangle(hdc, 
                        xstpos+(x)*size, 
                        ystpos+(y)*size,
                        xstpos+(x+1)*size,
                        ystpos+(y+1)*size);
                    break;
                }
        }//end of switch
 
    }

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
#include "Puzzle.h"
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
void main()
    {
        HWND handle = FindWindow("ConsoleWindowClass", NULL); //получаем хэндл окна
        HDC hdc = GetDC(handle);// получаем контекст устройства
        
        
        /*--------рандомное расставление фишек---------
        srand(time(NULL));
        int mass[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
        for(int i1=0;i1<16;i1++)
            {
                int i2 = rand()%15;
                int m = mass[i1];
                mass[i1]=mass[i2];
                mass[i2]=m;
            }
        */
 
        cPuzzle token[4][4];//создаем массив объектов
        int xcoor, ycoor, number=0;
        for(ycoor=0;ycoor<4;ycoor++)
            {for(xcoor=0;xcoor<4;xcoor++)
                {   //задаем значения объекту, number заменить на mass[number] для рандом. знач.
                    token[xcoor][ycoor] = cPuzzle(xcoor,ycoor,number);
                    token[xcoor][ycoor].Draw(hdc);//отрисовываем его
                    number++;
                }
            }
        _getch();  
    }
Добавлено через 1 час 5 минут
убил себя об стену. заработало если считать что "14" - 2 символа, а "15" - три

Вернуться к обсуждению:
косяк вызова функции через switch case C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2011, 17:11
Готовые ответы и решения:

Объясните где я косяк (switch case + char)
Доброе время суток! Имеется: for (unsigned int i=0; i&lt;v.size(); ++i) { ...

Косяк при выборе операции через switch в калькуляторе
всем доброго времени суток. пишу тут курсач и столкнулся со следующей проблемой: в консоли само по...

Стек через case в switch
Здравствуйте. Я хочу чтобы при нажатии на &quot;2&quot; у меня выводился на экран мой стек. Но, как обычно,...

Меню через switch и case
Нужна помощь довести программу до ума, в конце программы в main сделать меню меню через switch и...

6
18.12.2011, 17:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2011, 17:11
Помогаю со студенческими работами здесь

Case switch и функции
Имеется задание : 1. Сформировать динамический одномерный массив, заполнить его случайными числами...

Переделать меню через switch / case
Написал такой код. Условие для задачи такое: Необходимо написать программу со следующей...

Меню в консоли (через switch-case)
программа меню ресторана, работать должна так: открывается все меню а официант выбирает блюда из...

Оптимальная конструкция switch-case-while / while-switch-case
Имеется конструкция типа: switch() { case 1: while() { ... }

Не открывает картинку через switch case
@Override public void onCheckedChanged(RadioGroup group, int checkedId) { ...

Вывести в одну строку два слова через оператор выбора switch-case
Помогите исправить программу, чтобы выводилось в одну строку сразу 2 выбранных слова,например...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru