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

При создании таблицы результат выводится два раза - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами. Вывод нечетных строк с указанием номеров строк http://www.cyberforum.ru/cpp-beginners/thread843842.html
#include "stdafx.h" #include "stdlib.h" #include <stdio.h> #include <locale> #include <iostream> using namespace std; int main(int argc,char *argv) {setlocale (LC_ALL,"Russian");
C++ Найти минимум в каждом столбце Кому интересно решите. Так вроде не сложная. Заранее спасибо. Разработать программу, в которой создается и выводится двумерный массив Х размером 4 строк на 6 столбцов. Первые четыре строки массива заполняются целыми случайными числами в диапазоне 0…50, а каждый элемент последней строки должен быть равен минимальному из элементов предыдущих строк в соответствующем столбце. http://www.cyberforum.ru/cpp-beginners/thread843838.html
Найти S C++
Решите задачку!Заранее спасибо. Дано действительное число а, натуральное число n>1. Найти S = а(a-n)(а-2n)…(а-n2).
C++ Номинал конденсатора и допуск - отображение в цветовом коде
у меня вопрос, мне дали задание написать программу которая по разноцветному коду будет выдавать номинал конденсатора и допуск, и наоборот, тоесть взаимо-оборотный цыкл, по номиналу находить цвет и допуск и по допуску цвет и номинал. Я подумала нужно создать базу данных для цветов кода, значения допуска и номинала. вопрос в том как описать это все? как ввести в базу данных все эти вещи и сделать...
C++ Что такое NULL ? http://www.cyberforum.ru/cpp-beginners/thread843829.html
допустим присваиваем указателю или переменной или возвращаем NULL(return NULL) - что это означает? чем он отличается от нуля(false)
C++ Удалить файлы с одним расширением Доброго времени суток всем! Встала такая задача: удалить все файлы с одинаковым расширением. Знаю есть такая функция remove("c:\file.log"); Но она удаляет только заданный файл в заданной директории. А хотелось бы иметь что то вроде: remove("c:\*.log"); Т.е. просто прописать расширение файла и диск (не директорию!) на котором нужно провести удаление, т.е. получается что нужно еще реализовать... подробнее

Показать сообщение отдельно
Torna
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 7

При создании таблицы результат выводится два раза - C++

21.04.2013, 01:31. Просмотров 429. Ответов 7
Метки (Все метки)

При выводе таблицы результатов последний введенный год/страница(по условию) выводится два раза и так же при поиске, не могу понять, в чем проблема
Кликните здесь для просмотра всего текста
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
// laba4.cpp : Defines the entry point for the console application.
//
// 1.cpp : Defines the entry point for the console application.
#include "targetver.h"
#include "stdafx.h"
#include <stdio.h>
#include <tchar.h>
#include <fstream>
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
 
struct BOOK
{
    int page, year;
};
 
void table(), input(), output(), search();
 
ifstream &operator>>(ifstream &in, BOOK &x)
{
    in>>x.year;
    in>>x.page;
    return in;
}
 
ostream &operator<<(ostream &out, BOOK t)
{
    out.setf(ios::left);
    cout<<"| "<<" | "<<setw(4)<<t.year<<" | "<<setw(5)<<t.page<<" |\n";
    cout<<"------------------------------------------------------\n";
    return out;
}
 
istream &operator>>(istream &in, BOOK &t)
{
    cout<<"Input publishing year: ";
    in>>t.year;
    cout<<"Input page count: ";
    in>>t.page;
    cout<<"\n";
    return in;
}
 
ofstream &operator<<(ofstream &out, BOOK &t)
{
    out<<t.year<<endl<<t.page<<endl;
    return out;
}
 
 
void main()
{
    char c;
    while (1)
    {
        cout<<"\n1. Create datafile";
        cout<<"\n2. Overview database";
        cout<<"\n3. Search";
        cout<<"\n4. Exit";
        cout<<"\nYour choose: ";
        cin>>c;
        switch(c)
        {
        case '1':
            input();
            break;
        case '2':
            output();
            break;
        case '3':
            search();
            break;
        case '4':
            return;
        default:
            cout<<"\nERROR! Input 1 to 4 only!\n";
        }
    }
}
 
void output()
{
    BOOK t;
    ifstream fin;
    fin.open("data.dat", ios::in);
    cout<<"Overviewing...\n";
    table();
    while(fin)
    {
        fin>>t;
        cout<<t;
    }
    fin.close();
}
 
void input()
{
    BOOK t;
    char c;
    ofstream fout;
    fout.open("data.dat");
    do
    {
        cin>>t;
        fout<<t;
        cout<<"Continue?(y/n): ";
        cin>>c;
    } while (c=='y'|| c=='Y');
    fout.close();
}
 
void table()
{
    cout<<"------------------------------------------------\n";
    cout.setf(ios::left);
    cout<<"| "" | "<<setw(4)<<"Year"<<" | "<<setw(5)<<"Pages"<<" |\n";
    cout<<"------------------------------------------------\n";
}
 
void search()
{
    BOOK t;
    int year, page;
    ifstream fin;
    fin.open("data.dat", ios::in);
    cout<<"Enter year: ";
    cin>>year;
    cout<<"\nEnter pages: ";
    cin>>page;
    cout<<"\n\nSearching...\n";
    table();
    while(!fin.eof()){
        fin>>t;
        if (t.year==year && page<t.page)
            cout<<t;
    }
    fin.close();
    return;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru