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

Работа с enum (программа-картотека) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не реагирует на русский язык http://www.cyberforum.ru/cpp-beginners/thread890301.html
В cmd Visual C++ 2010 express после какого-то времени работы стали выводится какието каракули там, где должен быть русский язык + на русский язык он вообще не реагирует. вот код телефонной книги // Телефонная книга #include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; class Number {
C++ Реализовать базовые операции над множествами: объединение, пересечение, дополнение Вот как звучит задание: "Объект: множество символов алфавита. Реализовать базовые операции над множествами: объединение, пересечение, дополнение, отрицание как замена на отцутствующие символы, инкремент и декремент кодов символов, получение символа по индексу, преобразование в строку, получение мощности множества." Буду безумно благодарен за любую помощь!!!!! К экзамену не допустят если не... http://www.cyberforum.ru/cpp-beginners/thread890273.html
Недореализованные классы C++
Сделал программу (игру) в одном main-файле. По заданию надо реализовать с использованием классов. Начал реализовывать. Вроде все сделал как надо, ошибок нет. Окно открывается, рисунок рисуется, а игра не идет. Может только закрываться через клавишу. Сами понимаете, что геймплэй никакой получается. Помогите, пожалуйста, найти ошибку (ошибки) и, если не сложно, обьясните как нормально...
C++ неработает где ошибка?
#include <graphics.h> //Подключаем графическую библиотеку #include <stdlib.h> //Библиотека содержит функцию exit //(см. GraphInit) #include <stdio.h> //Библиотека содержит функцию printf //(см. GraphInit) #include <conio.h> //Библиотека содержит функцию getch enum Direction {LEFT, UP, RIGHT, DOWN}; //Перечисляемый тип - направления движения
C++ выводит каракули http://www.cyberforum.ru/cpp-beginners/thread890259.html
программа дролжна выводить в алфовитном порядке буквы в слове выводит кракозябры VS2010 #include <stdio.h> #include <string.h> #include <windows.h> #include <iostream> using namespace std;
C++ Хочу понять задание (минимальные дизъюнктивные нормальные формы) нашел задание, хочу в нем разобраться " на вход подается булева функция в символьном или табличном виде.. на выходе ВСЕ минимальные дизъюнктивные нормальные формы этой функции.. " объясните что значит минимальные дизъюнктивные нормальные формы этой функции и план писания это пр-ммы подробнее

Показать сообщение отдельно
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84

Работа с enum (программа-картотека) - C++

04.06.2013, 10:54. Просмотров 359. Ответов 0
Метки (Все метки)

Здравствуйте! Мне нужно написать программу-картотеку. Вопрос в следующем:правильно ли я работаю с enum.
структуры и перечисления, с которыми работаю:
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
struct PROG
{
    char Department [50];
    enum Department;
    union
    {
        struct
        {
            char Project [255];
            char CPU [127];
            int Memory;
        }Programmers;
        struct
        {
            char Project [255];
            char Customer [255];
            int ProgrammersNum;
        }Management;
        struct
        {
            char Addres [255];
            char Customer [255];
            int Weight;
            char Transport [20];
            enum Transport;
        }Shipping;
    };
};
struct Value
{
    PROG prog;
    Value *next;
};
enum Department
{
    DEPT_PROGRAMMERS,
    DEPT_MANAGEMENT,
    DEPT_SHIPPING
};
enum Transport
{
    TRANSP_TRAIN,
    TRANSP_AUTO,
    TRANSP_AERO,
    TRANSP_SHIP
};
Value *first = NULL; //Указатель на первый элемент списка
Вот так заполняю поля для 1 элемента картотеки:
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
Value *v;
int q,q2;
v = new(Value); // Создаем в памяти новый элемент списка
printf("Choose the department:\n '0'-programmers;\n '1'-managment;\n '2'-shipping\n");
scanf("%d",&q);
cin.ignore(20,'\n');
if (q==DEPT_PROGRAMMERS)
{
    printf("programmers",&v->prog.Department);
    printf("\nEnter the project: ");
    gets(v->prog.Programmers.Project);
    printf("Enter the CPU: ");
    gets(v->prog.Programmers.CPU);
    printf("Enter the memory: ");
    scanf("%d",&v->prog.Programmers.Memory);
    cin.ignore(20, '\n'); // Удаляем из буфера ввода все, что там могло остаться после ввода
}
if (q==DEPT_MANAGEMENT)
{
    printf("management",&v->prog.Department);
    printf("\nEnter the project: ");
    gets(v->prog.Management.Project);
    printf("Enter the customers: ");
    gets(v->prog.Management.Customer);
    printf("Enter the numbers of programmers: ");
    scanf("%d",&v->prog.Management.ProgrammersNum);
    cin.ignore(20, '\n'); // Удаляем из буфера ввода все, что там могло остаться после ввода
}
if (q==DEPT_SHIPPING)
{
    printf("shipping",&v->prog.Department);
    printf("\nEnter the address: ");
    gets(v->prog.Shipping.Addres);
    printf("Enter the customers: ");
    gets(v->prog.Shipping.Customer);
    printf("Enter the weight: ");
    scanf("%d",&v->prog.Shipping.Weight);
    printf("Enter the transport:\n '0' - train;\n '1' - auto;\n '2' - aero;\n '3' - ship\n");
    scanf("%d",&q2);
    if (q2==TRANSP_TRAIN)
    {
        printf("train",&v->prog.Shipping.Transport);
    }
    if (q2==TRANSP_AUTO)
    {
        printf("auto",&v->prog.Shipping.Transport);
    }
    if (q2==TRANSP_AERO)
    {
        printf("aero",&v->prog.Shipping.Transport);
    }
    if (q2==TRANSP_SHIP)
    {
        printf("ship",&v->prog.Shipping.Transport);
    }
    cin.ignore(20, '\n'); // Удаляем из буфера ввода все, что там могло остаться после ввода
}
v->next = NULL;
Вот так в в другой функции вывожу значения в табличку и показываю на экран (случай,если пользователь при добавлении записи выбрал поле "Programmers")
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 Value *v; 
    v = first;
    printf("#  | Name     | Lastname | Age      |Department P|| Project  | CPU      | Memory     |         \n");
    printf("   |          |          |          |           M|| Project  | Customers| Programmers|         \n");
    printf("   |          |          |          |           S|| Address  | Customers| Weight     |Transport\n");
    printf("---+----------+----------+----------+------------++----------+----------+------------+------------\n");
    
    while (v != NULL) 
    {
        printf("%3d|%10s|%10s|%10d|%10s||%10s|%10s|%10d|%10s| \n",K,v->prog.name,v->prog.lastname,v->prog.age,v->prog.Department,v->prog.Programmers.Project,v->prog.Programmers.CPU,v->prog.Programmers.Memory);
        
        v = v->next;
    }
Посмотрите пожалуйста, где у меня ошибки, потому что при выводи табличке на экран в полях "Department" и "Transport" выводит не то,что нужно...(ниже приложу скрин), вывод не работает исключительно в тех полях, где использую enum, то есть для поля имя,фамилия, возраст и т.д. всё работает хорошо...
Миниатюры
Работа с enum (программа-картотека)  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru