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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2015, 17:48   #1
Dashbalzhin
Пользователь
 
Регистрация: 11.03.2015
Сообщений: 19
По умолчанию Структура

Здравствуйте!
задача такая:
Запись имеет вид: название вуза, число студентов, количество факультетов. Добавить в конец файла информацию о трех новых вузах и посчитать общее число студентов
Я создал файл и все получается. Но как добавить в конец записи информацию о трех новых вузах?
Dashbalzhin вне форума Ответить с цитированием
Старый 27.04.2015, 18:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Покажи код, который у тебя уже есть без добавлений.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2015, 21:34   #3
Dashbalzhin
Пользователь
 
Регистрация: 11.03.2015
Сообщений: 19
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>

struct tov 
{
  char nazvanie[50]; 
  char stud[20];
  int t;
} a;

void input(FILE *); // создание нового файла
void print(FILE *); // просмотр файла
void app(FILE *); // добавление в файл
void find(FILE *); // поиск и изменение

int main()
{
  char c;
  FILE *tf;
  
  while (1)
  { //clrscr();
    printf("\n");
    puts(" 1 - новый файл");
    puts(" 2 - просмотр файла");
    puts(" 3 - добавление в файл");
    puts(" 4 - поиск и изменение");
    puts(" 0 - выход");
    c=getch();
    switch(c)
    { 
      case '1':input(tf);break;
      case '2':print(tf);break;
      case '3':app(tf);break;
      case '4':find(tf);break;
      case '0':return 0;
        default : puts(" неверный режим");
    }
  }
}

void input(FILE *tf)
{ 
  char ch;
  tf=fopen("file1.dat","wb"); 
  
  do
  { 
    printf("\n название вуза: "); 
    scanf("%s",a.nazvanie);
    printf(" число студентов: "); 
    scanf("%f",&a.stud);
    printf(" количество факультетов: "); 
    scanf("%d",&a.t);
    fwrite(&a,sizeof(a),1,tf);
    printf("\n Закончить? y/n ");
    ch=getch();
  }
  while (ch != 'y');
  fclose(tf);
}

void print(FILE *tf)
{
  int i;

  tf=fopen("file1.dat","rb"); 
  i=1;
  fread(&a,sizeof(a),1,tf); 
  while (!feof(tf))
  { 
    printf("\n %3d название вуза %10s число студентов %6.2f количество факультетов %4d",i,a.nazvanie,a.stud,a.t);
    fread(&a,sizeof(a),1,tf);
    i++; 
  }
  getch();
}

Последний раз редактировалось Stilet; 27.04.2015 в 22:03.
Dashbalzhin вне форума Ответить с цитированием
Старый 27.04.2015, 22:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
void app(FILE *tf)
{ 
  tf=fopen("file1.dat","wb"); 
  fseek(tf,0,2); // Стать в конец файла
  fseek (tf, 0, 2);
    printf("\n название вуза: ");     scanf("%s",a.nazvanie);
    printf(" число студентов: ");    scanf("%f",&a.stud);
    printf(" количество факультетов: ");     scanf("%d",&a.t);

    fwrite(&a,sizeof(a),1,tf);

   fclose(tf);
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2015, 23:00   #5
Dashbalzhin
Пользователь
 
Регистрация: 11.03.2015
Сообщений: 19
По умолчанию

Спасибо большое))
Dashbalzhin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура DateTime, битовая структура prepare2die Помощь студентам 1 10.03.2015 13:32
Структура БД MasterK Помощь студентам 3 24.08.2012 17:48
структура на си(си++) Ислам Помощь студентам 10 29.06.2011 19:54
структура euhenia Помощь студентам 3 16.04.2010 22:25
Структура roknroll1 Помощь студентам 2 25.01.2010 18:45