Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

1nb0lz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define K 50
 
struct BD
    {  
      char famil[15];  
      char imya[12];  
      char otches[20];  
      char data[8];  
      char pol[8];  
      char prof[20];  
      char obraz[20];  
      char staj[20];  
      char koord[50];  
      char zarpl[10];  
    }
bzr[K]; //Создание БД из 50 человек
 
struct BD AddOneRec (void) //Ввод данных на 1-го человека
{
    char s[5];
    struct BD chel;
    printf ("Familiya: ");
    scanf ("%s",&chel.famil);
    printf ("Imya: ");
    scanf ("%s",&chel.imya);
    printf ("Otchestvo: ");
    scanf ("%s",&chel.otches);
    printf ("Data rojdeniya: ");
    scanf ("%s",&chel.data);  
    printf ("Pol: ");
    scanf ("%s",&chel.pol);
    printf ("Professiya: ");
    scanf ("%s",&chel.prof);
    printf ("Obrazovanie: ");
    scanf ("%s",&chel.obraz);
    printf ("Staj: ");
    scanf ("%s",&chel.staj);
    printf ("Kontaktnye koordinaty: ");
    scanf ("%s",&chel.koord);
    printf ("Trebovaniya k zarabotnoy plate: ");
    scanf ("%s",&chel.zarpl);
    return chel;
}
 
void Add (void) //Меню добавления
{
    int kol, i;
    system("cls");
    printf ("::Dabavlenie zapisi::\n---------------------\n");
    kol=0;
    for (i=0;i<K;i++)
    {
        if (strlen(bzr[i].famil)>0) //Высчитываем текущее кол-во записей
            kol++;                    
    }
    bzr[kol]=AddOneRec(); //Добавляем еще одну
    printf ("\nZapis' dobavlena");
    getch ();
}
 
void OutOneRec (struct BD bzr) //Вывод 1-ой записи
{    
    printf ("Familiya: %s\n",&bzr.famil);
    printf ("Imya: %s\n",&bzr.imya);
    printf ("Otchestvo: %s\n",&bzr.otches);
    printf ("Data rojdeniya: %s\n",&bzr.data);  
    printf ("Pol: %s\n",&bzr.pol);
    printf ("Professiya: %s\n",&bzr.prof);
    printf ("Obrazovanie: %s\n",&bzr.obraz);
    printf ("Staj: %s\n",&bzr.staj);
    printf ("Kontaktnye koordinaty: %s\n",&bzr.koord);
    printf ("Trebovaniya k zarabotnoy plate: %s\n",&bzr.zarpl);
}
 
void EditOneRec (void) //Меню редактирования
{
    int i, flag;
    char pfam[15];
    system("cls");
    printf ("::Ispravlenie zapisi::\n---------------------\n");
    printf ("Vvedite familiyu bezrabotnogo dlya poiska:\n");
    scanf ("%s",&pfam);
    flag=0;
    for (i=0;i<K;i++)
        if (strcmp(bzr[i].famil,pfam)==0) //Если фамилии совпали
        {    
            flag=1;
            printf ("\n");
            OutOneRec (bzr[i]);
            printf ("\nVvedite novye dannye\n\n");
            bzr[i]=AddOneRec();
            printf ("\nZapis' ispravlena\n");
        }
    if (flag==0)
        printf ("Zapis' ne naydena!!!");
    getch ();
}
 
void ClearOneRec (void) //Меню удаления
{
    int i, flag;  
    char pfam[15];
    system("cls");
    printf ("::Udalenie::\n------------\n");
    printf ("Vvedite familiyu udalyaemogo: ");  
    scanf ("%s",&pfam);
    flag=0;  
    for (i=0;i<K;i++)
        if (strcmp(bzr[i].famil,pfam)==0) //Если фамилии совпали, то удаляем со смещением
        {    
            flag=1;  
            while (i<K-1)
            {
                bzr[i]=bzr[i+1];
                i++;
            }
            printf ("Zapis' udalena");
            break;
        }        
    if (flag==0)     
        printf ("Zapis' ne naydena!!!");
    getch ();
}
 
void OutBD (void) //Меню вывода
{
    int i;
    system("cls");
    printf ("::Vyvod::\n---------\n");
    for (i=0;strlen(bzr[i].famil)>0;i++) //Цикл вывода всей БД
    {    
        OutOneRec (bzr[i]);
        getch ();
        printf("--\n");
    }
    printf ("Vyvod zavershyon\n");
    getch ();
}
 
void Out (void) //Меню информации об одном без-ом
{
    int i, flag;
    char pfam [15];
    system("cls");
    printf ("::Informaciya::\n---------------\n");
    printf ("Vvedite familiyu bezrabotnogo dlya poiska:\n");
    scanf ("%s",&pfam);
    flag=0;
    for (i=0;i<K;i++)
        if (strcmp(bzr[i].famil,pfam)==0) //Если фамилии совпали
        {
            flag=1;
            printf ("\n");
            OutOneRec (bzr[i]);
        }
    if (flag==0)  
        printf ("Zapis' ne naydena!!!");
    getch ();
}
 
void main (void) //Главное меню
{
    int men;  
    do
    {    
        system("cls");
        printf ("::MENU::\n---------------\n");
        printf ("1. Dobavit'\n");
        printf ("2. Izmenit'\n");
        printf ("3. Udalenie\n");
        printf ("4. Vyvod\n");
        printf ("5. Informaciya o bezrabotnom\n");
        printf ("0. Vyhod\n");
        printf ("---------------\n");
        printf (">>");        
        scanf ("%d",&men); //Ввод комманды  
        switch (men)  
        {
            case 1:
                Add ();
                break;
            case 2:
                EditOneRec ();
                break;
            case 3:
                ClearOneRec ();
                break;                
            case 4:
                OutBD ();
                break;
            case 5:
                Out ();
                break;
            case 0:
                break;
            default:  
                printf("Oshibka! Povtorite vvod");
                getch();
        }
    }
    while (men!=0);
}

Всего записей: 17 | Зарегистр. 17-09-2006 | Отправлено: 02:01 20-04-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru