Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/42: Рейтинг темы: голосов - 42, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
1

Описать структуру STUDENT

29.10.2009, 18:49. Показов 8373. Ответов 78

Author24 — интернет-сервис помощи студентам
Помогите с программой плз
Не работает почему-то
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
 
//Описать структуру с именем SUDENT, содержащую в себе следующие поля:
//Фамилия и Инициалы
//Номер Группы
//Успеваемость(массив из 5 элементов)
// ИНДИВИДУАЛКА ПО ТЕМЕ СТРУКТУРЫ.cpp : main project file.
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char* Rus(char* text);//указатель на функцию
//-------------------------------------------------
//Главная функция
//-------------------------------------------------
int main()
{ 
 
struct STUDENT // описание структуры STUDENT содержащей следующие поля:
{
char s_name[20]; // Фамилия и инициалы
int yahr;//Номер группы
long int o;//Успеваемость
};
const int k=10;
STUDENT db[k],p;
char name[20],s[40];
int i; //количество записей в файле
//Заполнение массива структур
for (i=0; i<k; i++)
{ 
cout <<"\n"<<Rus("Фамилия и инициалы"); cin>>db[i].s_name;
cout <<"\n"<<Rus("Номер группы"); cin>>db[i].yahr;
cout <<"\n"<<Rus("Успеваемость"); cin>>db[i].o; 
 
}
cout <<"\n"<<Rus("Введите фамилию и инициалы студента для которого нужно вывести сведения:")<<"\t";
cin>>name;
//Поиск студента, фамилия и инициалы которого введены, вывод всех данных по нему
//Функция strcmp(s1,s2) сравнивает 2 строки 
// и возвращает |отриц число, если s1<s2 |положительное - если s1>s2 | 0, если s1=s2
bool flag=false;
for (i=0; i<k; i++)
{
if (strcmp(name, db[i].s_name)==0) 
{ 
cout <<"\n"<<Rus("Фамилия и инициалы")<< db[i].s_name;
cout <<"\n"<<Rus("Номер группы")<<db[i].yahr;
cout <<"\n"<<Rus("Успеваемость")<<db[i].o;
flag=true;
}
}
if (!flag) 
cout <<Rus("Такого студента нет");
cout <<endl;
 
 
cout <<endl;
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2009, 18:49
Ответы с готовыми решениями:

Описать структуру STUDENT
Прошу помощи, уважаемые программисты! Я гуманитарий, задание для меня, конечно, очень интересное,...

Описать структуру Student
#include &lt;iostream&gt; #include &lt;fstream&gt; #include&lt;limits&gt; #define DIM 10 #define NAME 70 using...

Описать структуру Student
Условие задачи: Описать структуру с именем STUDENT, содержащую следующие поля: NAME - фамилия...

Описать структуру Student
1.Описать структуру с именем STUDENT, содержащую следующие поля: Name - фамилия и имя. Number –...

78
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:13 21
Author24 — интернет-сервис помощи студентам
Фрэди Крюгер, знаю,я этот пост скопировал,из темы Русские буквы в консоли
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:14  [ТС] 22
так сейчас будет глупый вопрос=)
где настройки консоли?
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:17 23
открой консоль,в верхнем левом углу где иконка консоли нажми,откроется меню-самое нижне
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 20:18 24
не заморачивайся на консоль, в крайнем случае у видешь кракозябры, сначала скомпили без ошибок. потом зайдёшь в свойства полученного экзешника и там настроишь шрифт
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:19  [ТС] 25
так ещё вопрос.. что делать если консоль открывается и тутже исчезает?
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:21 26
Фрэди Крюгер, много способов есть
system("pause"); записать вконце программы
или же
Sleep(1000);1000=1сек
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:25  [ТС] 27
Цитата Сообщение от TanT Посмотреть сообщение
не заморачивайся на консоль, в крайнем случае у видешь кракозябры, сначала скомпили без ошибок. потом зайдёшь в свойства полученного экзешника и там настроишь шрифт
да не компилируется зараза чтобы не делал теперь пишет:
1>.\123.cpp(15) : error C2146: syntax error : missing ';' before identifier 'locate'
1>.\123.cpp(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\123.cpp(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\123.cpp(15) : error C2078: too many initializers
1>.\123.cpp(15) : error C2440: 'initializing' : cannot convert from 'const char [8]' to 'int'


Добавлено через 3 минуты
А давайте я вам задачу дам можт у вас будет лучше решение=))
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:27 28
Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
да не компилируется зараза чтобы не делал теперь пишет:
это на мой код?ОО

Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
давайте я вам задачу дам можт у вас будет лучше решение=))
лучше бы новую тему открой,там отвечу,если смогу
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:32  [ТС] 29
Описать структуру с именем SUDENT, содержащуюю следующие поля:
Фамилия и инициалы
№ группы
Успеваемость (массив из пяти элементов).
написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, сост из 10 структур типа STUDENT; записи должны быть упорядочены по алфавиту;
Вывод на дисплей фамилий и номеров студентов имеющих хотябы одну оценку 2;
Если таких студентов нет, вывести соответствуюшее сообшение
Вот=)

