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

Ошибка записи и вывода данных - C++

Войти
Регистрация
Восстановить пароль
 
wmfenix
Сообщений: n/a
11.01.2014, 21:14     Ошибка записи и вывода данных #1
Помогите плиз, почему не записывает и не выводит? пользуюсь средой Dev-C++

C++ (Qt)
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
#include <locale.h>
#include <string.h>
#include <Windows.h>
#include <iostream>
 
using namespace std;
 
 
struct clientData   //клиент
{
   int accNum;  //номер счёта
   char Sur[15];    //фамилия
   char Name[10];   //Имя
   float balance;   //Баланс (сумма на счету, или долг)
};
 
const int N = 100;      //константа количество элеметов массива
clientData arr[N];      //массив записей
int count = 0;          //текущее количество записей
 
void Add()          //функция добавления записи
{
int count = 0;
cout<<"Добавление записи"<<endl;
cout<<"Введите Фамилию"<<endl;
cin>>arr[count].Sur;
cout<<"Введите Имя"<<endl;
cin>>arr[count].Name;
cout<<"Введите баланс"<<endl;
cin>>arr[count].balance;
arr[count].accNum = count;
count++;            //увеличиваем количество записей
 
}
 
void Del(){         //функция удаления записи
int count = 0;
int num;
cout<<"Удаление записи"<<endl;
cout<<"Введите номер"<<endl;
cin>>num;           //вводим номер удаляемой записи
for (int i = num; i<count-1; i++){      //смещаем записи на одну
    strcpy(arr[i].Sur, arr[i+1].Sur);
    strcpy(arr[i].Name, arr[i+1].Name);
    arr[i].balance = arr[i+1].balance;
}
 
count--;            //уменьшаем количество записей
 
}
 
void Print(){           //выводим на экран все записи
int count = 0;
cout<<"Все записи"<<endl;
cout<<"Номер      Фамилия    Имя   Баланс   "<<endl;
for (int i = 0; i<count; i++){
    cout<<arr[i].accNum<<"    ";
    cout<<arr[i].Sur<<"    ";
    cout<<arr[i].Name<<"    ";
    cout<<arr[i].balance<<endl;
}
}
 
void Search(){              //поиск записи по номеру
int count = 0;
int num;
cout<<"Поиск записи"<<endl;
cout<<"Введите номер записи\n"; 
cin>>num;                   //вводим номер
cout<<"Номер  Фамилия  Имя  Баланс"<<endl;
cout<<arr[num].accNum<<"   ";
cout<<arr[num].Sur<<"   ";
cout<<arr[num].Name<<"   ";
cout<<arr[num].balance<<endl;
}
 
void Edit_balans(){             //функция изменения баланса
int num,a;
cout<<"Изменение баланса"<<endl;
cout<<"Введите номер записи\n"; 
cin>>num;                   //вводим номер записи
cout<<"Введите значение\n"; 
cin>>a;
arr[num].balance+=a;            //увеличиваем баланс    
}
 
void Print_dolg(){              //функция вывода должников
int count = 0;
cout<<"Вывод должников"<<endl;
cout<<"Номер  Фамилия  Имя  Баланс"<<endl;
for (int i = 0; i<count; i++){
    if (arr[i].balance<0.0){        //если баланс меньше нуля выводим на экран
        cout<<arr[i].accNum<<"  ";
        cout<<arr[i].Sur<<"  ";
        cout<<arr[i].Name<<"  ";
        cout<<arr[i].balance<<endl;
    }
}
}
 
void Count(){                   //функция вывода количества записей
int count = 0;
cout<<"Количество записей: "<<count<<endl;
}
 
void print_menu(){              //функция вывода меню
cout<<"Введите команду из списка"<<endl;
cout<<"1 - Добавить запись"<<endl;
cout<<"2 - Удалить запись"<<endl;
cout<<"3 - Вывести все записи"<<endl;
cout<<"4 - Найти запись"<<endl;
cout<<"5 - Изменить баланс"<<endl;
cout<<"6 - Вывести должников"<<endl;
cout<<"7 - Сосчитать записи"<<endl;
cout<<"8 - Выход"<<endl;
}
 
int main(){
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char k;
int count = 0;
 
while(true){                //запускаем бесконечный цикл
    print_menu();
    cin>>k;             //вводим номер команды
    switch(k){
        case '1': Add(); break;     //запускаем функцию в зависимости от команды
        case '2': Del(); break;
        case '3': Print(); break;
        case '4': Search(); break;
        case '5': Edit_balans(); break;
        case '6': Print_dolg(); break;
        case '7': Count(); break;
        case '8': return 0;
        default: cout<<"Не верная команда";
    }
 
}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 21:14     Ошибка записи и вывода данных
Посмотрите здесь:

C++ Напишите функции записи данных в файл, чтения данных из файла
C++ Запрос вывода порядкового номера каждой записи таблицы
C++ Ошибка при записи данных в файл
Проблемы с программой ввода вывода и записи файла C++
C++ Написать программу на языке С + + реализующая класс содержащий поля данных и методы ввода и вывода данных
C++ Ошибка вывода данных в массиве строк
C++ Ошибка вывода данных в файл
C++ добавить функцию вывода на экран записи с указанным номером
Реализовать класс больших чисел с функциями сложения, вычитания, записи и вывода C++
Stl ошибка вывода нужной записи C++
C++ Ошибка в коде с признаками (свойствами) вывода данных
Ошибка вывода C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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