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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Deizven
0 / 0 / 0
Регистрация: 12.06.2013
Сообщений: 4
#1

Программирование комбинированных задач на языке С++ - C++

14.06.2013, 01:46. Просмотров 331. Ответов 3
Метки нет (Все метки)

Помогите написать программу с использованием файлов и структур.
Заполнить расчетную ведомость:

Табельный номер ___Фамилия работника_______Всего начислено_____Всего вычтено_________Сальдо
___________________________________________________________________________долг____к выдаче
4215________________Котов_____________________128,15_________132,20____________*______*
4216________________Титов_____________________312,61__________83,72____________*_______*
4218________________Янош______________________147,45__________13,15____________*_______*

Всего_________________________________________________________________________*_______*
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 01:46     Программирование комбинированных задач на языке С++
Посмотрите здесь:

Программирование на языке C++ - C++
Известны данные о мощности двигателей(в л.с.) и стоимость 30 легковых автомобилей. Определить общую стоимость автомобилей, у которых...

Программирование на языке С++ Лабораторный практикум - C++
Нужна решение по этим лабораторным работам. Лаб с 1-3 del Лаб с 4-8 del

Программирование задач обработки файлов - C++
Дан файл f, компоненты которого являются целыми числами. Записать в файл g наибольшее значение первых ста компонент файла f, затем -...

Программирование задач обработки структур и файлов. - C++
Даны сведения о книгах, поступивших в библиотеку: ФИО автора, название книги, название издательства, год издания, дата поступления книги в...

Программирование задач с использованием нескольких функций - C++
всем доброго времени суток! вроде код правильный, помогите найти ошибку!! #include <iostream.h> #include <math.h> double...

Программирование задач обработки структур и файлов - C++
Задание: Даны сведения о результатах сессии: ФИО студента, названия четырех предметов и оценки, полученные по каждому предмету. Вывести...

Программирование задач с операторами условного перехода - C++
Данное двузначное число. определить а) входит ли в него цифра 3; б) входит ли в него цифра а.

Программирование задач обработки структур и файлов - C++
помогите пожалуйста! Даны сведения о студентах группы: ФИО студента, дата рождения студента, место рождения студента. Вывести список...

Программирование задач обработки структур и файлов - C++
Даны сведения о книгах: автор, название, год издания. Вывести на экран сведения о книге "Информатика", упорядочив по возрастанию год...

Программирование типовых числовых задач обработки одномерных массивов - C++
1) Вычислить и запомнить в структуре одномерного массива (таблица 1) фиксированное количество элементов числовой последовательности,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newyork7776
347 / 340 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
14.06.2013, 02:25     Программирование комбинированных задач на языке С++ #2
А вашего кода нет?
Deizven
0 / 0 / 0
Регистрация: 12.06.2013
Сообщений: 4
14.06.2013, 03:09  [ТС]     Программирование комбинированных задач на языке С++ #3
пока есть только часть, отвечающая за ввод
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
#include <iostream.h>
#include <stdlib.h>
#include <fstream.h>
char Name[10];
struct ved
{ int tn;
char fam[10];
float nach;
float vich;
float dolg;
float vidach;
} worker;
 
