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

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

Войти
Регистрация
Восстановить пароль
 
newyork7776
347 / 340 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
#1

Файл. Вывести размер заработной платы каждого работника фирмы по разнице налога, который составляет 12% от суммы зарплаты - C++

10.06.2013, 18:10. Просмотров 321. Ответов 0
Метки нет (Все метки)

Условие. Написать программу, которая вводит в файл или читает из файла ведомость студентов, сдавших экзамены. Каждая структура должна содержать фамилию, а также оценки по математике и программированию. Вывести список студентов, сдавших экзамен по программированию с оценкой 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
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
FILE *fl;
typedef struct
{
char fio[30];
unsigned char matem;
unsigned char oaip;
} TStudent;
TStudent stud[30]; 
char name[20]; 
int nst=0; 
int menu(); 
void nnf(); 
void newf(); 
void spisok(); 
void opf(); 
void resc(); 
void resf(); 
int main()
{
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: "Viberit pravilno!";
}
puts("Press any key to continue");
getch(); system("cls");
}}
int menu() 
{
42
cout << "VIBERITE:" << endl;
cout << "1. Vvod file name" << endl;
cout << "2. New file" << endl;
cout << "3. Vvesti spisok" << endl;
cout << "4. Open file" << endl;
cout << "5. Vivesti result" << endl;
cout << "6. Vivesti v fail" << endl;
cout << "7. Exit" << endl;
int i;
cin >> i;
return i;
}
void nnf() 
{
cout << "Vvedite file name" << endl;
cin >> name;
}
void newf() 
if ((fl = fopen(name,"wb"))==NULL)
{
cout << "Oshibka pri sozdanii"<<endl;
exit(1);
}
cout << "OK" << endl;
fclose(fl);
}
void spisok() 
if ((fl = fopen(name,"rb+"))==NULL)
{
cout << "Oshibka pri sozdanii"<<endl;
exit(1);
}
cout << "Vvedite chislo studentov " << endl;
cin >> nst;
for (int i=0; i<nst; i++)
{
cout << "Vvedite imya: ";
43
cin >> stud[i].fio;
cout << "Vvedite otcenku po matematike: ";
cin >> stud[i].matem;
cout << "Vvedite otcenku po OAiP: ";
cin >> stud[i].oaip;
fwrite( &stud[i], sizeof(TStudent), 1, fl );
}
fclose(fl);
}
void opf() 
{
if ((fl = fopen(name,"rb"))==NULL)
{
cout << "Oshibka pri otkritii"<<endl;
exit(1);
}
nst=0; TStudent std;
while(true)
{
int nwrt = fread( &std, sizeof(TStudent), 1, fl );
if (nwrt!=1) break;
stud[nst]=std;
cout << stud[nst].fio << " " << stud[nst].matem
<< " " << stud[nst].oaip << endl;
nst++;
}
fclose(fl);
}
void resc() 
{
for (int i=0; i<nst; i++)
if (stud[i].oaip=='4')
cout << stud[i].fio << endl;
}
void resf() 
char namet[30];
FILE *ft;
cout << "Vvedite imya faila" << endl;
cin >> namet;
44
if ((ft = fopen(namet,"w"))==NULL)
{
cout << "Oshibka pri sozdanii "<<endl;
exit(1);
}
char s[80];
for (int i=0; i<nst; i++)
if (stud[i].oaip=='4')
{
strcpy(s, stud[i].fio);
strcat(s, "\n"); 
fputs(s, ft);
}
fclose(ft);
}
Мое задание : Информация о сотрудниках фирмы включает ФИО, количество отработанных часов за месяц, почасовой тариф. Рабочее время более 144 часов считается сверхурочным и оплачивается в двойном размере. Вывести размер заработной платы каждого работника фирмы по разнице налога, который составляет 12% от суммы зарплаты.
нужно переделать програму на мой случай
+ можна с комментированием + материал по файлам С++
Спасиюв за помочь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 18:10     Файл. Вывести размер заработной платы каждого работника фирмы по разнице налога, который составляет 12% от суммы зарплаты
Посмотрите здесь:
C++ Вывести размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога
C++ Определить размер заработной платы каждого сотрудника фирмы
C++ [ООП + while]Определение заработной платы для каждого
Программа расчета суммы налоговых отчислений от заработной платы C++
Создать список отделов и вычислить общую сумму заработной платы сотрудников каждого отдела C++
Вывести название предприятия, в порядке убывания средней заработной платы C++
C++ Функции: подсчет годовой зарплаты работника
Програма для начисления заработной платы работникам C++
Напечатать ведомость выплаты заработной платы за выполненную работу C++
Определить сумму введенной заработной платы (использовать перечисления) C++
C++ Как вычислить сумму заработной платы нескольких сотрудников, после введения данных
C++ Создать список отделов и вычислить общую сумму заработной платы сотрудников этого отдела

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

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

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