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

ФПД - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибочка маленькая и не понятная((( http://www.cyberforum.ru/cpp-beginners/thread227426.html
Исправите ошибку.За ране спасибо! #include "stdafx.h" #include <conio.h> #include <iostream> #include <math.h> using namespace std; int _tmain(int argc, _TCHAR* argv) {double a,b,S; cout<<"Vedite Vneshniy radiys kolca";
C++ Быстрая сортировка содержимого больших файлов Здравствуйте. Поставлена такая задача - отсортировать содержимое файла. Человек сразу сказал, что файлы могут быть больших размеров. Поэтому решил производить сортировку напрямую в файле. Собственно, алгоритм сначала написал под массив - все работало замечательно, а когда переписал под работу с файлом - перестал корректно сортировать. К примеру, исходная последовательность символов... http://www.cyberforum.ru/cpp-beginners/thread227389.html
C++ Определить, стоят ли цифры числа в натуральном ряду через одну
Задача 4.22 Составить функцию, которая для целого числа определяет, стоят ли его цифры в натуральном ряду через одну. В вызывающей функции main() организовать ввод целого числа N из диапазона от 1 до 9 и среди всех N-значных целых чисел найти числа, запись которых состоит из цифр, стоящих в натуральном ряду через одну. Вывести их на экран и подсчитать количество таких чисел. В вызывающей...
от чего зависит скорость выполнения программы C++
от чего больше всего зависит скорость выполнения программы?
C++ не пойму в чем ошибка в классе http://www.cyberforum.ru/cpp-beginners/thread227376.html
Всем привет, вот возник вопрос про ООП, написал два класса, один из которых унаследует другой, в обоих есть конструктор, но они отличаются интерфейсом, VC++ выдаешь ошибку, жалуется на конструктор подкласса, насколько известно нельзя конструкторы объявлять виртуальными, тогда как решить эту проблему? //--------------------------------------------------------------------------- #pragma hdrstop...
C++ Исправьте ошибки в программе( C++ ) #include <iostream> #include <string.h> #include <stdio.h> #include <math.h> #include <clocale> using namespace std; int main() { setlocale(LC_ALL,"Russian"); подробнее

Показать сообщение отдельно
Takitosia
 Аватар для Takitosia
0 / 0 / 0
Регистрация: 11.01.2011
Сообщений: 3
11.01.2011, 22:10     ФПД
люди добрые, никак не могу понять, почему программа работает не верно.

Задание: Записать в файл данные о сдаче 1-го экзамена в учебной группе.Структура записи : Фамилия студента, оценка.Для примера - 5 студентов.Далее у студента, фамилия которого задается, ввести новую оценку,затем рассчитать средний балл в группе.

Ошибка в том, что при замене переписывается не одна строка, а все последующе.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<stdio.h>
#include<string.h>
#include<conio.h>
typedef struct
 {char ln[30];
 int ball;
 }stud;
 
int main (void)
 {
 FILE *f,*n,*z;
 stud st;
 int i=0,e=0,k,sum=0,q=0,newball,written=0;
 char a[30];
 clrscr();
 f=fopen("j:\\TC\\rez.dat","wb+");
 while(i<5)
  {printf("Введите фамилию: \n");
  for(e=0;e<30;e++)
  st.ln[0]='\0';
  do
   {gets(st.ln);}
   while(!st.ln[0]);
   printf("Ведите оценку: \n");
   scanf("%d",&st.ball);
   fwrite(&st,sizeof(st),1,f);
   i++;
  }
  fclose(f);
 n=fopen("j:\\TC\\rez.dat","r+b");
  z=fopen("j:\\TC\\rez1.dat","wb+");
  printf("введите фамилию,чтобы изменить балл:\n");
  do
  {gets(a);}
  while(!*a);
  printf("введате оценку:\n");
  scanf("%d",&newball);
  fseek(n,0,SEEK_END);
  k=ftell(n)/sizeof(st);
  fseek(n,0,SEEK_SET);
  for(i=0;i<k;i++)
   {
   fread(&st,sizeof(st),1,n);
   if(strcmp(st.ln,a)==0)
    {
    st.ball=newball;
    fseek(n,-sizeof(st),SEEK_CUR);
    fwrite(&st,sizeof(st),1,n);
    fflush(n);
    written=1;
    }
   fwrite(&st,sizeof(st),1,z);
   printf("%s %d\n",st.ln,st.ball);
   sum+=st.ball;
   q++;
   }
 if(written==0)
 printf("неверная фамилия\n");
 printf("средний балл:%.2f\n",(float)sum/q);
 fclose(n);
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru