C++. Записи.

Текст задания:1.Описать структуру с именем STUDENT, содержащую следующие поля: NAME - фамилия и инициалы; GROUP -номер группы; SES - успеваемость (массив из пяти элементов). 2.Написать программу, выполняющую следующие действия: 1) Ввод с клавиатуры данных в массив STUD1, состоящий из десяти структур типа STUDENT; 2) Записи должны быть упорядочены по возрастанию содержимого поля GROUP; 3) Вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0; если таких студентов нет , вывести соответствующее сообщение.Написал на Pascal, а вот на С++ не могу перевести, только начинаю с С++ работать.Помогите плиз Переделать в С++...Код на Pascal:
program laba_2;
uses crt;
const N=10;
type
student=record; name:string; group:integer; ses:array[1..5] of integer;
end;
var stud1:array[1..N] of student;
procedure input;
var i,j:integer;
begin for i:=1 to N do begin writeln('Введите фамилию и инициалы'); read(stud1[i].name); writeln('Введите номер группы'); read(stud1[i].group); for j:=1 to 5 do begin writeln('Введите успеваемость студента из 5 оценок'); read(stud1[i].ses[j]); end; end;
end;
procedure sort;
var
i,j,tmp:integer;
begin
for i:=n-1 downto 1 do for j:=1 to 5 do if stud1[j].group>stud1[j+1].group then begin tmp:=stud1[j].group; stud1[j].group:=stud1[j+1].group; stud1[j+1].group:=tmp; end;
end;
procedure output;
var i,k,j:integer; s:array[1..N] of real; r:real;
begin for i:=1 to N do s[i]:=0; for j:=1 to 5 do s[i]:=stud1[i].ses[j]+s[i]; k:=0; for i:=1 to N do if s[i]/5>4 then begin writeln('Фамилии студентов у которых средний балл > 4.0'); writeln('Искомый студент:'); writeln('Фамилия студента: ', stud1[i].name); writeln('Группа студента: ', stud1[i].group); for i:=1 to N do writeln('Средний балл студента: ', s[i]); inc(k); end; if k=0 then writeln('Таких студентов нет.');
end;
begin clrscr; input; sort; output; readkey;
end.
9 ответов

student=record; name:string; group:integer; ses:array[1..5] of integer; end;
struct student { string name; int group; int ses[5];//[0;4] };
//----------------------------
procedure sort;
void sort(){}
//----------------------------
writeln('Средний балл студента: ', s[i]);
std::cout<<"Средний балл студента: "<<s[i]<<endl;
//----------------------------
inc(k);
k++;
//----------------------------
const N=10;
const int N=10; OR #define N 10
И так по аналогии.


#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <time.h>
using namespace std;
// Задание:
/*ВАРИАНТ 1
1.Описать структуру с именем STUDENT ,содержащую следующие поля:
·	NAME - фамилия и инициалы;
·	GROUP -номер группы;
·	SES - успеваемость (массив из пяти элементов).
2.Написать программу , выполняющую следующие действия:
·	ввод с клавиатуры данных в массив STUD1,состоящий из десяти струк-
тур типа STUDENT;записи должны быть упорядочены по возрастанию
содержимого поля GROUP;
·	вывод на дисплей фамилий и номеров групп для всех студентов , вклю-
ченных в массив , если средний балл студента больше 4,0;
·	если таких студентов нет , вывести соответствующее сообщение.*/
struct student ()
{
string name;
int group;
int ses[5];//[0;4]
};
void input()
{	for (int i = 1; i < n; i++) {	cout<<endl<<"Vvedite FIO ";	cin>>stud1[i].name;	cout<<endl<<"Vvedite nomer gruppbl ";	cin>>stud1[i].group;	for (int j = 1; j<6; о++) {	cout<<endl<<"Vvedite yspevaemost iz 5 ozenok ";	cin>>stud1[i].name;	}	}	return;
}
void sort;
{	int tmp;	for (int i=n-1; i > n; i--) {	for (int j = 1; j<6; о++) {	if stud1[j].group>stud1[j+1].group {	tmp = stud1[j].group;	stud1[j].group = stud1[j+1].group;	stud1[j+1].group = tmp;	}	}	}	return;
}
void output()
{	for (int i = 1; i < n; i++) {	s[i] = 0;}	for (int j = 1; j < 6; j++) {	s[i] = stud1[i].ses[j]+s[i];}	k=0;	for (int i = 1; i < n; i++) {	if s[i]/5>4 {	cout<<endl<<"FIO y kotopblx cp 6all > 4:";	cout<<endl<< stud1[i].name;	cout<<endl<< stud1[i].group;	for (int j = 1; j < 6; j++){	cout<<endl<<s[i];	}	k++;	}	if k=0 cout<<endl<<"Takix studentov HeT ";	}	return;
}
int main()
{	input();	sort();	output();	system("pause");	return 0;
}
вот так? и в чём тут ошибки?


вот так? и в чём тут ошибки?
Запусти прогу и узнай.


ошибок то немеренно, в основном жалуется на то stud1 не определена, но как сделать в си вот это:
stud1:array[1..N] of student;
- Pascalя не догоняю=(....


student stud1[n]
и учти что начинаться будет с нуля.


#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <string>
// Задание:
/*ВАРИАНТ 1
1.Описать структуру с именем STUDENT ,содержащую следующие поля:
·	NAME - фамилия и инициалы;
·	GROUP -номер группы;
·	SES - успеваемость (массив из пяти элементов).
2.Написать программу , выполняющую следующие действия:
·	ввод с клавиатуры данных в массив STUD1,состоящий из десяти струк-
тур типа STUDENT;записи должны быть упорядочены по возрастанию
содержимого поля GROUP;
·	вывод на дисплей фамилий и номеров групп для всех студентов , вклю-
ченных в массив , если средний балл студента больше 4,0;
·	если таких студентов нет , вывести соответствующее сообщение.*/
struct student
{
int name;
int group;
int ses[5];//[0;4]
};
int main()
{	const int n=3;	int s[n];	int k = 0;	student stud1[n];	for (int i = 0; i < n; i++) {	std::cout << "Vvedite FIO " << std::endl;	std::cin >> stud1[i].name;	std::cout << "Vvedite nomer gruppbl "<< std::endl;	std::cin >> stud1[i].group;	for (int j = 0; j<5; j++) {	std::cout << "Vvedite yspevaemost studenta "<<j+1<<"-ого predmeta "<< std::endl;	std::cin >> stud1[i].ses[j];	}	} for (int i = 0; i < n; i++) { s[i] = 0;	for (int j = 0; j < 5; j++) {	s[i] = stud1[i].ses[j]+s[i];}} std::cout << "Studentbl y kotopblx cp. 6all > 4:\n" << std::endl;	for (int i = 1; i < n; i++) {	if ((s[i]/5)>4) {	k++;	std::cout << "FIO: " << stud1[i].name << "\n"<< std::endl;	std::cout << "Group: " << stud1[i].group << "\n"<< std::endl;	std::cout << "Cp. 6all sessii: " << s[i] << "\n" << std::endl;	}	if (k=0) std::cout << "Takix studentov HeT " << std::endl;	}	system("pause");
}
Осталась одна проблема, когда полю name задаешь тип данных string,С++ отказывается работать. Как задать name значение string?


Осталась одна проблема, когда полю name задаешь тип данных string,С++ отказывается работать. Как задать name значение string?
покажите пример ошибки(с кодом)


#include <string>
поставь после
#include <time.h>


вот так выглядит поле ошибок, если написать "string name":1>c:\users\6pystep\documents\visua l studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(23) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "name" 1>c:\users\6pystep\documents\visua l studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(23) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\users\6pystep\documents\visua l studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(23) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\users\6pystep\documents\visua l studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(41) : error C2039: name: не является членом "student" 1> c:\users\6pystep\documents\visual studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(22): см. объявление 'student' 1>c:\users\6pystep\documents\visua l studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(66) : error C2039: name: не является членом "student" 1> c:\users\6pystep\documents\visual studio 2008\projects\ясмячсм\ясмячсм\ясмяч см.cpp(22): см. объявление 'student' 1>Журнал построения был сохранен в "file://c:\Users\6PySTeP\Documents\Visual Studio 2008\Projects\ясмячсм\ясмячсм\Debug \BuildLog.htm" 1>ясмячсм - ошибок 5, предупреждений 0Ну а если прописать "int name", то без ошибок...Ставил
#include <string>
- не помогает!