Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rass7et
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 3
#1

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

16.10.2013, 00:32. Просмотров 341. Ответов 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);
}
 
}
Крашится при переходе на ввод балла, в отладке показывает ошибку сегментации. Где упущено?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 00:32     Непонятная ошибка сегментации
Посмотрите здесь:

Непонятная ошибка сегментации - C++
В программе используется дерево, элементы которого описываются и создаются таким образом: struct Node { Node* children; int...

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

Ошибка сегментации. - C++
Здравствуйте, дорогие форумчане! Тут такое дело, есть программа, код приведен ниже, там есть некоторый массив D. После компиляции...

ошибка сегментации - C++
Всем привет! Я никогда не программировал, а тут решил склепать небольшую программку. Да вот только не могу понять почему выскакивает...

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
шКодер самоучка
1784 / 1585 / 576
Регистрация: 09.10.2013
Сообщений: 3,546
Записей в блоге: 6
Завершенные тесты: 2
16.10.2013, 00:44     Непонятная ошибка сегментации #2
у вас заданы неправильные шаблоны ввода
поменяйте местами %f и %s

%f - ввод float
%s - ввод cstring
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");
}
Но ведь все равно не работает...
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
16.10.2013, 01:08     Непонятная ошибка сегментации #4
поставьте & перед stud[i] в scanf
Max Dark
шКодер самоучка
1784 / 1585 / 576
Регистрация: 09.10.2013
Сообщений: 3,546
Записей в блоге: 6
Завершенные тесты: 2
16.10.2013, 01:23     Непонятная ошибка сегментации #5
Выставьте предупреждений от компилятора на макс уровень
Замените 17ю строку на
C
1
printf ("\nБалл на олимпиаде:");scanf("%f",&stud[i].stip);
govorov
24 / 24 / 3
Регистрация: 25.09.2013
Сообщений: 76
16.10.2013, 10:28     Непонятная ошибка сегментации #6
или stud + i)

Добавлено через 44 секунды
Цитата Сообщение от vua72 Посмотреть сообщение
поставьте & перед stud[i] в scanf
То же самое)
vua72
415 / 415 / 85
Регистрация: 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 14:41     Непонятная ошибка сегментации
Еще ссылки по теме:

ошибка сегментации - C++
где может быть ошибка?

Ошибка Сегментации - C++
Всем привет! При выполнении кода вылетает ошибка: &quot;Ваша программа вызвала нарушение доступа(ошибку сегментации)&quot;. Как это...

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

Ошибка сегментации из ниоткуда - C++
Суть программы составить матрицу смежности, затем найти вершину с наименьшей степенью. Проблема в том, что код, который заключен в...


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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
16.10.2013, 14:41     Непонятная ошибка сегментации #8
Цитата Сообщение от Rass7et Посмотреть сообщение
scanf("%s",stud[i].stip);
stip это не строка
C++
1
scanf("%f", &stud[i].stip);
Yandex
Объявления
16.10.2013, 14:41     Непонятная ошибка сегментации
Ответ Создать тему
Опции темы

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