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

Описать структуру с именем ZNAK - C++

Восстановить пароль Регистрация
 
Rufuzz
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 7
20.01.2012, 00:01     Описать структуру с именем ZNAK #1
вот код программы всё работает, тут ввод с клавиатуры а нужно чтобы из файла

Добавлено через 32 секунды
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
#include <fstream> 
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>
using namespace std;
struct ZNAK {
        string firstName, secondName, zodiac;
        int dateOfBirth[3];
        ZNAK() {
               
        }
 
        ZNAK(string fName, string sName, string zod, int dd, int mm, int yy) {
                firstName = fName;
                secondName = sName;
                zodiac = zod;
                dateOfBirth[0] = dd;
                dateOfBirth[1] = mm;
                dateOfBirth[2] = yy;
        }
        void print() {
                cout << firstName << " " << secondName << " " << zodiac << " ";
                printf("(%d.%d.%d)", dateOfBirth[0], dateOfBirth[1], dateOfBirth[2]);
                cout << endl;
        }
};
ZNAK data[8];
int main() {
 
        for (int i = 0; i < 8; i++) {
                //cout << "Type information about the current person" << endl;
                string tmpFirstName, tmpSecondName, tmpZodiac;
                int tmpD, tmpM, tmpY;
                cin >> tmpFirstName >> tmpSecondName >> tmpZodiac;
                scanf("%d.%d.%d", &tmpD, &tmpM, &tmpY);
                data[i] = ZNAK(tmpFirstName, tmpSecondName, tmpZodiac, tmpD, tmpM, tmpY);
        }
        string curZodiac;
        //cout << "Type zodiac" << endl;
        cin >> curZodiac;
        bool was = false;
        for (int i = 0; i < 8; i++)
                if (data[i].zodiac == curZodiac) {
                        data[i].print();
                        was = true;
                }
        if (!was) {
                cout << "FAIL" << endl;
        }
        int x;
        cin >> x;
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2012, 00:01     Описать структуру с именем ZNAK
Посмотрите здесь:

C++ Описать структуру с именем ZNAK
C++ Описать структуру с именем ZNAK
C++ Описать структуру с именем ZNAK
Описать структуру с именем Znak C++
C++ Описать структуру с именем ZNAK
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
20.01.2012, 00:14     Описать структуру с именем ZNAK #2
fscanf() работает точно так же, как scanf(), проблем возникнуть не должно.
Rufuzz
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 7
20.01.2012, 00:16  [ТС]     Описать структуру с именем ZNAK #3
я не понимаю как этот код связать с выводом из файла, тут нужно переделывать, а что понять не могу
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
20.01.2012, 00:25     Описать структуру с именем ZNAK #4
Открываешь файл через open(), получаешь дескриптор. Читаешь при помощи fscanf(), закрываешь файл. Принципиально ничего не измениться.
Rufuzz
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 7
20.01.2012, 00:41  [ТС]     Описать структуру с именем ZNAK #5
а что именно нудно изменить можешь написать?
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
20.01.2012, 00:50     Описать структуру с именем ZNAK #6
Хм, так ты таки на плюсах пишешь? Ну зачем тогда все эти printf?..
Смотри fstream.
Rufuzz
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 7
20.01.2012, 01:09  [ТС]     Описать структуру с именем ZNAK #7
я уже понял какие функции добавлять, я не понимаю как потом весь код подстроить под это....код рассчитан на то что данные будут вводиться с клавиатуры, а надо чтоб из файла, там половину переделать надо
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
20.01.2012, 01:44     Описать структуру с именем ZNAK #8
Если данные в файле в определенном текстовом формате, то разницы нет, интерфейс будет такой же. Можешь считать, что тебе всё так же пишут с клавиатуры.
Rufuzz
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 7
20.01.2012, 01:59  [ТС]     Описать структуру с именем ZNAK #9
тоесть мне просто прописать open() потом scanf() и close() и должно работать?
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
20.01.2012, 02:04     Описать структуру с именем ZNAK #10
Нет, в плюсах используй fstream, я дал ссылку. А эти функции из используются в числом С, смешивать языки нехорошо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 02:10     Описать структуру с именем ZNAK
Еще ссылки по теме:

Описать структуру с именем ZNAK C++
C++ Описать структуру с именем ZNAK

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

Или воспользуйтесь поиском по форуму:
Rufuzz
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 7
20.01.2012, 02:10  [ТС]     Описать структуру с именем ZNAK #11
всё, спасибо за помощь)) заработало)
Yandex
Объявления
20.01.2012, 02:10     Описать структуру с именем ZNAK
Ответ Создать тему
Опции темы

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