Форум программистов, компьютерный форум CyberForum.ru

Корректировать функцию - C++

Восстановить пароль Регистрация
 
AI\EKCAH^P
 Аватар для AI\EKCAH^P
104 / 101 / 20
Регистрация: 18.05.2009
Сообщений: 201
06.06.2010, 16:42     Корректировать функцию #1
Используя функции и режим меню, создать файл из 10 структур, просмотреть файл, добавить в файл новую информацию и, применяя режим прямого доступа.Структура имеет вид: фамилия студента, номер зачетной книжки, 4 оценки за экзамен. Выводить информацию о всех двоечниках и корректировать ее.

Программу сделал,тока корректировать функцию ,которая выводит информацию о двоечниках неполучаеться.Изменения вводишь ,а потом прога зависает. Посмотрите ,где ошибка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
void find(FILE*tf)
{
char c;
int s;
long int i;
tf=fopen("file.dat","r+b");
puts(" Esli nado informaciya o dvoi4nikah vvedite 2: ");
scanf("%d",&s);
fread(&sp,sizeof(sp),1,tf);
 while (!feof(tf))
  {
   if ((sp.oc1==s)||(sp.oc2==s)||(sp.oc3==s)||(sp.oc4==s))
    {
    printf("\n familiya %s\n nomer za4etnoy knigki %d  ",sp.name,sp.number);
    printf("\n 1-ya ocenka:%d\n 2-ya oceka:%d\n 3-ya ocenka:%d\n 4-ya ocenka:%d\n ",sp.oc1,sp.oc2,sp.oc3,sp.oc4);
    printf("\n Izmenity/Next ? y/n");
    c=getch();
    if (c=='y')
     {
      printf("\n 1-ya ocenka: ");
      scanf("%d",&sp.oc1);
      printf(" 2-ya ocenka: ");
      scanf("%d",&sp.oc2);
      printf(" 3-ya ocenka: ");
      scanf("%d",&sp.oc3);
      printf(" 4-ya ocenka: ");
      scanf("%d",&sp.oc4);
      printf(" nomer za4etnoy knigki: ");
      scanf("%d",&sp.number);
      i=sizeof(sp);
      fseek(tf,-i,1);
      fwrite(&sp,sizeof(sp),1,tf);
     }
    }
  fread(&sp,sizeof(sp),1,tf);
  }
fclose(tf);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2010, 16:42     Корректировать функцию
Посмотрите здесь:

C++ Написать функцию, которая могла бы передать значение в другую функцию
как мне функцию одного класса в функцию базового вставить C++
C++ Напишите функцию, которая вычисляет сигнум-функцию числа
C++ Написать функцию, которая вычисляет объем и площадь поверхности параллелепипеда, описать функцию IsSquare(K)
не могу разобраться как написать функцию сортировки и исправить функцию добавления в стек C++
C++ Задачка на массивы (описать функцию случайной генерации элементов массива, а за тем логическую функцию)
C++ рекурсия.написать функцию,принимающую указ. на другую функцию, осуществл. некую операцию с переданным х
Запилить функцию-аллюзию на функцию switch(), принимающую буквенные значения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.06.2010, 03:37     Корректировать функцию #2
C
1
scanf("%d", &sp.oc1);
C
1
scanf("%d%*c", &sp.oc1);
это поглотит Enter
там для всех вводов
Alina_1986
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 28
06.01.2012, 20:32     Корректировать функцию #3
Здравствуйте!
Не могли бы Вы выложить полный листинг данной программы???!

Заранее спасибо!
Yandex
Объявления
06.01.2012, 20:32     Корректировать функцию
Ответ Создать тему
Опции темы

Текущее время: 21:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru