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

Програма с .тхт файлом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача о совпадении дней рождения http://www.cyberforum.ru/cpp-beginners/thread33203.html
Пожалуйста, кто-нибудь помагите решить задачу, очень надо для дипломной работы! Заранее всех благодарю за помощь!!!:) Задача состоит в том, что бы найти вероятность совпадения хотя бы 2-х дней рождений в группе студентов из 25 человек. Модель задачи заключается в следующем необходимо присвоить какому-нибудь счетчику 0, для дальнейшего сохранения в неё результатов опыта. Вызывать функцию для...
C++ Разбить N на более простые числа, в сумме дающие это N Нашел я как-то в одной книге задачу. До сих пор бьюсь над ее решением. Может кто подскажет программу для ее решения (на Visual C++,либо на VBA либо на Паскале))). Вот текст задачи (на первый взгляд, ничего схожего с программированием): Парламент состоит из N делегатов. Делегаты должны разделиться на группы (фракции); кол-во депутатов в каждой группе должно отличаться от кол-ва депутатов в... http://www.cyberforum.ru/cpp-beginners/thread32966.html
С Pascal(я) на C++ C++
в С++ сосем "профан", да и паскаль толком не знаю :) задачи частенько делаю с помощью вашего форума :) Суть. Имеются две задачи на Паскале, которые прошу Вас переделать под С++ //Определить сумму элементов массива N кратных трём Program Project; uses crt; Var
Разработка программ из многофайловой структурой C++
Очень прошу помощи в следующем задании (сам сделать не могу, а лабораторную сдавать надо. P.S: препод внимания на эту тему вообще не уделял, так что помогите кто соображает на С++): Составить проект для многофайловой структуры программы. Разработать заглавных файл содержащий глобальные данные и объявления внешних функций. Разработать вспомогательный файл содержащий определение внешних...
C++ Работа с объектами классов http://www.cyberforum.ru/cpp-beginners/thread32525.html
Всем здраствуйте. Помогите если вам не так сложно :) Вот сейчас я поясню, то что не могу сделать: В соответствии с написанной программой разработать алгоритм работы с объектами базовых и производных классов с использованием указателей на базовые и производные классы Вообщем, помогите сделать эту программу с использованием виртуальных указателей для работи с объектами классов Эта...
C++ Целочисленная матрица Ни могу решить........помогите кто может. Упорядочить строки целочисленной прямоугольной матрицы по возрастоянию количества одинаковых элементов в каждой строке. подробнее

Показать сообщение отдельно
Live
0 / 0 / 0
Регистрация: 01.03.2009
Сообщений: 69
08.05.2009, 01:45     Програма с .тхт файлом
вот код
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
#include <windows.h>
#include <stdio.h>
#include <conio.h>
 
 
FILE *f;
typedef struct tagINFO
{
    char nam[64];
    char fam[64];
    char grp[64];
    int  iID;
    int  year;
}INFO;
 
void p1();
void p2();
void p3();
 
int ftrunc(FILE *f, int bgn, int end);
 
int main()
{
    int bContinue;
    printf("\t\tMenu\r\n");
    printf("1 - Write data in file\r\n");
    printf("2 - Read  data from file\r\n");
    printf("3 - Delete data in file\r\n");
    printf("Any symbol for exit\r\n");
    printf("Note - DataBase must be in the same dirrectory\r\n");
    printf("that program and has name DataBase.txt\r\n");
    switch(getch())
    {
        case 49:p1();break;
        case 50:p2();break;
        case 51:p3();break;
        default:
            bContinue = 0;
            break;
    }
   return 0;
      }
        if (bContinue)
            main();
}
 
