как правильно записать условие? чтоб удаляло числа кратные 2-м?..
Код
void krat(apteka* stdar[])
{
//вывод эл-ов на экран
printf(" # name amount price weight \n");
for (int i=0; i<MAX; i++)
{
stdar[i]->printstud();
}
void delobject(apteka* stdar[]) // удаление одного ел-та
{
int n;
printf("What object do you want to delete?\n");
scanf("%d", &n);
delete stdar[n-1];
stdar[n-1]=stdar[MAX-1];
stdar[MAX-1]->number=n;
MAX--;
printf("Deleted Complete!\n");
}
2. Записать в бинарный файл 10 обьектов класса, прочитать, вывести данные и получить размер файла в байтах. Я если чесно не нашла, описание бинарных файлов на си...>.< Разве что в них пишется fread, fwrite, а размер?..
с обычным файлом функции чтения и записи выглядят так, хотя чтение немного... эм... не работает...
Код
void Read()
{ file=NULL;
int Number=0;
char Name0[25];
int Amount0;
float Price0,Weight0;
char filepath[100];
printf("Please, input the full file-path:\n");
scanf("%s", filepath);
file=fopen(filepath, "r");
if (file==NULL) {printf("False file-path! Please, rewrite!\n");}
else {
while (!(feof(file))) {
fscanf(file, "%s %d %f %f", Name0, &Amount0, &Price0, &Weight0);
Add(Name0, Amount0, Price0, Weight0);
Number++;
}
printf("Complete! %d Object's added!\n", Number);
fclose(file);
}
}
void Write()
{ file=NULL;
int Number=0;
char filepath[100];
printf("Please, input the full file-path for writing:\n");
scanf("%s", filepath);
file=fopen(filepath, "w");
if (file==NULL) {printf("False file-path! Please, rewrite!\n");}
else {
for (int i=0; i<MAXLEN; i++) {
fprintf(file, "%s %3d %.2f %.2f\n", stdar[i]->Name, stdar[i]->Amount, stdar[i]->Price, stdar[i]->Weight);
Number++;
}
printf("Complete! %d Object's added\n", Number);
fclose(file);
}
}
void initialize(apteka* stdar[]) //инициализация 10 обьектов...
{
stdar[0] = new apteka(1,"Analgin", 12, 75, 180);
stdar[1] = new apteka(2,"Noshpa", 2, 60, 285);
stdar[2] = new apteka(3,"Phalimint",3, 20, 176);
stdar[3] = new apteka(4,"Aspirin", 6, 18, 187);
stdar[4] = new apteka(5,"Solpadein",10, 37, 300);
stdar[5] = new apteka(6,"Tabletki", 21, 48, 179);
stdar[6] = new apteka(7,"Nazalvan",14, 67, 475);
stdar[7] = new apteka(8,"Vitamihi", 7, 54, 107);
stdar[8] = new apteka(9,"Zelenka",13, 19, 171);
stdar[9] = new apteka(10,"Plastir",9, 76, 220);
printf("Database initialized successfully\n");
}
Сообщение отредактировано: Jerry -