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<<"Средний балл студента: "<//----------------------------
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>
- не помогает!