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

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

29.10.2009, 18:49. Показов 8375. Ответов 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, 18:51 2
1.помести в теги
2.какие ошибки?
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 18:59  [ТС] 3
1>------ Build started: Project: 123, Configuration: Debug Win32 ------
1>Compiling...
1>stdafx.cpp
1>Compiling...
1>AssemblyInfo.cpp
1>123.cpp
1>.\123.cpp(6) : warning C4627: '#include <iostream.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
1>.\123.cpp(7) : warning C4627: '#include <string.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
1>.\123.cpp(8) : warning C4627: '#include <stdlib.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
1>.\123.cpp(9) : warning C4627: '#include <stdio.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
1>.\123.cpp(59) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
1>Generating Code...
1>Build log was saved at "file://c:\Users\1\Documents\Visual Studio 2008\Projects\123\123\Debug\BuildLog.htm"
1>123 - 1 error(s), 4 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
это пишет...
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 19:09 4
он же тебе пишет: А ты не забыл добавить #include "stdafx.h" ?

Добавлено через 54 секунды
хотя у меня и без него всё скомпилилось
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 19:12 5
TanT, у тебя наверно empty prject

Фрэди Крюгер, напиши
#include "stdax.h"
#include <iostream> вместо iosreatm.h
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 19:13 6
Цитата Сообщение от МедведЪ Посмотреть сообщение
TanT, у тебя наверно empty prject

Фрэди Крюгер, напиши
#include "stdax.h"
#include <iostream> вместо iosreatm.h
здорово, МедведЪ. конечно empty prject
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 19:14  [ТС] 7
Цитата Сообщение от TanT Посмотреть сообщение
он же тебе пишет: А ты не забыл добавить #include "stdafx.h" ?
Да я увидел=) спс, теперь опять какая-то гадость прёт(
1>.\123.cpp(12) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
Мб у меня библиотеки какиеть не стоят? у мну стандартная версия с++ скачанная с микрософта


0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 19:16 8
TanT, ну все,если у тебя empty то stdafx не нужен

Добавлено через 32 секунды
Фрэди Крюгер, Я ЖЕ СКАЗАЛ
<IOSTREAM>
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 19:19  [ТС] 9
Цитата Сообщение от
[B
Фрэди Крюгер[/B], напиши
#include "stdax.h"
#include <iostream> вместо iosreatm.h
исправил теперь это=)
1>.\123.cpp(36) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(36) : error C2065: 'cin' : undeclared identifier
1>.\123.cpp(37) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(37) : error C2065: 'cin' : undeclared identifier
1>.\123.сpp(38) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(38) : error C2065: 'cin' : undeclared identifier
1>.\123.cpp(41) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(42) : error C2065: 'cin' : undeclared identifier
1>.\123.cpp(51) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(52) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(53) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(58) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(59) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(59) : error C2065: 'endl' : undeclared identifier
1>.\123.cpp(62) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(62) : error C2065: 'endl' : undeclared identifier
я с этой прогой повешусь(
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 19:21 10
Фрэди Крюгер, перед тем как подключил классы,запиши это
C++
1
using namespace std;
для твоей функции не известно что такое cin и cout
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 19:23 11
Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
исправил теперь это=)
1>.\123.cpp(36) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(36) : error C2065: 'cin' : undeclared identifier
1>.\123.cpp(37) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(37) : error C2065: 'cin' : undeclared identifier
1>.\123.сpp(38) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(38) : error C2065: 'cin' : undeclared identifier
1>.\123.cpp(41) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(42) : error C2065: 'cin' : undeclared identifier
1>.\123.cpp(51) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(52) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(53) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(58) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(59) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(59) : error C2065: 'endl' : undeclared identifier
1>.\123.cpp(62) : error C2065: 'cout' : undeclared identifier
1>.\123.cpp(62) : error C2065: 'endl' : undeclared identifier
я с этой прогой повешусь(
теперь добавляй после библиотек using namespace std;
не повесишься, у тебя ещё в переди много будет от чего стреляться и вешаться, так что успеешь. вот попробуй мой вариант

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
//Описать структуру с именем SUDENT, содержащую в себе следующие поля:
//Фамилия и Инициалы
//Номер Группы
//Успеваемость(массив из 5 элементов)
// ИНДИВИДУАЛКА ПО ТЕМЕ СТРУКТУРЫ.cpp : main project file.
#include "stdax.h"
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
 
using namespace std;
char buf[256];
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
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 19:24 12
существует предел видимости,для этой функции не были видны cout & cin до тех пор пока ты не написл строку
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 19:30  [ТС] 13
TanT с вашим вариантом выдает это:

123>1.obj : error LNK2028: unresolved token (0A0002CB) "extern "C" int __stdcall CharToOemA(char const *,char *)" (?CharToOemA@@$$J18YGHPBDPAD@Z) referenced in function "char * __cdecl Rus(char *)" (?Rus@@$$FYAPADPAD@Z)
123>1.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall CharToOemA(char const *,char *)" (?CharToOemA@@$$J18YGHPBDPAD@Z) referenced in function "char * __cdecl Rus(char *)" (?Rus@@$$FYAPADPAD@Z)
123>C:\Users\1\Documents\Visual Studio 2008\Projects\1\Debug\1.exe : fatal error LNK1120: 2 unresolved externals

это он типо русский не понимает?
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 19:41 14
н-да, не понимает. а чего у нас за компилятор?

Добавлено через 1 минуту
в твоём варианте вообще только описание функции было, а самой функции я не увидел.
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 19:53  [ТС] 15
а строка set locate(LC_ALL, "Russian"); поможет?

Добавлено через 8 минут
блин я смотрю как вы быстро подбираете варианты исправленя ошибок и понимаю что я совсем не шарю в программировании=)
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
29.10.2009, 19:59 16
Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
блин я смотрю как вы быстро подбираете варианты исправленя ошибок и понимаю что я совсем не шарю в программировании=)
просто я много этих ошибок совершаю
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:00 17
Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
блин я смотрю как вы быстро подбираете варианты исправленя ошибок и понимаю что я совсем не шарю в программировании=)
каждый теперешний продвинутый прогер когда то так говорил
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:09  [ТС] 18
так ради интереса вставил строку set locate
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
//Описать структуру с именем 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;
}
Получил:
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'
1> There is no context in which this conversion is possible
теперь то в чём дело?

Добавлено через 1 минуту
Цитата Сообщение от TanT Посмотреть сообщение
просто я много этих ошибок совершаю
Поверь мне я совершаю их гораздо больше=) причём не в силах понять откуда они

Добавлено через 1 минуту
Цитата Сообщение от МедведЪ Посмотреть сообщение
каждый теперешний продвинутый прогер когда то так говорил
недумаю что из менят продвинутый прогер получится с такими проблемами в ОАП=)
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
29.10.2009, 20:11 19
Код
// установить вручную шрифт Lucida Console в свойствах окна консоли 
// и запомнить это для всех окон с этим именем
// записать в начале программы строку 
 #include <windows.h>
// записать в начале функции main ( после строки с символом { ) 
// две следующих строки 
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
один из лучших методов,я так пользуюсь,никогда не подводил

Добавлено через 1 минуту
Цитата Сообщение от Фрэди Крюгер Посмотреть сообщение
недумаю что из менят продвинутый прогер получится с такими проблемами в ОАП=)
кто знает,может завтра училок рвать будешь
а для этого нужно каждую строчку,каждое слово,каждый символ книг тщательно понять
0
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
29.10.2009, 20:12  [ТС] 20
Цитата Сообщение от МедведЪ Посмотреть сообщение
// записать в начале программы строку #include <windows.h>
дык написанно в предидушем посте=)
0
29.10.2009, 20:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2009, 20:12
Помогаю со студенческими работами здесь

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

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

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

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


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

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