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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2011, 13:58   #1
Ovis
Пользователь
 
Регистрация: 02.04.2011
Сообщений: 15
Восклицание Бинарные файлы. Функция fwrite.

Уважаемые программисты! Поменяйте, плз, функцию "fprintf" в "case 2" на функцию "fwrite". "Case 2" должен записывать данные в бинарный файл. Заранее благодарен.
Код:
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <windows.h>
#include <conio.h>

char bufRus[256];
char* Rus(const char*text)
{
 CharToOem(text,bufRus);
 return bufRus;
}

main()
{
  struct data
    {
        int day;
        int month;
        int year;
        int day2;
        int month2;
        int year2;

    };
    data dat[20];
    struct istoriya
    { 
        char       fio[50];                  // FIO  
	    char   pasport[40];                  // pasportnie dannie               
	    char   diagnoz[20];                  // Diagnoz         
	    struct        data;                  // data 
	    struct      osmotr;                  // Data osmotra
	    char    zapis[100];                  // Zapis' ob osmotre
    };
    istoriya ist[20];                                                            
  int i, n, k, p, g, x, f, c;
  char y[15];
  FILE *f1,*rf;
  
    
  
                puts(Rus("Введите число записей! (до 20)"));
                scanf ("%d",&n);
                p=1;
                for(i=0; i<n; i++)
                {
                puts("Vvedite FIO");
                fflush(stdin);
                gets(ist[i].fio);
                puts("Vvedite pasportnie dannie");
                fflush(stdin);
                gets(ist[i].pasport);
                puts("Vvedite diagnoz");
                fflush(stdin);
                gets(ist[i].diagnoz);
                puts("Data postupleniya: den' mesyac god");
                fflush(stdin);
                scanf("%d %d %d", &dat[i].day, &dat[i].month, &dat[i].year);
                puts("Data osmotra: den' mesyac god");
                fflush(stdin);
                scanf("%d %d %d", &dat[i].day2, &dat[i].month2, &dat[i].year2);
                puts("Zapis' ob osmotre");
                fflush(stdin);
                gets(ist[i].zapis);
                fflush(stdin);
                p++;
                }
    k = 0; 
    while(k!=8)
   {
        system("cls");
     puts(Rus(" \n              Выберите пункт меню  \n"));
     puts(Rus(" 1 - Создание бинарного файла                        "));
     puts(Rus(" 2 - Добавление записи в файл по номеру              "));
     puts(Rus(" 3 - Вывод таблицы                                   "));
     puts(Rus(" 4 - Изменение ФИО больного                          "));
     puts(Rus(" 5 - Вывод всех сведений о больных с одинаковым диагнозом "));
     puts(Rus(" 6 - Удаление файла                                  "));
     puts(Rus(" 7 - Выход                                           "));
     
     scanf("%d",&k);
     
     switch (k)
     {
            case 1: 
            [...]
            break;
            case 2:
                system("cls");
                fflush(stdin);
                f=0;     
                while(f==0)
                {
        
                    puts(Rus("Введите номер больного, которого вы хотите добаить в файл\n"));
                    scanf("%d",&g);
                    if(g-1>=0&&g-1<n)
                    {
                        fprintf(f1,"|%20s|%9s|%9s|  %2d.%2d.%2d  |   %2d.%2d.%2d   |%8s|\n", ist[i].fio, ist[i].pasport, ist[i].diagnoz, dat[i].day, dat[i].month, dat[i].year, dat[i].day2, dat[i].month2, dat[i].year2, ist[i].zapis);
                        fprintf(f1,"\n");
                        puts(Rus("Запись успешно добавлена в файл 1.txt\n"));
                        puts("\n");
                        f=1;                        
                    }
                    else puts(Rus("Такого номера в нет, либо номер введён неправильно"));
                }
                getch();
            break;
            case 3:
            [...]
            break;
            case 4:
               [...]
            break;
            
            case 5:
                [...]      
            break;  
            
            case 6:
                [...]
            break;
            default:  
                k=8;
                
            break;
        }
    }
    fclose(f1);
    return 0;
}
Ovis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарные файлы и C# WOWka777 Общие вопросы .NET 4 03.09.2010 18:08
Бинарные файлы Kazik Помощь студентам 5 06.06.2010 21:51
Бинарные файлы С++ Builder ATL Помощь студентам 4 19.11.2009 21:24
Бинарные файлы VorobeY1326 Общие вопросы C/C++ 12 09.05.2009 21:00
С++ Бинарные файлы EwwwA Общие вопросы C/C++ 0 20.04.2009 17:32