void vvod()
{ofstream out_file(Name);
if(!out_file)
{cout<<"ERROR!!!";
exit(1);
}
int c;
do
{ 
cout<<"tabelniy nomer"<<endl;
cin>>worker.tn>>endl;
cout<<"familia"<<endl;
cin>>worker.fam>>endl;
cout<<"Nachisleno"<<endl;
cin>>worker.nach>>endl;
cout<<"Vichteno"<<endl;
cin>>worker.vich>>endl;
cout<<"Dolg"<<endl;
cin>>worker.dolg>>endl;
cout<<"Vidacha"<<endl;
cin>>worker.vidach>>endl;
cout<<"Prodolzhit?(yes-1!no-0)";
cin>>c;
}
while (c!=0);
cout <endl<<endl<<endl;
out_file.close();
}
newyork7776
347 / 340 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
14.06.2013, 03:11     Программирование комбинированных задач на языке С++ #4
Вот код
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
FILE *fl;
typedef struct
{
    int number;
    char fio[30];
    int nach;
    int vich;
    int dolg;
unsigned char matem;
unsigned char oaip;
} robot;
robot praz[300]; // Масив структур
char name[20]; // Название файла
int vsegod=0;  //Всего долга
int nst=0; // Число введених структур
int menu(); // Меню
void nnf(); // Ввести ім’я файла
void newf(); // Создать новый файл
void spisok(); // Ввести список
void opf(); // Отрить файл
void resc(); // Вивести результат на екран
void resf(); // Вивести результат в файл
void dolg();  //Узнать долг
void vsegodolga(); // Узнать суму
int main()
{
    setlocale(LC_ALL, "Russian");
 
while (true)
{
switch (menu())
{
case 1: nnf(); break;
case 2: newf(); break;
case 3: spisok(); break;
case 4: opf(); break;
case 5: resc(); break;
case 6: resf(); break;
case 7: return 0;
default: "Введите првельно!";
}
puts("Press any key to continue");
getch(); system("cls");
}}
int menu() // Меню
{
cout << "Виберите" << endl;
cout << "1. Ввести имя файла" << endl;
cout << "2. Новый файл" << endl;
cout << "3. Заполнить файл" << endl;
cout << "4. Открыть файл" << endl;
cout << "5. Показать результат" << endl;
cout << "6. Записать в файл" << endl;
cout << "7. Выход" << endl;
int i;
cin >> i;
return i;
}
void nnf() // Ввести ім’я файла
{
cout << "Введите название фйла" << endl;
cin >> name;
}
void newf() // Створити новий файл
{
if ((fl = fopen(name,"wb"))==NULL)
{
cout << "Ошибка при создание"<<endl;
exit(1);
}
cout << "OK" << endl;
fclose(fl);
}
void spisok() // Ввести список
{
if ((fl = fopen(name,"rtb+"))==NULL)
{
cout << "Ошибка при создание"<<endl;
exit(1);
}
cout << "Введите количество cотрудников = ";
cin >> nst;
for (int i=0; i<nst; i++)
{
    cout << "Табельный номер : ";
    cin >> praz[i].number;
    cout << "Фамилия работника : ";
    cin >> praz[i].fio;
    cout << "Всего начислено: ";
    cin >> praz[i].nach;
    cout << "Всего вычтено : ";
    cin >> praz[i].vich;
 
fwrite( &praz[i], sizeof(robot), 1, fl );
}
fclose(fl);
}
void opf() // відкрити файл
{
if ((fl = fopen(name,"rb"))==NULL)
{
cout << "Ошибка при откритее"<<endl;
exit(1);
}
nst=0; robot std;
while(true)
{
int nwrt = fread( &std, sizeof(robot), 1, fl );
if (nwrt!=1) break;
praz[nst]=std;
cout << " Номер = "<<praz[nst].number << "\n     Фамилия работника = " << praz[nst].fio << "\n     Всего начислено = " 
<< praz[nst].nach << "\n     Всего вычтено = " << praz[nst].vich
<< "\n     Долг = " << praz[nst].dolg << endl;
nst++;
}
fclose(fl);
}
void resc() // Вивести результат на екран
{
for (int i=0; i<nst; i++)
praz[i].dolg=(praz[i].nach - praz[i].vich)
cout << " Долг " << praz[i].fio<< " = " <<praz[i].dolg << endl;
}
void resf() // Вивести результат в файл
{
char namet[30];
FILE *ft;
cout << "Введите имя файла" << endl;
cin >> namet;
if ((ft = fopen(namet,"w"))==NULL)
{
cout << "Ошибка при создание "<<endl;
exit(1);
}
char s[80];
for (int i=0; i<nst; i++)
praz[i].dolg=(praz[i].nach - praz[i].vich);
strcpy(s, praz[i].dolg);
strcat(s, "\n"); // Додати роздільник рядків
fputs(s, ft);
fclose(ft);
}
 
void doolg()
{
    for (int i=0;i<nst;i++)
        praz[i].dolg=(praz[i].nach - praz[i].vich)
}
 
 
void vsegodolga()
{
    for(int i=0;i<nst;i++)
        vsegod=praz[i].dolg+vsegod;
}
если у кого-то будет желание то пусть немного подправит, а то дальше я незнаю что можна сделать

Добавлено через 1 минуту
Deizven, подправь мой код пожалуста
Yandex
Объявления
14.06.2013, 03:11     Программирование комбинированных задач на языке С++
Ответ Создать тему
Опции темы

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