void p1();
{
    INFO pINFO;
    int bContinue = 1;
    printf("tWriting data\r\n");
    if(!(f = fopen("DataBase.txt","rb+")))
    {
        if(!(f = fopen("DataBase.txt","wb+")))
            bContinue = 0;
    }
    while(bContinue)
    {
        fseek(f,0,SEEK_END);
        printf("Name  \t:");scanf("%s",&pINFO.nam);
        printf("Family\t:");scanf("%s",&pINFO.fam);
        printf("Group \t:");scanf("%s",&pINFO.grp);
        printf("ID    \t:");scanf("%d",&pINFO.iID);
        printf("Year  \t:");scanf("%d",&pINFO.year);
        fwrite(&pINFO,1,sizeof(pINFO),f);
        printf("Writing complete,1 - add more\r\n");
        if(getch() != 49)
            bContinue = 0;
    }
    fclose(f);
 
}
 
void p2()
{
    INFO pINFO;
    int bContinue = 1;
    int nCount = -1,num;
    if((f = fopen("DataBase.txt","rb+")))
    {
        fseek(f,0,SEEK_END);
        nCount = ftell(f) / sizeof(pINFO);
        fseek(f,0,SEEK_SET);
        if(0 < nCount)
        {
            while(bContinue)
            {
                printf("Nomer zapisi ot 1 do %d\r\n",nCount);
                scanf("%d",&num);
                if(num <= nCount)
                {
                    fseek(f,(num - 1)*sizeof(pINFO),SEEK_SET);
                    fread(&pINFO,1,sizeof(pINFO),f);
                    printf("Name  \t: %s\r\n",pINFO.nam);
                    printf("Family\t: %s\r\n",pINFO.fam);
                    printf("Group \t: %s\r\n",pINFO.grp);
                    printf("ID    \t: %d\r\n",pINFO.iID);
                    printf("Year  \t: %d\r\n",pINFO.year);
                }
                printf("Reading complete,1 - see more\r\n");
                if(getch() != 49)
                    bContinue = 0;
            }
        }
        else
            printf("Basa dannih povrezhdena ili otsytstvyut zapisi\r\n");
    }
    fclose(f);
}
 
void p3()
{
    int bContinue = 1;
    int nCount = -1,num;
 
    if((f = fopen("DataBase.txt","rb+")))
    {
        fseek(f,0,SEEK_END);
        nCount = ftell(f) / sizeof(INFO);
        fseek(f,0,SEEK_SET);
        if(0 < nCount)
        {
            while(bContinue)
            {
                printf("Nomer zapisi ot 1 do %d\r\n",nCount);
                scanf("%d",&num);
                if(num <= nCount)
                {
                    if(ftrunc(f, num*sizeof(INFO), (num + 1)*sizeof(INFO)))
                        nCount--;
                    fseek(f,0,SEEK_END);
                }
                printf("Deleting complete,1 - see more\r\n");
                if(getch() != 49)
                    bContinue = 0;
            }
        }
        else
            printf("Basa dannih povrezhdena ili otsytstvyut zapisi\r\n");
    }
    fclose(f);
}
 
bool ftrunc(FILE *f, int bgn, int end)
{
    bool RetVal = false;
    fseek(f,0,SEEK_END);
    int fLen = ftell(f);
    fseek(f,0,SEEK_SET);
 
    void *lBuf = malloc(bgn);
    if(fLen - end < 0)
        end = fLen;
    void *rBuf = malloc(fLen - end);
 
    fread(lBuf,1,bgn,f);
    fseek(f,end,SEEK_SET);
    fread(rBuf,1,fLen - end,f);
    fseek(f,bgn,SEEK_SET);
    if(RetVal = SetEndOfFile((HANDLE)f))
        fwrite(rBuf,1,fLen - end,f);
    return RetVal;
}
Мне тут помогали с прогой. Но когда компилю, вылетают ошибоки.
Непонимаю почему но тип bool вообще никак не хочет воспринимать, даже help-index не имеет такого. Да у меня с++ старый консольный режим или досовский...
Я заменил bool на int и брал значения 0 -false 1 -true...
чет я не понимаю де указывается путь, где должен создаваться файл..

if (bContinue)
main(); что тут неправельного?

if((f = fopen("DataBase.txt","rb+"))) тут пишет чет не то
bool ftrunc(FILE *f, int bgn, int end) аналогично ругается
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru