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

не считывает текст из файла - C++

Восстановить пароль Регистрация
 
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
26.11.2012, 20:28     не считывает текст из файла #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
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
#include "iostream"
#include "time.h"
#include "conio.h"
#include <fstream>
using namespace std;
 
struct ZNAK
{
    char family[15];
    char name[15];
    char znak[11];
    int date[3];
};
 
bool chars(char* char1, char* char2)
{
    for(int count=0;count<strlen(char1);count++)            
        if (char1[count] != char2[count]) return false;     //????????? ???????.
    return true;
}
 
 
void Search(ZNAK *pZNAK, char* family, char* name, int n)
{
    bool ok = false;
    for (int i = 0; i < n; ++i)
    {        
        if (chars(pZNAK[i].family, family))
        {
            cout << "Family: " << pZNAK[i].family << endl;
            cout << "name: " << pZNAK[i].name << endl;
            cout << "ZNAK: " << pZNAK[i].znak << endl;
            cout << "Date: " << pZNAK[i].date[0] << ":" << pZNAK[i].date[1]    << ":" << pZNAK[i].date[2] << endl;
            ok = true;
        }
    }
    if (!ok)
        cout << "Family ne naydena!!!!" << endl;    
}
void Sort(ZNAK *pZNAK, int n)
{
    // A - 65
    // z - 122
    ZNAK f;
    for (int i = 0; i < n - 1; ++i)
    {
        for (int j = i; j < n; ++j)
        {
            bool h = true;
            int q = 0;    
            while (h == true && q < 16)
            {
                if (pZNAK[j].date[q] < pZNAK[i].date[q])
                {
                    h=false;
                    f = pZNAK[i];
                    pZNAK[i] = pZNAK[j];
                    pZNAK[j] = f;                
                }
                else if (pZNAK[j].date[q] > pZNAK[i].date[q])
                    h = false;            
                    
                ++q;
            }
        }
    }
}
 
int main()
{
    int n;
    ZNAK pZNAK[10];
    cout << "Vvedite N (n <= 10): ";
    cin >> n;
    if (n > 10)
    {
        cout << "Error: N" << endl;    
        return 0;
    }
    for (int i = 0; i < n; ++i)
    {    ifstream in("myfile.txt");
        in >> pZNAK[i].family;
        in >> pZNAK[i].name;
        in >> pZNAK[i].znak;
        in >> pZNAK[i].date[0] >> pZNAK[i].date[1] >> pZNAK[i].date[2];
    }
    char family[15];
    char name[15]; 
    cout << "Vvedite family dly poiska: ";
    cin >> family;
    cout << "<<<<<SEARCH RESULT>>>>>" << endl;
    Search(&pZNAK[0], &family[0], &name[0], n);
    Sort(&pZNAK[0], n);
    cout << "<<<<<SORT RESULT>>>>>" << endl;
    for ( i = 0; i < n; ++i)
    {
         cout << "Family: " << pZNAK[i].family << endl;
         cout << "ZNAK: " << pZNAK[i].znak << endl;
         cout << "Date: " << pZNAK[i].date[0] << ":" << pZNAK[i].date[1]    << ":" << pZNAK[i].date[2] << endl;    
         cout << "________________________________________________" << endl;
    }    
    getch();
    return 0;
}
Если же заменить стоки 81-85 на
C++
1
2
3
4
5
6
7
8
9
cout << "Number " << i << endl;
        cout << "Vvedite Family -> ";
        cin >> pZNAK[i].family;
        cout << "Vvedite name -> ";
        cin >> pZNAK[i].name;
        cout << "Vvedite Znak -> ";
        cin >> pZNAK[i].znak;
        cout << "Vvedite date[format: den', mesyac, god] -> ";
        cin >> pZNAK[i].date[0] >> pZNAK[i].date[1] >> pZNAK[i].date[2];
то программа работает, но мне нужно считывание из файла. Программа считывает только первые данные.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.11.2012, 20:51     не считывает текст из файла #2
Данные в файле как выглядят?
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
26.11.2012, 20:54  [ТС]     не считывает текст из файла #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Данные в файле как выглядят?
ololoev
petr
kozerog
11 11 2011
petrov
pert
ovca
10 12 1993
и т.д.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.11.2012, 21:06     не считывает текст из файла #4
ifstream in("myfile.txt") вынесите из цикла for().
Yandex
Объявления
26.11.2012, 21:06     не считывает текст из файла
Ответ Создать тему
Опции темы

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