Timerl@n

3 лаба

3 лаба 

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX 30
struct STUDENT
{ char fio[15];
char oc[7];
};
struct EL_TAB
{ char fio[15];
int oc[5];
float srball;
};
void PechTab (EL_TAB * tab, int n)
{int i;
puts («——————————«);
puts («Familiya I.O. Sr. Ball»);
puts («——————————«);
for (i=0;i<n;i++)
{
printf(«%s %.1f\n», tab[i].fio,tab[i].srball);
}
}
void Stud (EL_TAB *tab, int n)
{ int i,j,k=0;
char fiostud[15];
puts(«Vvedite familiyu studenta»);
gets(fiostud);
for(i=0; i<n; i++)
{
if (strstr(tab[i].fio,fiostud))
{
k++;
printf(«%s», tab[i].fio);
for (j=0;j<5; j++)
printf(» %d»,tab[i].oc[j]);
printf(» %.1f\n»,tab[i].srball);
}
}
if (k==0) puts(«\nStudentov ne naydeno»);
}
void SortTab(EL_TAB * tab, int n)
{ int k,i;
EL_TAB buf;
for (k=n-1; k>0; k—)
{
for (i=0; i<k; i++)
if (tab[i].srball<tab[i+1].srball)
{
buf=tab[i];
tab[i]=tab[i+1];
tab[i+1]=buf;
}
}
puts(«Tabliza otsortirivana»);
}
void Pech4(EL_TAB *tab, int n)
{int i,j,k=0;
puts(«Studenty imeyushie sr ball ne nize 4:»);
for (i=0; i<n; i++)
{
for (j=0; j<5; j++)
if (tab[i].srball>=4)
{
k++;
printf(«%s %.1f\n», tab[i].fio, tab[i].srball);
break;
}
}
if (k==0) puts(«\nStudentov ne naydeno»);
}

void PechSt2(EL_TAB * tab, int n)
{
puts(«studenty imeyushie dvoiki:»);
int h,i,j,k=0;
for (i=0; i<n; i++)
for (j=0; j<5; j++)
if (tab[i].oc[j]==2)
{
k++;
printf(«\n%s», tab[i].fio);
for (h=0;h<5; h++)
printf(» %d»,tab[i].oc[h]);
break;
}
if (k==0) puts(«\nstudentov ne naydeno»);
}

/*—————————-*/
int main()
{ FILE *f;
STUDENT tz;
EL_TAB tab[MAX];
int n;
int i;
float s;

if ((f= fopen(«st.txt»,»r»)) == NULL)
{ puts («file not found»);
return;
}
n = 0;
while (fgets((char *)&tz, sizeof(struct STUDENT), f) != NULL)
{ for (i=0,s=0; i<5; i++)
{ int ocenka = tz.oc[i]-‘0′;
tab[n].oc[i] = ocenka;
s += ocenka;
}
tz.fio[14]=’\0’;
strcpy(tab[n].fio,tz.fio);
tab[n++].srball = s/5;
}
fclose(f);
char nom;
do
{
puts («——————————————————«);
puts (» Viberete punkt menu»);
puts («1 — Sredniy bally studentov»);
puts («2 — Informaciya o zadannom studente»);
puts («3 — Sortirovka po ubivaniyu srednego balla»);
puts («4 — Vivod studentov imeyushih srednii ball ne nize 4»);

puts («5 — vivod studentov imeyushih dwoiki»);
puts («6 — Vixod»);
puts («——————————————————-«);
nom = getche();
switch (nom)
{ case ‘1’:PechTab(tab,n); break;
case ‘2’:Stud(tab,n); break;
case ‘3’:SortTab(tab,n); break;
case ‘4’:Pech4(tab,n);break;

case ‘5’:PechSt2(tab,n);break;
case ‘6’:break;
default: puts («\nnugno vvesti nomer on 1 do 3»);
}
if (nom != ‘6’)
{ puts(«\nDlya prodolgeniya nagmite lyubuyu klavishu»);
getch();
}
}
while (nom != ‘6’);
}

Поделиться в соц. сетях

Опубликовать в Google Plus
Опубликовать в Facebook
Опубликовать в Одноклассники

Categorised as: Заметка


Добавить комментарий

Ваш адрес email не будет опубликован.

*