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

Вывод лишней информации из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задан текст. Удалить в словах первую букву http://www.cyberforum.ru/cpp-beginners/thread1010007.html
Задан текст. Напечатать слова этого текста отличные от последнего слова и удалить в каждом из них первую букву. #include<iostream> #include <string> using namespace std; int main() { setlocale(LC_ALL, "rus"); string str; int i; cout<<"Введите текст:";
C++ функции для вычисления среднего значения и определения простого числа Здравствуйте. У меня просьба. Помогите выполнить задачу по программированию. Вариант 18. Из положительных значений двух целочисленных массивов различной размерности сформировать общий массив. Найти среднее арифметическое элементов, расположенных в массиве до первого простого числа. Создать функции для вычисления среднего значения и определения простого числа. Массив сформирован, есть код. А... http://www.cyberforum.ru/cpp-beginners/thread1010001.html
C++ Давно не писала ничего на Dev C++ выдает ошибки не могу понять как их исправить
#include <math.h> #include <stdio.h> #include <conio.h> #include <iostream> int main() { float xa,xb,xc,ya,yb,yc; float S; printf("vvedite koordinaty tochki A\n");
C++ Как определить зацикливание процесса?
Собственно, сабж в названии. Как определить, что некоторая программа другого процесса зациклилась? Или, допустим, имея свой процесс и полный лог того, что происходит в нём (выделение памяти, вызов любой функции и т.д), определись, что программа вошла в бесконечный цикл из-за возникшей где-то ошибки, хотя не должна была? Помимо очевидного способа взять контекст из ~100 вызовов и проверять,...
C++ Меню для программы http://www.cyberforum.ru/cpp-beginners/thread1009984.html
Помогите мне обьединить несколько програм в одну. У меня есть три проги из которых нужно сделать ону и ещё сделать для них менюшку.Например: Выберите нужную цифру: И ниже будет типа: 1......, 2....., 3....., и так далее.Вот мои програмы: 1)Программа которая создает текстовый докумет и записывает в него 5 введённых пользователем целых чисел. #include <iostream.h> #include <stdio.h> int...
C++ не верно работает код условие задачи : Даны действительные числа c1, c2, …, cn. Найти произведение суммы чи-сел с четными индексами и суммы чисел с нечетными индексами. вот код который попытался написать : #include using namespace std; void obrabotka_massiva(int *a,int n) { int i; int sum_ch=0,sum_nch=0; подробнее

Показать сообщение отдельно
Jekasso
 Аватар для Jekasso
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 33
17.11.2013, 13:44     Вывод лишней информации из файла
Если я просто выберу 2 пункт (вывод информации), то количество элементов считается правильно и вывод осуществляется корректно. Если же я сначала произведу дозапись в файл, а потом попытаюсь вывести информацию, то помимо информации файла выводится белиберда, т.к. подсчет элементов осуществляется неправильно.

Помогите решить проблему.

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
/*12.Word: Слово; Номера страниц, на которых слово встречается (от 1 до 10); 
Число страниц. Создать массив объектов. Вывести:
a) слова, которые встречаются более чем на N страницах;
b) слова в алфавитном порядке;
c) для заданного слова номера страниц, на которых оно встречается.*/
// Cлово 12 200
 
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include<fstream>
#include <stdio.h>
#include<stdlib.h>
#include<iomanip>
#define cls system("cls");
 
using namespace std;
int k,z=0;
ifstream wordsfile;
 
class Words{
    char word[10];
    int numb;
    int num_p;
        public:
            Words();
            void show();
            void sozd();
            int scanfile();
};
 
//ЗАПИСЬ ИНФОРМАЦИИ
void sozd()
{
    char word[10];
    int numb, num_p;
    
    ofstream wordsfile;
    wordsfile.open("data.txt", ios::app);
    
    cout <<"Word"<<endl;
    cin >> word;
    wordsfile << endl << word <<"  ";
 
    cout <<"Words on page 1-10"<<endl;//Номера страниц, на которых слово встречается (от 1 до 10)
    cin >> numb;
    wordsfile << numb <<"  ";
    
    cout <<"Numb of pages"<< endl;
    cin >> num_p;
    wordsfile << num_p;
 
    wordsfile.close();
}
 
//ВЫВОД
void vivod(Words list[]){
            int i;
            wordsfile.open("data.txt");
            cout << "Информация в файле: \n";
            z=list[0].scanfile();
            cout << "__________________" << endl;
            for(i=0;i<z;i++) //ПРОБЛЕМА С ОПРЕДЕЛЕНИЕМ КОЛИЧЕСТВА СТРОК В ФАЙЛЕ???
                list[i].show();
            cout << "__________________" << endl;
            z=0;
            wordsfile.close();
}
 
//>>>>>>>>>>>>>ГЛАВНАЯ<<<<<<<<<<<<<<<
int _tmain(int argc, _TCHAR* argv[]){   
    setlocale( LC_ALL, "Russian");
    
    while(1){
        Words *list;
    
        wordsfile.open("data.txt");
 
        list = new Words[50];
        Words();
        wordsfile.close();
        int i, n, nomber;
        cls;
 
        cout <<"Введите номер задания: ";       
        cout <<"\n\t1 - создать\n\t2 - вывести ";
        cout <<"\n: ";
        cin>>nomber;
 
        switch(nomber){
                case 1://ЗАПИСЬ
                    cls;
                    cout << "Введите количество: " << endl;
                    cin >> n;
                    for( i = 0; i < n; i++) 
                        sozd();
                    system("pause");
                    break;
                case 2://ВЫВОД
                    cls;
                    vivod(list);
                    system("pause");
                    break;
                case 3:
                    cls;
                    break;
                default:
                    cout << "Ошибка! Введите числа в диапазоне 0-7!"<<endl;
                    system("pause");
                    break; 
           }
    }
    return 0;
}
 
//КОНСТРУКТОР
Words::Words(){
    if (!wordsfile.eof()){
        z++;
        wordsfile>>word>>numb>>num_p;}
}
 
//------------------------- show -------------------------//
void Words::show(){
    cout << word << " " << numb << " "  << num_p << endl;}
 
int Words::scanfile(){
  return z;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru