Создание базы данных
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
е, им будет присваиваться значение количества строк структурных массивов.
void scantab() // Процедура чтения таблиц
{
int i,j,z;
// фаил открывается для чтения с дозаписью
Inp=fopen ("tab1.rd", "r+");=0;
//Чтение первой таблицы идет пока файл не достигнет конца
while (!feof(Inp))
{(Inp, "%s", &a[i].nomer);(Inp, "%s", &a[i].fam);(Inp, "%s", &a[i].im);(Inp, "%s", &a[i].och);(Inp, "%s", &a[i].pol);(Inp, "%s", &a[i].gor);(Inp, "%s", &a[i].ulic);(Inp, "%s", &a[i].dk);(Inp, "%s", &a[i].tel);(Inp, "%s", &a[i].staj);(Inp, "%s", &a[i].rojd);(Inp, "%s", &a[i].obraz);(Inp, "%s", &a[i].ucheb);(Inp, "%s", &a[i].obteh);(Inp, "%d", &a[i].proek);(Inp, "%ld", &a[i].okl);(Inp, "%d", &a[i].deti);++;
};=i;=fopen ("tab2.rd", "r+"); i=0;
//Чтение второй таблицы идет пока файл не достигнет конца
while (!feof(Inp2))
{(Inp2, "%s", &b[i].fam);(Inp2, "%s", &b[i].im);(Inp2, "%s", &b[i].och);(Inp2, "%s", &b[i].raz);(Inp2, "%s", &b[i].tip);(Inp2, "%d", &b[i].nden);(Inp2, "%d", &b[i].nmes);(Inp2, "%d", &b[i].ngod);(Inp2, "%d", &b[i].kden);(Inp2, "%d", &b[i].kmes);(Inp2, "%d", &b[i].kgod);(Inp2, "%ld", &b[i].eff);(Inp2, "%s", &b[i].tef);++;
};=i;
} printlist () // процедура вывода на экран списка сотрудников
{i;(i=0; i<s; i++)
{(6);("%s ", a[i].nomer);("%s ", a[i].fam);("%s ", a[i].im);("%s", a[i].och); textcolor (9);(50, i+1); cprintf ("Kol-vo proektov : %d\n\r", a[i].proek);
}
} swapb(int &j) //процедура меняющая элементы местами в структурном массиве b;
{
q=b[j];
b[j]=b[j+1];
b[j+1]=q;
}
void swapa(int &j) //процедура меняющая элементы местами в структурном массиве a;
{=a[j];[j]=a[j+1];[j+1]=z;
} sort1() // Процедура первого запроса
{i,j;(10);("Sortirovka po ulicam progivaniya !!!\n\n\r");(i=0; i<s; i++)
for (j=0; j<(s-1); j++)
// сортировка методом пузырька в алфавитном порядке
if (strcmp(a[j].ulic, a[j+1].ulic)>0) swapa(j);(i=0;i<s;i++)
{
textcolor (6);
cprintf ("%s ", a[i].nomer);
printf ("%s ", a[i].fam);
printf ("%s ", a[i].im);
printf ("%s", a[i].och); textcolor (9);
gotoxy (50, i+3); cprintf ("%s\n\r", a[i].ulic);
}
} sort2() // Процедура второго запроса
{i,j=3;w[10];(10);("Vvedite Uchebnoe zavedinie (Primer: MGOU) : ");("%s", &w);(11);();(10);("Sotridniki okonchivshie %s !!!\n\n\r", w);(i=0; i<s; i++)
if (strcmp(a[i].ucheb,w)==0) //сравнение названия учебного заведения с нами введенным
{
textcolor (6);
cprintf ("%s ", a[i].nomer);
printf ("%s ", a[i].fam);
printf ("%s ", a[i].im);
printf ("%s", a[i].och); textcolor (9);
gotoxy (50, j++); cprintf ("%s\n\r", a[i].ucheb);
}
} sort3() // Процедура третьего запроса
{i,j=1,x;=3;(10);("Sotrudniki imeyushie effect ot razrabotok > 100000 p. !!!\n\n\r");(i=0; i<k; i++)
if (b[i].eff>=100000)
{
textcolor (6);
cprintf ("%d) ",j++);
printf ("%s ", b[i].fam);
printf ("%s ", b[i].im);
printf ("%s\t", b[i].och);
gotoxy (50, x); printf ("Effect = %ld p.\n\t", b[i].eff);
textcolor (9);
cprintf ("Nazvanie Proekta/Razrabotki : ");
cprintf ("%s\n\n\r", b[i].raz); x=x+3;
}
}
void sort4() // Процедура третьего запроса
{
int i,j,l;e;(10);("Sortirovka po sumarnomu effektu !!!\n\n\r");(i=0; i<k; i++)
for (j=0; j<(k-1); j++)
if (strcmp(b[j].fam, b[j+1].fam)<0) swapb (j);=0; j=0;(i<k)
{
e=b[i].eff;
i++;
{
// счетчик суммарного эффекта
while (strcmp(b[i].fam, b[i-1].fam)==0 &&
strcmp(b[i].im, b[i-1].im)==0 &&
strcmp(b[i].och, b[i-1].och)==0)
{
e=e+b[i].eff;
i++;
}
b[j]=b[i-1]; b[j].eff=e; j++; l=j;
}
}=0;(i=0; i<l; i++)
for (j=0; j<(l-1); j++)
// сортировка суммарного эффекта в порядке возрастания
if (b[j].eff<b[j+1].eff) swapb(j);(i=0; i<l; i++)
{
printf ("%s ", b[i].fam);
printf ("%s ", b[i].im);
printf ("%s", b[i].och);
textcolor (9); gotoxy (50, i+3); cprintf ("Summarniy Effect = %ld p.\n\r", b[i].eff);
}
}dobsotr()
{i;(10);("Dobavleniennie Sotridnika !!!\n\n\r");("Tabelniy nomer sotrudnika (Primer: #001) : ");("%s", &a[s].nomer);(Inp, "\n%s ", a[s].nomer);("Familia : ");("%s", &a[s].fam);(Inp, "%s ", a[s].fam);("Name : ");("%s", &a[s].im);(Inp, "%s ", a[s].im);("Ochestvo : ");("%s", &a[s].och);(Inp, "%s ", a[s].och);("Pol sotrudnika (m/g): ");("%s", &a[s].pol);(Inp, "%s ", a[s].pol);("Gorod v kotorom progivaet sotrudnik (Primer: Cheboksari) : ");("%s", &a[s].gor);(Inp, "%s ", a[s].gor);("Ulica na kotoroy progivaet sotrudnik (Primer: Afanas'eva) : ");("%s", &a[s].ulic);(Inp, "%s ", a[s].ulic);("Nomer doma/Kvartira (Primer: 16/23) : ");("%s", &a[s].dk);(Inp, "%s ", a[s].dk);("Domashniy telefon (Primer: 87-98-01) : ");("%s", &a[s].tel);(Inp, "%s ", a[s].tel);("Staj Raboti (Primer: 5-let) : ");("%s", &a[s].staj);(Inp, "%s ", a[s].staj);("Data rojdeniya (Primer: 20.10.1980) : ");("%s", &a[s].rojd);(Inp, "%s ", a[s].rojd);("Obrazovanie (Primer: Visshee-teh) : ");("%s", &a[s].obraz);(Inp, "%s ", a[s].obraz);("Kakoe uchebnoe zavedenie okonchil (Primer: MGOU) : ");("%s", &a[s].ucheb);(Inp, "%s ", a[s].ucheb);("Oblast' tehniki : ");("%s", &a[s].obteh);(Inp, "%s ", a[s].obteh);("Kolichestvo proektov : ");("%d", &a[s].proek);(Inp, "%d ", a[s].proek);("Oklad : ");("%ld", &a[s].okl);(Inp, "%ld ", a[s].okl);("Kolichestvo detey : ");("%d", &a[s].deti);(Inp, "%d", a[s].deti);
if (a[s].proek>0)
{
textcolor (10);
cprintf ("\n\n\Opisanie Proekta ili razrabotki !!!\r");
for (i=0; i<a[s].proek; i++)
{
fprintf (Inp2, "\n%s ", a[s].fam);
fprintf (Inp2, "%s ", a[s].im);
fprintf (Inp2, "%s ", a[s].och);
printf ("\n\nNaimenovanie %d-ogo proekta ili razrabotki:\n(Vvoditsa_bes_probelov): ",i+1);
scanf ("%s", &b[k].raz);
fprintf (Inp2, "%s ", b[k].raz);
printf ("Tip (Proekt ili Razrabotka) : ");
scanf ("%s", &b[k].tip);
fprintf (Inp2, "%s ", b[k].tip);
printf ("Data nachala sozdaniya proekta (Primer: 20 11 1999) : ");
scanf ("%d", &b[k].nden);
fprintf (Inp2, "%d ", b[k].nden);
scanf ("%d", &b[k].nmes);
fprintf (Inp2, "%d ", b[k].nmes);
scanf ("%d", &b[k].ngod);
fprintf (Inp2, "%d ", b[k].ngod);
printf ("Data konca sozdaniya proekta (Primer: 01 10 2000) : ");
scanf ("%d", &b[k].kden);
fprintf (Inp2, "%d ", b[k].kden);
scanf ("%d", &b[k].kmes);
fprintf (Inp2, "%d ", b[k].kmes);
scanf ("%d", &b[k].kgod);
fprintf (Inp2, "%d ", b[k].kgod);
printf ("Polucheniy effekt v rub. : ");
scanf ("%ld", &b[k].eff);
fprintf (Inp2, "%ld ", b[k].eff);
printf ("Tip effecta (Tehnicheskiy ili Ekonomicheskiy) : ");
scanf ("%s", &b[k].tef);
fprintf (Inp2, "%s", b[k].tef);
k=k+1;
}
}
fcloseall (); // закрытие файлов для обновления списка после его перезаписи (добавления)
return 0;
}
void delsotr() // Процедура удаления из спис