Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2016, 23:10   #1
karisha98
Пользователь
 
Регистрация: 18.10.2015
Сообщений: 10
По умолчанию Создать базу данных о студентах в виде «Фамилия, имя, группа, дата рождения, средний рейтинг»

Создать файл («БД») и выполнить его обработку. Обработка заключается в выборе из файла и выдаче на экран требуемой информации.
Добавление введенных данных к существующей БД и возвращение содержимого базы, отсортированного по среднему рейтингу.

есть код наподобе, но у меня он не рабочий
Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct books
    {
    char atr[14], nm[14], izd[9];
    int gizd,kpag, cn;
    } bks;
void add()
    {
    FILE *f;
    int select;
    printf("1 - sozdat novyi fail\n2 - dobavit v suchestvuyshii fail \n");
    scanf("%i",&select);
    if (select == 1 ) 
        {
        if((f=fopen("database.dat","w")) == NULL) printf("Невозможно открыть файл\n");
        }
    if (select == 2 ) 
        {
        if((f=fopen("database.txt","a+")) == NULL) printf("Невозможно открыть файл\n");
        }   
        books bks;
        int n;
        printf("Vvedite kolichestvo dobavlyaemix zapisei : ");
        scanf("%i",&n);
        for(int i=0;i<n;i++)
            {
            printf("Avtor : ");
            scanf("%s",&bks.atr);
            printf("Nazvinie : ");
            scanf("%s",&bks.nm);
            printf("Izdatelstvo : ");
            scanf("%s",&bks.izd);
            printf("God izdania : ");
            scanf("%i",&bks.gizd);
            printf("Chislo stranic : ");
            scanf("%i",&bks.kpag);
            printf("stoimost : ");
            scanf("%i",&bks.cn);
            fwrite(&bks,sizeof(books),1,f);
            printf("   +++++++++++   \n");
            }
        fclose(f);
    }
void show()
    {
    FILE *f;
    if((f=fopen("database.dat","r")) == NULL) printf("Невозможно открыть файл\n");
    printf("+-------------------------------------------------------------------------+\n");
    printf("|    Avtor     |   Nazvinie  |Izdatelstvo|God izdania|Chislo stranic|Stoimost|\n");
    printf("+--------------+-------------+-----------+-----------+--------------+--------+\n");
    while(!feof(f))
        {
        if(fread(&bks,sizeof(books),1,f))
        printf("|%13s |%12s |%11s |%10i |9i |%8i |\n",bks.atr,bks.nm,bks.izd,bks.gizd,bks.kpag,bks.cn);
        }
    printf("+--------------------------------------------------------------------------+\n"); 
    fclose(f);                                              
    }
main()
{
char act[5];
int ac;
do
    {
    printf("add  - Dobavit dannie\nshow - vivod dannich\nexit - vihod\n");
    scanf("%s",&act);
    if (strcmp(act,"add") ==0) ac=1;
    if (strcmp(act,"show")==0) ac=2;
    if (strcmp(act,"exit")==0) ac=3;
    switch(ac)
        {
        case 1:add();break;
        case 2:show();break;
        case 3:break;
        }
    }while(ac!=3);

 }
karisha98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать базу данных «Видеопрокат». Запись базы данных содержит: №диска, название фильма, фамилия клиента, взявшего диска, количест kostyan199731 Паскаль, Turbo Pascal, PascalABC.NET 0 13.05.2015 19:43
Поиск учащихся школы, у которых совпадают имя и дата рождения 4ertovo4ka Паскаль, Turbo Pascal, PascalABC.NET 1 12.02.2015 08:09
информацию про больных(фамилия,имя,год рождения,диагноз, дата посл.посещения)Делфи 7 программирование Помощь студентам 0 03.12.2013 21:01
создать программу или базу данных в виде Учебно-методического комплекса, на языке делфи Натусик7 Помощь студентам 1 12.03.2013 13:38
создать типизированный файл, в который записать Фамилию, имя, возраст, средний бал, телефон учащегося. Alerq Паскаль, Turbo Pascal, PascalABC.NET 4 22.02.2012 09:34