К@t@LoNeЦ
|
|
Ells ho tenen tot... pero aixo no es suficient |
Регистрация: 12.11.2009
Сообщения: 1,527
Сказал(а) спасибо: 2,161
Поблагодарили: 2,099 раз(а) в 689 сообщениях
Деньги: 2766$
|
Текст вышезапостенной задачи:
тыц:
PHP код:
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
struct Student
{
char name[150];
double cost;
int age1;
int age2;
};
int main()
{
int n=10;
int i=0;
int k=0;
int j=0;
int p=0;
Student *st=new Student[n];
double max_konstruktor_cost; //Для задания "b"
double max_toys_cost=st[1].cost; //Для задания "c"
FILE *fo;
fo=fopen("f.txt","r");
if(!fo)
{
printf("Nevozmojno otkrit fail\n");
}
else
{
while(!feof(fo))
{
fscanf( fo, "%s%lf%d%d", &st[i].name, &st[i].cost, &st[i].age1, &st[i].age2 );
p=i;
i++;
}
}
//Задание "а":
printf("\nNazvaniya igrushek, zcena kotorih ne previshaet 4 rub. i kotorie podhodyat detyam 5 let:");
for (i=0; i<=p; i++)
{
if ( (st[i].cost<=4) && (st[i].age1<=5) && (st[i].age2>=5) )
{
printf(" %s", st[i].name );
}
}
printf("\n");
//Задание "b":
for (i=0; i<=p; i++)
{
if ( (strcmp(st[i].name,"konstruktor")==0) );
max_konstruktor_cost = st[i].cost;
while (i<=p)
{
if ( (strcmp(st[i].name,"konstruktor")==0) && (st[i].cost > max_konstruktor_cost) )
{
max_konstruktor_cost = st[i].cost;
}
i++;
}
break;
}
printf("\nZcena samogo dorogogo konstruktora:");
printf(" %.3lf", max_konstruktor_cost);
printf("\n");
//Задаание "c":
max_toys_cost = st[0].cost;
printf("\nNazvaniya naibolee dorogih igrushek:");
for (i=1; i<=p; i++)
{
if ( (st[i].cost > max_toys_cost) )
{
max_toys_cost = st[i].cost;
}
}
for (i=0; i<=p; i++)
{
if ( (st[i].cost == max_toys_cost) || (max_toys_cost - st[i].cost) <= 1 )
{
printf(" %s", st[i].name);
}
}
printf("\n");
//Задание "d":
printf("\nNazvaniya igrushek, kotorie podhodyat kak detyam 4 let, tak i detyam 10 let:");
for (i=0; i<=p; i++)
{
if ( (st[i].age1<=4) && (st[i].age2>=10) )
{
printf(" %s", st[i].name );
}
}
printf("\n");
//задание "e":
printf( "\nMozhno podobrat igrusku, podhodyashuu rebenku 3 let, i dopolnitelno maych tak, chtobi summarnaya stoimost igrushek ne prevoshodila 5 rub:");
for (i=0; i<=p; i++)
{
if (strcmp(st[i].name,"myach")==0)
{
for (j=0; j<=p; j++)
{
if ( (strcmp(st[j].name,"myach")!=0) && (st[j].age1 <= 3) && (st[j].age2 >= 3) && (st[j].cost + st[j].cost <= 5) )
{
printf(" %s", st[j].name );
}
}
}
}
printf("\n");
//Задание "f":
for (i=0; i<=p; i++)
{
if ( (strcmp(st[i].name,"myach")==0) && (st[i].cost == 2.5) && (st[i].age1 >= 3) && (st[i].age2 <= 8) )
{
k++;
}
}
printf("%d",k);
if (k>0)
{
printf("\nKolichestvo myachey zcenoy 2rub. 50 kop., prednaznachenniy dlya detey ot 3 do 8 let:");
printf("%d", k);
}
else
{
//Занести сведения в файл
}
fclose(fo);
getch();
delete [] st;
}
есть все, кроме задания f ,а именно:
Имеется ли мяч ценой 2 руб. 50 коп., предназначенный детям от 3 до 8 лет?; если нет, занести сведения об этой игрушке в файл f.
Как это провернуть, чтоб дозапись шла, начиная с номера со строки, большго чем кол-во строчек файла (их 10 в моем файле), т.е с 11 строчки?
__________________
|