Добавлено через 1 минуту
Цитата Сообщение от МедведЪ Посмотреть сообщение
это на мой код?ОО
Ага на твой код у меня С++ ругаецца(
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:33 30
не,н мое,я со структурами не знаком,...не учил...и поменяй шрифт!

Добавлено через 30 секунд
Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
Ага на твой код у меня С++ ругаецца(
выложи код
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:35  [ТС] 31
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
 
//Описать структуру с именем SUDENT, содержащую в себе следующие поля:
//Фамилия и Инициалы
//Номер Группы
//Успеваемость(массив из 5 элементов)
// ИНДИВИДУАЛКА ПО ТЕМЕ СТРУКТУРЫ.cpp : main project file.
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
char buf[256];
set locate(LC_ALL, "Russian");
char* Rus(char* text)
{
CharToOemA(text, buf);
return buf;
}
struct STUDENT // описание структуры STUDENT содержащей следующие поля:
{
char s_name[20]; // Фамилия и инициалы
int yahr;//Номер группы
long int o;//Успеваемость
};
const int k=2;
 
//-------------------------------------------------
//Главная функция
//-------------------------------------------------
int main()
{ 
 
 
STUDENT db[k];
char name[20];
int i; //количество записей в файле
//Заполнение массива структур
for (i=0; i<k; i++)
{ 
cout <<"\n"<<Rus("Фамилия и инициалы "); cin>>db[i].s_name;
cout <<"\n"<<Rus("Номер группы "); cin>>db[i].yahr;
cout <<"\n"<<Rus("Успеваемость "); cin>>db[i].o; 
 
}
cout <<"\n"<<Rus("Введите фамилию и инициалы студента для которого нужно вывести сведения:")<<"\t";
cin>>name;
//Поиск студента, фамилия и инициалы которого введены, вывод всех данных по нему
//Функция strcmp(s1,s2) сравнивает 2 строки 
// и возвращает |отриц число, если s1<s2 |положительное - если s1>s2 | 0, если s1=s2
bool flag=false;
for (i=0; i<k; i++)
{
if (strcmp(name, db[i].s_name)==0) 
{ 
cout <<"\n"<<Rus("Фамилия и инициалы ")<< db[i].s_name;
cout <<"\n"<<Rus("Номер группы ")<<db[i].yahr;
cout <<"\n"<<Rus("Успеваемость ")<<db[i].o;
flag=true;
}
}
if (!flag) 
cout <<Rus("Такого студента нет");
cout <<endl;
 
 
cout <<endl;
system("PAUSE");
return 0;
}
вот он
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 20:35 32
исходный код с точки зрения логики рабочий, сдесь на трёх страницах борьба с компилятором, а сним бороться бесполезно с ним надо подружиться. распить бутылочку другую чего покрепче и он сразу станет родным.

Фрэди Крюгер, выбирай самый рабочий код. будем боросться дальше
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:37  [ТС] 33
есть проблема=) компилятор попался не пьющий=)
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 20:39 34
16 строку коментируй
в 34,35 добавляй
C++
1
2
SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
посмотрим что скажет

какой компилятор ты так и не сказал
0
42 / 42 / 8
Регистрация: 22.05.2009
Сообщений: 97
29.10.2009, 20:39 35
Товарищи хорошие, вы бы внимательно посмотрели на 16 строчку 31-ого поста.

set locate... Откуда это?
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:44  [ТС] 36
стоп я не тот код выписал
Вот полученный по ходу темы=)
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
 
//Описать структуру с именем SUDENT, содержащую в себе следующие поля:
//Фамилия и Инициалы
//Номер Группы
//Успеваемость(массив из 5 элементов)
// ИНДИВИДУАЛКА ПО ТЕМЕ СТРУКТУРЫ.cpp : main project file.
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
char buf[256];
 set locate(LC_ALL, "Russian");
char* Rus(char* text)
{
        CharToOemA(text, buf);
        return buf;
}
struct STUDENT // описание структуры STUDENT содержащей следующие поля:
{
        char s_name[20]; // Фамилия и инициалы
        int yahr;//Номер группы
        long int o;//Успеваемость
};
const int k=2;
 
//-------------------------------------------------
//Главная функция
//-------------------------------------------------
int main()
{ 
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
        STUDENT db[k];
        char name[20];
        int i; //количество записей в файле
        //Заполнение массива структур
        for (i=0; i<k; i++)
        { 
                cout <<"\n"<<Rus("Фамилия и инициалы "); cin>>db[i].s_name;
                cout <<"\n"<<Rus("Номер группы "); cin>>db[i].yahr;
                cout <<"\n"<<Rus("Успеваемость "); cin>>db[i].o; 
 
        }
        cout <<"\n"<<Rus("Введите фамилию и инициалы студента для которого нужно вывести сведения:")<<"\t";
        cin>>name;
        //Поиск студента, фамилия и инициалы которого введены, вывод всех данных по нему
        //Функция strcmp(s1,s2) сравнивает 2 строки 
        // и возвращает |отриц число, если s1<s2 |положительное - если s1>s2 | 0, если s1=s2
        bool flag=false;
        for (i=0; i<k; i++)
        {
                if (strcmp(name, db[i].s_name)==0) 
                { 
                        cout <<"\n"<<Rus("Фамилия и инициалы ")<< db[i].s_name;
                        cout <<"\n"<<Rus("Номер группы ")<<db[i].yahr;
                        cout <<"\n"<<Rus("Успеваемость ")<<db[i].o;
                        flag=true;
                }
        }
        if (!flag) 
                cout <<Rus("Такого студента нет");
        cout <<endl;
 
 
        cout <<endl;
        system("PAUSE");
        return 0;
}
и вот ошибки его
1>.\1.cpp(15) : error C2146: syntax error : missing ';' before identifier 'locate'
1>.\1.cpp(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\1.cpp(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\1.cpp(15) : error C2078: too many initializers
1>.\1.cpp(15) : error C2440: 'initializing' : cannot convert from 'const char [8]' to 'int'


Добавлено через 51 секунду
про сэт локейт мне препод сказал...

Добавлено через 2 минуты
Цитата Сообщение от TanT Посмотреть сообщение
какой компилятор ты так и не сказал
эээ а как посмотреть???
0
42 / 42 / 8
Регистрация: 22.05.2009
Сообщений: 97
29.10.2009, 20:45 37
А ты уверен что преподаватель тебе именно так сказал?

http://msdn.microsoft.com/en-u... tb11d.aspx
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:47  [ТС] 38
так с 1м разобрался сет локейт нужно было писать не в 16й строке а в 34ой
вот что после этого получилось:
1>.\1.cpp(34) : error C2065: 'set' : undeclared identifier
1>.\1.cpp(34) : error C2146: syntax error : missing ';' before identifier 'locate'
1>.\1.cpp(34) : error C3861: 'locate': identifier not found
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:47 39
Фрэди Крюгер, сказал же как делать??после МЭИН напиши
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
а про св-ва сказал!!!
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 20:48 40
он правильно сказал но распалагаться строка 16 должна на месте 34 и 35,
сейчас закоментируй всё таки 16 строку
0
29.10.2009, 20:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2009, 20:48
Помогаю со студенческими работами здесь

Описать структуру STUDENT
у меня такое задание: Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и...

Описать структуру Student
Описать структуру Student, которая имеет следующие поля: фамилия,группа,средний бал...

Описать структуру с именем STUDENT
1. Описать структуру с именем STUDENT, содержащую следующие поля: фамилия и инициалы; номер...

Описать структуру с именем student
Нужна помощь в решении задачи в Borland C, 16. Ввести структуру СТУДЕНТ с полями ФИО, ГОД...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru