N
nreginka832
Здравствуйте. Мне нужно создать структура dvd дисков
Структура "DVD- диск":
- название;
- режиссер;
- продолжительность;
- цена.
Удалить первый элемент с заданной продолжительностью.
Добавить N элементов после элемента с номером К
и создать меню это структуры.
только не понимаю, что и как указать case 1: write_file(ВОТ ЗДЕСЬ); break;
Подскажите пожалуйста.
Структура "DVD- диск":
- название;
- режиссер;
- продолжительность;
- цена.
Удалить первый элемент с заданной продолжительностью.
Добавить N элементов после элемента с номером К
и создать меню это структуры.
C++:
int main(){
int k;
char *filename = "dt.txt";
setlocale(LC_ALL, "Russian");
do{
cout << "1. Ввести данные\n";
cout << "2. Вывести данные\n";
cout << "3. Удалить с ценой выше чем...\n";
cout << "4. Добавить\n";
cout << "5. Выход\n";
cin >> k;
switch (k){
case 1: write_file(); break;
case 2: show_file(); break;
case 3: del_el(); break;
case 4: add_el(); break;
}
} while (k != 5);
только не понимаю, что и как указать case 1: write_file(ВОТ ЗДЕСЬ); break;
Подскажите пожалуйста.
C++:
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#include "stdafx.h";
#include <iostream>
#include <iostream>
#include <string>
#include <stdio.h>
#include <ctime>
#include <string>
//#include <ifstream>
//#include <ofstream>
#include <fstream>
struct dvd{
char namefilm[20]; //название фильма
char namereg[20]; // имя режисера
int prodol; // продолжительность в минутах
int cena; // цена
};
using namespace std;
dvd* create_mas(int n){
dvd *p = new dvd[n];
return p;
}
dvd* input_mas(dvd *a, int n){
char namefilm[20];
char namereg[20];
int prodol, cena, system;
for (int i = 0; i < n; i++){
cout << "Namefilm?";
cin >> namefilm;
cout << "Namereg?";
cin >> namereg;
cout << "Prodol?";
cin >> prodol;
cout << "Cena?";
cin >> cena;
system = strlen(namefilm) + 1;
//a[i].fio = new char[system];
strcpy(a[i].namefilm, namefilm);
strcpy(a[i].namereg, namereg);
a[i].prodol = prodol;
a[i].cena = cena;
}
return a;
}
void write_file(char *filename, int n, dvd *a){
fstream f(filename, ios::out);
for (int i = 0; i<n; i++){
f << a[i].namefilm; f << "\n";
f << a[i].namereg; f << "\n";
f << a[i].prodol; f << "\n";
f << a[i].cena; f << "\n";
}
f.close();
}
void show_file(char *filename, int n){
dvd* a2 = create_mas(1);//new chelovek[n];
fstream f;//(filename, ios::in);
f.open(filename, ios::in);
do{
f >> a2[0].namefilm;
f >> a2[0].namereg;
f >> a2[0].prodol;
f >> a2[0].cena;
if (f.eof())break;
cout << "\n" << a2[0].namefilm << " " << a2[0].namereg << " " << a2[0].prodol << " " << a2[0].cena << "\n";
} while (!f.eof());
f.close();
}
void del_el(char *filename, int &n){
fstream f;
float fd_prodol;
dvd *c = create_mas(1);
dvd *a = create_mas(n);
int j = 0;
cout << "\nProdol dlya udaleniya?";
cin >> fd_prodol;
f.open(filename, ios::in);
do{
f >> c[0].namefilm;
f >> c[0].namereg;
f >> c[0].prodol;
f >> c[0].cena;
if (f.eof())break;
if (c[0].prodol == fd_prodol){
cout << c[0].namefilm << " - is deleting...";
n--;
}
else{
a[j] = c[0];
j++;
}
} while (!f.eof());
f.close();
n = j;
write_file(filename, n, a);
}
void add_el(char *filename, int &n){
int k, i;
cout << "\nK?";
cin >> k;
n += k;
fstream f;
dvd *a = create_mas(n);
i = 0;
f.open(filename, ios::in);
do{
f >> a[k + i].namefilm;
f >> a[k + i].namereg;
f >> a[k + i].prodol;
f >> a[k + i].cena;
if (f.eof())break;
i + k;
} while (!f.eof());
f.close();
a = input_mas(a, k);
write_file(filename, n, a);
}
int main(){
int k;
char *filename = "dt.txt";
setlocale(LC_ALL, "Russian");
do{
cout << "1. Ввести данные\n";
cout << "2. Вывести данные\n";
cout << "3. Удалить с ценой выше чем...\n";
cout << "4. Добавить\n";
cout << "5. Выход\n";
cin >> k;
switch (k){
case 1: write_file(); break;
case 2: show_file(); break;
case 3: del_el(); break;
case 4: add_el(); break;
}
} while (k != 5);
int n;
char *filename = "dt.txt";
cout << "N?";
cin >> n;
dvd *a = create_mas(n);
a = input_mas(a, n);
write_file(filename, n, a);
show_file(filename, n);
del_el(filename, n);
add_el(filename, n);
cin.ignore();
cin.get();
return 0;
}