Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

BOrland c for dos Исправить ошибку! код есть!

81K
01 июня 2012 года
Prosto23
5 / / 29.05.2012
Прошу помощи!!!! Есть код....
Но проблема.....когда ввожу номер группы ( на разных студентов но один номер группы) то он выводит первого которого я ввел...а нужно чтобы выводил всех с заданной группой!!!
Так же с фамилией .. код должен быть на Borland C for dos..... ПЛИЗ ИСПРАВТЕ ОШИБКУ!!! курсач надо завтра защищать...!!!! ПРОШУ!!
------------------------------------
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
struct BazaDannix
{
char LastName[30];
char FirstName[30];
char Age[30];
int BorlandC;
int Metodi;
int Istoria;
int Student;
struct BazaDannix *pred; //ykazatel na predidywiy element spiska
struct BazaDannix *next; //ykazatel na sled. element spiska
} st[100];
const int M=10;
struct control
{
int ze; //4islo zaniatix elementov
int se; //4islo svobiodnix elementov
struct BazaDannix *A; //na4alo spiska zaniatix elementov
struct BazaDannix *B; //konec spiska zaniatix
struct BazaDannix *X; //na4alo spiska svobodnix elementov
struct BazaDannix *Y; //konec spiska svobodnix elementov
} ABXY;
int init(void);
int input(void);
int poisk(void);
int pooisk(void);
int print(void);
struct BazaDannix *Naxogdenia(int PCount);
void main(void)
{
clrscr();
printf("\nBaza dannix studentov\n");
printf("\nNajmite luduyu klavishu\n");
getch();
clrscr();
init();
char command;
while(1)
{
printf(" BAZA DANNIX STUDENTOV GRUPPI TIS\n\n");
printf(" Yspexov v poiske \n\n");
printf("1.Vvod informaci o studentax \n");
printf("2.Vivod soderjimogo\n");
printf("3.Poisk po Famylyu v gruppe \n");
printf("4.Poisk po Nomeru gruppi \n\n");
printf("------Chtobi viyti najmite ESC---------\n");
printf("\nVvedite nomer pynkta menu\n");
char command;
command=getch();
switch (command)
{
case '1':
input();
clrscr();
break;
case '2':
clrscr();
print();
break;
case '3':

poisk();
break;
case '4':
pooisk();
break;
case 27:
return;
default: printf("\n\nNeverniy pynkt menu\n\n");
}
}
}
int init(void)
{
struct BazaDannix *p=st;
int i;
ABXY.ze=0;
ABXY.se=0;
ABXY.A=NULL;
ABXY.B=NULL;
ABXY.X=st;
ABXY.Y=st;
p=st;
for (i=0;i<M-1;i++)
{
if (ABXY.se!=0)
{
p -> pred=p-1;
p -> next=p+1;
}
else
{
p -> pred=NULL;
p -> next=p+1;
}
p++;
ABXY.se++;
ABXY.Y++;
}
ABXY.se++;
p -> pred=p-1;
p -> next=NULL;
return 0;
}
int input(void)
{
struct BazaDannix *ptr;
printf("\n\n \n");
if (ABXY.se==0)
{
printf("Svobodnix elementov net\n");
return -1;
}
ptr=ABXY.X;
printf("Vvedite Imia Studenta \n");
scanf("%s",ABXY.X->LastName);
printf("Vvedite Family Studenta \n");
scanf("%s",ABXY.X->FirstName);
printf("Vvedite vozrast studenta \n");
scanf("%s",ABXY.X->Age);
printf("Vvedite Ocenku po Borland C++ for dos \n");
scanf("%d",&ptr->BorlandC);
printf("Vvedite Ocenku po Metodi optimizacii \n");
scanf("%d",&ptr->Metodi);
printf("Vvedite Ocenku po istorii \n");
scanf("%d",&ptr->Istoria);
printf("Nomer gruppi \n");
scanf("%d",&ptr->Student);
if (ABXY.se==1)
{
ABXY.X=NULL;
ptr->next=NULL;
ptr->pred=ABXY.B;
ABXY.B->next=ptr;
ABXY.B=ptr;
ABXY.Y=NULL;
}
else
{
if (ABXY.ze==0)
ABXY.A=ptr;
ABXY.X=ptr->next;
ptr->next=NULL;
ptr->pred=ABXY.B;
ABXY.B->next=ptr;
ABXY.B=ptr;
ABXY.X->pred=NULL;
}
ABXY.ze++;
ABXY.se--;
return 0;
}
int print(void)
{
int i;
struct BazaDannix *ptr;
ptr=ABXY.A;
printf("Baza:\n\n");
if (ABXY.ze==0)
{
printf("V baze net zapisei\n\n");
return -1;
}
for (i=0;i<ABXY.ze;i++)
{
printf("%d Familya: %s\n",(i+1),ptr->FirstName);
printf(" Imya: %s\n",ptr->LastName);
printf(" Vozrast Studenta: %s\n",ptr->Age);
printf(" Ocenka po Borland C++ for Dos: %d\n",ptr->BorlandC);
printf(" Ocenka po Metodi optimizacii: %d\n",ptr->Metodi);
printf(" Ocenka po Istorii: %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
ptr=ptr->next;
}
printf("\n\n Vsego zapisei=%d\n\n",i);
return 0;
}
struct BazaDannix *f(char PCount)
{
int i;
struct BazaDannix *ptf;
ptf=ABXY.A;
for (i=0;i<ABXY.ze;i++) //nb - 4islo zaniatix elementov
{
if( PCount==*ptf->FirstName)
return ptf;
else ptf=ptf->next;
}
return NULL;
}
int poisk(void)
{
char PCount;
int i;
struct BazaDannix *ptr;
if (ABXY.ze==0)
{
printf("\nV baze net zapisei\n\n");
return -1;
}
printf("Vvedite Famylyu studenta : \n");
scanf("%c", &PCount);
if ((ptr=f(PCount))==0)
{
printf("Ni4ego ne naideno\n");
return -1;
}
if (ptr==ABXY.A)
{
if (ABXY.ze==1)
{
printf(" Familya: %s\n",ptr->FirstName);
printf(" Ocenka po matematike: %d\n",ptr->BorlandC);
printf(" Ocenka po russkomu : %d\n",ptr->Metodi);
printf(" Ocenka po Istorii : %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
return 0;
}
else
{ ABXY.A=ptr->next;
printf(" Familya: %s\n",ptr->FirstName);
printf(" Ocenka po matematike: %d\n",ptr->BorlandC);
printf(" Ocenka po russkomu : %d\n",ptr->Metodi);
printf(" Ocenka po Istorii : %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
return 0;
}
}
else
{if (ptr==ABXY.B)
{
printf(" Familya: %s\n",ptr->FirstName);
printf(" Ocenka po matematike: %d\n",ptr->BorlandC);
printf(" Ocenka po russkomu : %d\n",ptr->Metodi);
printf(" Ocenka po Istorii : %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
}
else
{
ptr->pred->next=ptr->next;
ptr->next->pred=ptr->pred;
return 0;
}
}
}
struct BazaDannix *f(int PCounnt)
{
int i;
struct BazaDannix *ptf;
ptf=ABXY.A;
for (i=0;i<ABXY.ze;i++) //nb - 4islo zaniatix elementov
{
if( PCounnt==ptf->Student)
return ptf;
else ptf=ptf->next;
}
return NULL;
}
int pooisk(void)
{
int PCounnt;
int i;
struct BazaDannix *ptr;
if (ABXY.ze==0)
{
printf("\nV baze net zapisei\n\n");
return -1;
}
printf("Vvedite Nomer gruppi studenta : \n");
scanf("%d", &PCounnt);
if ((ptr=f(PCounnt))==0)
{
printf("Ni4ego ne naideno\n");
return -1;
}
{
if (ptr==ABXY.A)
{
if (ABXY.ze==0)
{
printf("%d Familya: %s\n",ptr->FirstName);
printf(" Ocenka po matematike: %d\n",ptr->BorlandC);
printf(" Ocenka po russkomu : %d\n",ptr->Metodi);
printf(" Ocenka po Istorii : %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
return 0;
}
else
{ ABXY.A=ptr->next;
printf(" Familya: %s\n",ptr->FirstName);
printf(" Ocenka po matematike: %d\n",ptr->BorlandC);
printf(" Ocenka po russkomu : %d\n",ptr->Metodi);
printf(" Ocenka po Istorii : %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
return 0;
}
}
else
{if (ptr==ABXY.B)
{
printf(" Familya: %s\n",ptr->FirstName);
printf(" Ocenka po matematike: %d\n",ptr->BorlandC);
printf(" Ocenka po russkomu : %d\n",ptr->Metodi);
printf(" Ocenka po Istorii : %d\n",ptr->Istoria);
printf(" Nomer gruppi %d\n",ptr->Student);
}
else
{
ptr->pred->next=ptr->next;
ptr->next->pred=ptr->pred;
return 0;
}
}
}
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог