Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Rass7et
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 3
1

Непонятная ошибка сегментации

16.10.2013, 00:32. Просмотров 379. Ответов 7
Метки нет (Все метки)

  • Задание 1: в таблице хранятся данные о баллах учеников участвовавших в олимпиаде. Распечатать фамилии тех, кто набрал больше 30 баллов.

Реализация:
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
#include  <stdio.h>
#include <iostream.h>
int main()
{
setlocale(LC_ALL, "Russian");    
const int N=3; int i,p;
struct student {char fam[15];   // описание структуры с именем студент с полями:  ФИО студента
               float stip; // счет
               };
student stud[N];  // массив из таких структур чтобы записать данные на  N студентов
for (i=0;i<N;i++)    // ввод данных о студентах
{   p=i+1;  
    printf ("%d-й студент",p);
printf ("\nФамилия:");scanf("%f",stud[i].fam);
printf ("\nБалл на олимпиаде:") ; scanf("%s",stud[i].stip);
}
 
 
{
int maxs=30;
for (i=0;i<N;i++)  
if (stud[i].stip>maxs)
printf("\n %f набрал более 30 баллов.",stud[i].fam);
}
 
}
Крашится при переходе на ввод балла, в отладке показывает ошибку сегментации. Где упущено?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 00:32
Ответы с готовыми решениями:

Непонятная ошибка сегментации
В программе используется дерево, элементы которого описываются и создаются...

Ошибка сегментации.
Здравствуйте, дорогие форумчане! Тут такое дело, есть программа, код...

Ошибка сегментации
Здравствуйте. Скажите, почему так делать нельзя? class A { public: A*...

Ошибка сегментации
Здравствуйте, написал программу, запускаю- Windows пишет: &quot;обнаружена ошибка....

Ошибка сегментации
Зарание благодарен за помощ собственно вот мой код . он должен считывать...

7
Max Dark
шКодер самоучка
1970 / 1746 / 861
Регистрация: 09.10.2013
Сообщений: 3,855
Записей в блоге: 6
Завершенные тесты: 2
16.10.2013, 00:44 2
у вас заданы неправильные шаблоны ввода
поменяйте местами %f и %s

%f - ввод float
%s - ввод cstring
0
Rass7et
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 3
16.10.2013, 00:48  [ТС] 3
не нашел как отредактировать сообщение
это сам вспомнил.
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
#include  <stdio.h>
#include <iostream.h>
int main()
{
setlocale(LC_ALL, "Russian");    
const int N=3; int i,p;
struct student {char fam[15];   // îïèñГ*Г*ГЁГҐ ñòðóêòóðû Г± èìåГ*ГҐГ¬ ñòóäåГ*ГІ Г± ïîëÿìè:  Г”ÈÎ ñòóäåГ*ГІГ*
               float stip; // Г±Г·ГҐГІ
               };
student stud[N];  // Г¬Г*Г±Г±ГЁГў ГЁГ§ ГІГ*ГЄГЁГµ ñòðóêòóð ÷òîáû Г§Г*ГЇГЁГ±Г*ГІГј Г¤Г*Г*Г*ûå Г*Г*  N ñòóäåГ*òîâ
for (i=0;i<N;i++)    // ââîä Г¤Г*Г*Г*ûõ Г® ñòóäåГ*ГІГ*Гµ
{
    
    p=i+1;  
    printf ("%d-Г© ñòóäåГ*ГІ",p);
printf ("\nГ”Г*ìèëèÿ:");scanf("%s",stud[i].fam);
printf ("\nГЃГ*ëë Г*Г* îëèìïèГ*äå:");scanf("%f",stud[i].stip);
 
}
 
 
{
int maxs=30;
for (i=0;i<N;i++)  
if (stud[i].stip>maxs)
printf("\n %s Г*Г*ГЎГ°Г*Г« áîëåå 30 ГЎГ*ëëîâ.",stud[i].fam);
}
 system("pause");
}
Но ведь все равно не работает...
0
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
16.10.2013, 01:08 4
поставьте & перед stud[i] в scanf
0
Max Dark
шКодер самоучка
1970 / 1746 / 861
Регистрация: 09.10.2013
Сообщений: 3,855
Записей в блоге: 6
Завершенные тесты: 2
16.10.2013, 01:23 5
Выставьте предупреждений от компилятора на макс уровень
Замените 17ю строку на
C
1
printf ("\nБалл на олимпиаде:");scanf("%f",&stud[i].stip);
0
govorov
24 / 24 / 2
Регистрация: 25.09.2013
Сообщений: 76
16.10.2013, 10:28 6
или stud + i)

Добавлено через 44 секунды
Цитата Сообщение от vua72 Посмотреть сообщение
поставьте & перед stud[i] в scanf
То же самое)
0
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
16.10.2013, 13:33 7
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
#include  <stdio.h>
#include <iostream>
struct student {
    char fam[15]; // описание структуры с именем студент с полями:  ФИО студента
    float stip; // счет
};
const int N = 3;
int main() {
    setlocale(LC_ALL, "Russian");
    int i, p;
    student stud[N]; // массив из таких структур чтобы записать данные на  N студентов
    // ввод данных о студентах
    for (i = 0; i < N; i++) {
        p = i + 1;
        printf("%d-й студент", p);
        printf("\nФамилия:");
        scanf("%15s", stud[i].fam);
        printf("\nБалл на олимпиаде:");
        scanf("%f", &stud[i].stip);
    }
    int maxs = 30;
    for (i = 0; i < N; i++)
        if (stud[i].stip > maxs)
            printf("\n %s набрал более 30 баллов.", stud[i].fam);
 
//  system("pause");
    return 0;
}
0
Kuzia domovenok
2390 / 2112 / 507
Регистрация: 25.03.2012
Сообщений: 7,598
Записей в блоге: 1
16.10.2013, 14:41 8
Цитата Сообщение от Rass7et Посмотреть сообщение
scanf("%s",stud[i].stip);
stip это не строка
C++
1
scanf("%f", &stud[i].stip);
0
16.10.2013, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 14:41

Ошибка Сегментации
Всем привет! При выполнении кода вылетает ошибка: &quot;Ваша программа вызвала...

Ошибка сегментации
int main() { int mas; } Объясните, почему такой код привод к ошибке?...

ошибка сегментации
Всем привет! Я никогда не программировал, а тут решил склепать небольшую...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru