Создание базы данных

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



е, им будет присваиваться значение количества строк структурных массивов.

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() // Процедура удаления из спис