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

Поясните пожалуйста - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Статический поток fstream http://www.cyberforum.ru/cpp-beginners/thread872475.html
Нужно создать класс, в котором будет статическое поле класса fstream (для записи и чтения из файла). С помощью статического метода поток нужно открыть. Поток не должен закрываться на протяжении всего времени работы программы. Так же, нужен метод который будет сбрасывать указатель файла на 0. Все задание скидывать не стал, но суть я думаю понятна. Код который я написал не хочет работать....
C++ С С на с++ #include<stdio.h> #include<windows.h> #define ISWR(c) (c>='А'&&c<='я'||c=='ё'||c=='Ё'||c==' ') #define ISB(c) (c>='А'&&c<='Я'||c=='Ё') int main(){ char text, *p=NULL; gets(text); OemToChar(text, text); for(p=text; *p; ++p){ http://www.cyberforum.ru/cpp-beginners/thread872474.html
Код написан,нужна небольшая корректировка.Массивы C++
Задана матрица размером N×M, N,M<50. Получить массив B, присвоив его k-му элементу значение 1, если элементы k–й строки матрицы упорядочены по убыванию, и значение 0 в противном случае.Постоянно получается ответ 407227044 и так далее.Не знаю почему.Надеюсь на вашу помощь,спасибо. #include <stdio.h>0 #include <stdlib.h> #include <iostream> int main () { int m,n,i,j,s;
подключение gl C++
Добрый день. Столкнулся с весьма забавной проблемой. Пытаюсь подключить GL, но ничего не получается. При компиляции отладчик ругается что куча ошибок в gl.h. Код: #include <iostream> #include <GL/gl.h> #include <GL/glu.h> #include <Box2D\Box2D.h> #include <SDL\include\SDL.h>
C++ Описать функцию PowerA234(A) На языке си . Builder http://www.cyberforum.ru/cpp-beginners/thread872444.html
Буду очень признательна если поможете с данной задачей:-) На языке Си Описать функцию PowerA234(A), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени соответственно в переменных B, C и D (A — входной, B, C, D — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти вторую, третью и четвертую степень пяти данных чисел.
C++ Определить номера строк матрицы, все элементы которых четны Здравствуйте. Можете помочь написать и розобрать програмку на С++. В целочисленной квадратной матрицы (многомерного вектора 5х5) определить номера строк (значения векторов указателей на вектор), все элементы которых парные, найти суммы элементов этих строк. подробнее

Показать сообщение отдельно
perrcox
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 5
20.05.2013, 23:57     Поясните пожалуйста
Уважаемые, прокомментируйте пожалуйста этот вариант работы, что к чему...
заранее благодарю

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
char *Rus(const char *text);
const int l_name=20, l_ses=5;
struct Student{
char name[l_name+1];
char ses[l_ses+1];
int group;
float av;
};
int compare(const void *student1, const void *student2);
void recode(char *dest, char *source);
 
int main(int argc, char* argv[])
{Student student;
FILE *fin=fopen("dbase.txt", "rt");
if (!fin) {puts(Rus("Невозможно открыть файл")); system("pause"); getch();
return 0;}
FILE *fout=fopen("dbase.bin", "wb");
if (!fout) {puts(Rus("Невозможно открыть файл")); system("pause"); getch();
return 0;}
 
char name[l_name+1];
char ses[l_ses+1];
 
int ses1[5], sum;
while(!feof(fin)){
sum=0;
fgets(student.name, l_name, fin);
fscanf(fin, "%i%s\n", &student.group, &student.ses);
int code;
for(int i=0; i<5; i++){
code=(int)student.ses[i];
switch(code){
case 49: {ses1[i]=1; break;}
case 50: {ses1[i]=2; break;}
case 51: {ses1[i]=3; break;}
case 52: {ses1[i]=4; break;}
case 53: {ses1[i]=5; break;}
}
sum+=ses1[i];}
student.av=(float)sum/5;
 
recode(name, student.name);
recode(ses, student.ses);
printf("%s %i %s %.2f\n", name, student.group, ses, student.av);
 
fwrite(&student, sizeof(Student), 1, fout);
}
puts("\n");
fclose(fin);
puts(Rus("Бинарный файл записан\n"));
 
fseek(fout, 0, SEEK_END);
int n_record=ftell(fout)/sizeof(Student);
fclose(fout);
 
FILE *fbin=fopen("dbase.bin", "rb");
if (!fbin) {puts(Rus("Невозможно открыть файл для чтения\n")); system("pause");
getch(); return 0;}
Student *STUDENT=new Student[n_record];
fseek(fbin, 0, SEEK_SET);
fread(STUDENT, sizeof(Student), n_record, fbin);
fclose(fbin);
 
int i;
puts(Rus("Упорядоченный по возрастанию среднего бала массив"));
qsort(STUDENT, n_record, sizeof(Student), compare);
for(i=0; i<n_record; i++){
recode(name, STUDENT[i].name);
recode(ses, STUDENT[i].ses);
printf("%s %i %s %.2f\n", name, STUDENT[i].group, ses, STUDENT[i].av);}
 
int j=0; puts(Rus("\nПоиск ударников:"));
bool not_found=true;
for (i=0; i<n_record; i++){
int k=1;
for(j=0; j<l_ses; j++)
if (STUDENT[i].ses[j]=='2' || STUDENT[i].ses[j]=='3') k=0;
if(k!=0){recode(name, STUDENT[i].name); not_found=false;
printf("%s %i\n", name, STUDENT[i].group);}
}
if(not_found) puts(Rus("Ударников нет\n"));
 
system("pause");
getch();
        return 0;
}
//---------------------------------------------------------------------------
  char bufRus[256];
  char *Rus(const char *text){
  CharToOem(text, bufRus);
  return bufRus;             }
//---------------------------------------------------------------------------
  int compare(const void *student1, const void *student2){
  int p;
  if ( ((Student *) student1)->av < ((Student *) student2)->av) p=-1;
  else if ( ((Student *) student1)->av==((Student *) student2)->av) p=0;
  else p=1;
  return p;                                              }
//---------------------------------------------------------------------------
  void recode(char *dest, char *source){
  strcpy(dest, source);
  CharToOem(dest, dest);
                                       }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru