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

Дополните загрузку с текстового файла (Шахматы) - C++

Восстановить пароль Регистрация
 
Leven9tko
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 19
23.04.2013, 22:32     Дополните загрузку с текстового файла (Шахматы) #1
Помогите добавить в прорамму загрузку с файла нужно что бы с файла считывались переменные fig, posb,posc.
файл фыглядит ввиде

h B 4

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
#include<iostream>
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <conio.h>
using namespace std;
 
struct coord
{
    int x,y;
 
};
//--------------------------------------------------
class Figura   
{
public:
    
    void doska(void);
};
char mas[9][9]={0};
//------------------------------------------------
void Figura::doska(void) //Постороение доски
{ cout <<"\n\n\n";
char a[9]={'A','B','C','D','E','F','G','H',' '};
    cout<<"\t\t\t     ";
    for(int i=0;i<9;i++) cout<<a[i]<<" ";
    cout<<endl;
    cout<<"\t\t\t    ";
    for(int i=0;i<8;i++) cout<<" -";
    cout<<endl;
    for(int i=0;i<8;i++)
    {
        cout<<"\t\t\t |"<<i+1<<"| ";
        for(int j=0;j<8;j++) cout<<mas[i][j]<<" ";
        cout<<endl;
    }
}
int main()
{ //Объявление переменных, констант и дополнительных функций
    setlocale(0, "");   //Подключаем русские библиотеки
    Figura doska; 
    coord b_fig;        //переменная для координат фигур
    int cvet;           //переменная для Цвета
    char fig;           //Ячейка для ввода Тип Фигуры
    char posb;          // Ячейка для горизонтальной координаты типа (A,B,C...H)
    char posc;          // Ячейка для вертикальной координаты типа (1,2,3...8)
    int prod; 
    int menu;
//==================================================================================
bb1:    cout<<" ********************************************************************\n"
        <<"*     Ввести фигуру(1), Загрузить с файла(2), Показать доску(3)     *\n"
        <<" ********************************************************************\n";
    
        cout<<"===>";
    cin>>menu;
    if (menu==1) goto b1; else
        if (menu==2) {"Идет загрузка с файла";goto bb4;} else
    if (menu==3) {doska.doska(); goto bb1; cin.get();}
            cin.get();
         //--------------------------------------Загрузка с файла----------------------------
bb4:        char fig1,posb1,posc1;  
            for (int i=0; i< 8;i++) {
                FILE* fp=fopen("123.txt","r");
            fscanf(fp,"%s%s%s\n",fig1,posb1,posc1);
            b_fig.y=(posb1-65);
                b_fig.x=(posc1-48);
                mas[b_fig.x-1][b_fig.y]=fig1;
            fclose(fp);
                }
            goto bb2;
                
b1: cout<<"  *********************************************************************\n"   
        <<" *                       Введите цвет фигуры:                          *\n"
        <<"*                                                                       *\n"
        <<" *                       Черные (1), Белые(2)                          *\n"
        <<"  *********************************************************************\n";  
    cout<<"===>";
                cin>>cvet;                                              //ввод цвета    
                
 
//==================================================================================
        if (cvet==1) goto b2; else                                          //Определение какая 
            if (cvet==2)  goto b3; else                 // ветка была выбрана черная или белая
        {cout<<"****************************************\n"
             <<"*   Вы Днище выбирите нормальный цвет  *\n"
             <<"****************************************\n";
    goto b1;}
 
 
// -------------------------------------Для Черных----------------------------------
 
b2: cout<<" *********************************************************************\n"
        <<"*                       Выберите тип фигуры                           *\n" 
        <<"*             Король(k), Королева(h), Офицер(s), Тура(t)              *\n"
        <<" *********************************************************************\n";
            cout << "===>";
                cin>>fig;                                                           // определение фигуры
//=================================================================================
    if (fig!='k'&&fig!='h'&& fig!='s'&&fig!='t') {
    cout<<"  *********************************************************************\n"
        <<" *                                                                     *\n"
        <<"*                Вы ввели не правельный тип фигуры!                     *\n"
        <<" *                                                                     *\n"
        <<"  *********************************************************************\n";
            goto b2;}
b5: cout<<" *********************************************************************\n"
        <<"*         Введите расположение фигуры по горизонтале ввиде:           *\n"
        <<"*                        (A, B, H i t.d.)                             *\n"
        <<" *********************************************************************\n";
    cout << "===>"; 
    cin>>posb;                                                          //Определение координат по горизонтале для фигуры
//==================================================================================
            if (posb!='A'&&posb!='B'&&posb!='C'&&posb!='D'&&posb!='E'&&posb!='F'&&posb!='G'&&posb!='H')
                    {
    cout<<" *********************************************************************\n" 
        <<"*            Вы ввели не коректную букву рассположения                *\n"
        <<" *********************************************************************\n";
            goto b5;}
//===================================================================================
                b_fig.y=(posb-65);
b6:     cout<<" *********************************************************************\n"
            <<"*         Введите расположение фигуры по вертикале ввиде:             *\n"
            <<"*                       ( 1, 3, 7 i t.d. )                            *\n"
            <<" *********************************************************************\n";
            cout<<"===>";
        cin>>posc;                                                      // Определение координат по вертикале для фигуры
//===================================================================================           
            if (isdigit(posc)) goto b7;
else {  cout<<" *********************************************************************\n"
            <<"*                       Некоректный ввод                              *\n"
            <<" *********************************************************************\n";
            goto b6;}
b7:             b_fig.x=posc-48;
                mas[b_fig.x-1][b_fig.y]=fig;
            cin.get();
bb2:        cout<<" *********************************************************************\n" 
            <<"*Ввети еще одну фигуру(1) Закончить ввод фигур(2) Показать доску(3)   *\n"
            <<" *********************************************************************\n";
        cout<<"===>";   
        cin>>prod;
        if (prod==1) goto b1; else
        if (prod==2){ cout<<" *********************************************************************\n"
                          <<"*                  Шахматы расставлены по вашим данным                *\n"
                          <<" *********************************************************************\n";
    doska.doska();
    goto v1;} else
        if (prod==3) {doska.doska(); goto bb2;}
 
    //-----------------Для Белых----------------------
b3: cout<<" *********************************************************************\n"
        <<"*                       Выберите тип фигуры                           *\n" 
        <<"*             Король(K), Королева(H), Офицер(S), Тура(T)              *\n"
        <<" *********************************************************************\n";
    cout<<"===>";       
    cin>>fig;
    if (fig!='K'&&fig!='H'&& fig!='S'&&fig!='T') {
        cout <<"  *********************************************************************\n"
             <<" *                                                                     *\n"
             <<"*                Вы ввели не правельный тип фигуры!                     *\n"
             <<" *                                                                     *\n"
             <<"  *********************************************************************\n";
                goto b3;}
b4: cout<<" *********************************************************************\n"
        <<"*         Введите расположение фигуры по горизонтале ввиде:           *\n"
        <<"*                        (A, B, H i t.d.)                             *\n"
        <<" *********************************************************************\n";
    cout << "===>"; 
    cin>>   posb;
    if (posb!='A'&&posb!='B'&&posb!='C'&&posb!='D'&&posb!='E'&&posb!='F'&&posb!='G'&&posb!='H')
    {   cout<<" *********************************************************************\n" 
        <<"*            Вы ввели не коректную букву рассположения                *\n"
        <<" *********************************************************************\n";
                    goto b4;}
                b_fig.y=(posb-65);
        cout<<" *********************************************************************\n"
            <<"*         Введите расположение фигуры по вертикале ввиде:             *\n"
            <<"*                       ( 1, 3, 7 i t.d. )                            *\n"
            <<" *********************************************************************\n";
        cout<<"===>";   
        cin>>posc;
    b_fig.x=posc-48;
    mas[b_fig.x-1][b_fig.y]=fig;
    cin.get();
bb3: cout<<" *********************************************************************\n" 
            <<"*Ввети еще одну фигуру(1) Закончить ввод фигур(2) Показать доску(3)   *\n"
            <<" *********************************************************************\n";
cout<<"===>";   
 cin>>prod;
    if (prod==1) goto b1; else
        if (prod==2){ cout<<" *********************************************************************\n"
                          <<"*                  Шахматы расставлены по вашим данным                *\n"
                          <<" *********************************************************************\n";
    cout<<"\t\t";
    doska.doska();
    goto v1;} else
        if (prod==3){doska.doska(); goto bb3;}
        
 
v1: cout<<"         ************************************\n"
        <<"        *        Конец растановки            *\n"
        <<"         ************************************\n";
 cin.get();
 cin.get();
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 22:32     Дополните загрузку с текстового файла (Шахматы)
Посмотрите здесь:

C++ Выборка из текстового файла
Каким образом можно осуществить загрузку файла из интернета по url ? C++
Дополните класс C++
Чтение текстового файла C++
C++ Создание текстового файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kranxx
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 18
23.04.2013, 23:13     Дополните загрузку с текстового файла (Шахматы) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    int a,b;
    ifstream f("Z:\\file.txt");   //указываем путь к файлу
        f >> a;  //считываем значения переменных с файла ( по порядку)
        f >> b;  //можешь написать в текстовый файл значения переменных как в строчку через пробел, так и с переносом
        cout << a << endl;
        cout << b << endl;
        system("pause");
    return 0;
}
Добавлено через 6 минут
Цитата Сообщение от Leven9tko Посмотреть сообщение
h B 4
Не понял о чём ты.
Leven9tko
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 19
23.04.2013, 23:39  [ТС]     Дополните загрузку с текстового файла (Шахматы) #3
Вот пример
Вложения
Тип файла: txt 123.txt (7 байт, 4 просмотров)
Leven9tko
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 19
24.04.2013, 00:16  [ТС]     Дополните загрузку с текстового файла (Шахматы) #4
Спасибо вроде бы разобрался)
Yandex
Объявления
24.04.2013, 00:16     Дополните загрузку с текстового файла (Шахматы)
Ответ Создать тему
Опции темы

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