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

Связные списки - C++

Восстановить пароль Регистрация
 
Ники
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 50
04.12.2010, 23:54     Связные списки #1
Помогите, пожалуйста закончить программу. Нужно добавить в нее связные списки, содержащие информацию вводимую пользователем.

#include <stdio.h>
#include <conio.h>
FILE *f;
typedef struct {
unsigned char name[30];
int cena;
int vozrmin,vozrmax;
} magazin;
magazin mg, BUF;
char filename[]="magazin.dat";
char s='\0';


void add_one()
{
char s='\0';
do
{
clrscr();
printf("\n Nazvanie: ");
fflush(stdin);
gets(mg.name);
printf("\n Cena: ");
scanf("%d", &mg.cena);
printf("\n Min vozrast: ");
scanf("%d", &mg.vozrmin);
printf("\n Max vozrast: ");
scanf("%d", &mg.vozrmax);
fwrite(&mg,sizeof(mg)+1,1,f);
printf("\n Prodoljit vvod: Y/N?");
s=getche();
}
while (s=='y' || s=='Y');
fclose(f);
}

void print()
{

clrscr();
f=fopen("magazin.dat","rb");
int c;
printf("\nЪ--------------------------------------------------------------------ї");
printf("\n| Nazvanie Cena Min vozr Max vozr |");
printf("\nГ--------------------------------------------------------------------ґ");
while(feof(f)==0)
{
if (fread(&mg,sizeof(mg)+1,1,f)!=0)
{
printf("\n| %10s %10d %16d %18d ",mg.name, mg.cena, mg.vozrmin, mg.vozrmax);
}
}
printf("\nА--------------------------------------------------------------------Щ\n");
getch();
}

void main()
{
do
{
s='\0';
f=fopen(filename, "rb");
clrscr();
textbackground(12);
textcolor(6);
printf("\n ######################################");
printf("\n | -=#=- Chto nadobno starche? -=#=- |");
printf("\n ######################################");
printf("\n | 0-dobavit dannie |");
printf("\n | 1-naiti igryhky po vozrasty |");
printf("\n | 2-naiti samyiy dorogyiy igryhky |");
printf("\n | 3-naiti igryhky po cene i vozrasty |");
printf("\n | 4-viuti iz programmi |");
printf("\n ######################################\n");
s=getche();
clrscr();
switch(s)
{
case '0': {

s='\0';
printf("\n #########################");
printf("\n |-= Viberite deistvie =-|");
printf("\n #########################");
printf("\n | 0-sozdat zanovo |");
printf("\n | 1-dobavit |");
printf("\n | 2-otkazatcya ot vvoda |");
printf("\n #########################\n");
s=getche();
switch (s)
{
case '0': {
f=fopen(filename, "wb+");
add_one();
}
case '1': {
f=fopen(filename, "ab");
add_one();
}
case '2': break;
}

} break;
case '1': {
int v,e;
printf("\n Vvedite min vozr: ");
scanf(" %d",&v);
printf("\n Vvedite max vozr: ");
scanf(" %d",&e);
f=fopen(filename,"rb");
if(e<v)
{clrscr();
printf("\n eeeeeeeeeeee rrrrrrrrrrrr rrrrrrrrrrrr oooooooooooo rrrrrrrrrrrr");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr oooooooooooo rrr rrr");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eeeeeeeeeeee rrrrrrrr rrrrrrrr ooo ooo rrrrrrrr ");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr oooooooooooo rrr rrr ");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr oooooooooooo rrr rrr\n");
getch();
}
else
{clrscr();
printf("\n######################################################################");
printf("\n| Nazvanie Cena Min vozr Max vozr |");
printf("\n######################################################################");
while(feof(f)==0)
{
if (fread(&mg,sizeof(mg)+1,1,f)!=0)
{
if(mg.vozrmin>=v && mg.vozrmax<=e)
printf("\n| %-15s %8d %18d %18d | ",mg.name, mg.cena, mg.vozrmin, mg.vozrmax);
}
}
printf("\n######################################################################\n");
getch();
}
} break;
case '2': {
BUF.cena=0;
while(feof(f)==0)
{
if (fread(&mg,sizeof(mg)+1,1,f)!=0)
{
if (mg.cena>BUF.cena) BUF=mg;
}
}
printf("\n Samaya dorogaya igruhka: %d ", BUF.cena );
getch();
} break;
case '3': {
int a,b,c;
printf("\n Vvedite minimalniu vozrast: ");
scanf("%d",&a);
printf("\n Vvedite maksimalniu vozrast: ");
scanf("%d",&b);
if(b<a)
{clrscr();
printf("\n eeeeeeeeeeee rrrrrrrrrrrr rrrrrrrrrrrr oooooooooooo rrrrrrrrrrrr");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr oooooooooooo rrr rrr");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eeeeeeeeeeee rrrrrrrr rrrrrrrr ooo ooo rrrrrrrr ");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eee rrr rrr rrr rrr ooo ooo rrr rrr ");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr oooooooooooo rrr rrr ");
printf("\n eeeeeeeeeeee rrr rrr rrr rrr oooooooooooo rrr rrr\n");
getch();
}
else
{printf("\n Vvedite ceny: ");
scanf("%d",&c);
clrscr();
printf("\n######################################################################");
printf("\n| Nazvanie Cena Min vozr Max vozr |");
printf("\nГ--------------------------------------------------------------------ґ");
while(feof(f)==0)
{
if (fread(&mg,sizeof(mg)+1,1,f)!=0)
{
if(mg.vozrmin>=a && mg.vozrmax<=b && mg.vozrmin<b && mg.cena==c)
printf("\n| %4s %14d %16d %18d",mg.name, mg.cena, mg.vozrmin, mg.vozrmax);
}
}
printf("\n######################################################################\n");
getch();
}
} break;
}
}
while (s!='4');
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2010, 23:54     Связные списки
Посмотрите здесь:

Связные списки C++
C++ Связные списки
C++ Связные списки
Связные списки C++
C++ Связные списки.
Связные списки C++
C++ Связные списки
C++ однонаправленные связные списки

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

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

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru