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

Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел - C++

Восстановить пароль Регистрация
 
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 338
18.05.2014, 18:15     Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел #1
Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по величине

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
#include<stdio.h>
#include<conio.h>
 
struct Student
{
    char fam[20];
    int mark[4];
    int filter;
};
 
Student a[20]; // Массив
 
void Input(int n);
void Print(int n);
void Filter(int n,fam);
 
main()
{
    char n=3;
    Input(n);
    char fam[20];
    printf("Искать фамилию: "); scanf("%s",&fam);
    Filter(n,fam);
    Print(n);
    system("pause"); 
    return 0;
}
 
// Функция ввода данных
void Input(int n)
{
    // цикл по всем студентам
    for (int i=0;i<n;i++)
    {
        // ввод фамилии
        printf("Фамилия: "); scanf("%s",&a[i].fam);
        for (int j=0;j<4;j++)
        {
            // ввод j+1 оценки
            printf("Оценка %d: ", j+1); scanf("%d",&a[i].mark[j]);
        }
       a[i]a.filter=1;
    }
}
 
// Функция вывода данных
void Print(int n)
{
    //вывод заголовков
    printf("Фамилия Оценка_1    Оценка_2    Оценка_3    Оценка_4\n");
    //цикл по всем студентам
    for (int i=0;i<n;i++)
    {
        //ввод фамилии
        printf("%7s",a[i].fam);
        for (int j=0;j<4;j++)
        {
            //ввод j+1 оценки
            printf("%4d ",a[i].mark[j]);
        }
        printf("\n");
    }
}
 
//Отбор записей
void Filter(int n, char fam[4])
{
    for (int i=0; i<n; i++)
    if(struct a[i].fam,fam)==0)
        a[i].filter=1;
    else a[i].filter=0;
}
Сейчас она построена, чтобы отбирать просто по фамилиям. Но она не хочет запускаться, не могу понят почему...

Добавлено через 5 часов 25 минут
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
74
#include<stdio.h>
#include<conio.h>
#include<iostream> 
#include<string.h>
 
struct Student
{
    char fam[20];
    int mark[4];
    int filter;
};
 
Student a[20]; // ГЊГ*Г±Г±ГЁГў
 
void Input(int n);
void Print(int n);
void Filter(int n, char fam[20]);
 
main()
{
    char n=2;
    Input(n);
    char fam[20];
    printf("ÈñêГ*ГІГј ГґГ*ìèëèþ: "); scanf("%s",&fam); 
    Filter(n,fam);
    Print(n);
    system("pause"); 
    return 0;
}
 
// ÔóГ*êöèÿ ââîäГ* Г¤Г*Г*Г*ûõ
void Input(int n) // Êîë-ГўГ® ñòóäåГ*òîâ
{
    //öèêë ГЇГ® ГўГ±ГҐГ¬ ñòóäåГ*ГІГ*Г¬
    for (int i=0;i<n;i++)
  {
    //öèêë ГЇГ® ГўГ±ГҐГ¬ ñòóäåГ*ГІГ*Г¬
    printf("Г”Г*ìèëèÿ: "); scanf("%s",&a[i].fam);
    for (int j=0;j<4;j++)
    {
            //ââîä j+1 îöåГ*ГЄГЁ
      printf("ÎöåГ*ГЄГ* %d: ",j+1); scanf("%d",&a[i].mark[j]); 
    }
    a[i].filter=1;
  } 
}
 
// ÔóГ*êöèÿ âûâîäГ* Г¤Г*Г*Г*ûõ
void Print(int n)
{
    //âûâîä Г§Г*ãîëîâêîâ
    printf("Г”Г*ìèëèÿ      ÎöåГ*ГЄГ*_1 ÎöåГ*ГЄГ*_2 ÎöåГ*ГЄГ*_3 ÎöåГ*ГЄГ*_4\n");
    //öèêë ГЇГ® ГўГ±ГҐГ¬ ñòóäåГ*ГІГ*Г¬
    for (int i=0; i<n; i++)
    {
        //ââîä ГґГ*ìèëèè
        printf("%15s",a[i].fam);
        for (int j=0; j<4; j++)
        {
            //ââîä j+1 îöåГ*ГЄГЁ
            printf("%6d ",a[i].mark[j]);
        }
        printf("\n");
    }
}
 
//Îòáîð Г§Г*ГЇГЁГ±ГҐГ©
void Filter(int n, char fam[4])
{
    for (int i=0; i<n; i++)
        if (strcmp(a[i].fam,fam)==0)
            a[i].filter=1;
        else a[i].filter=0;
}
Теперь запускается без ошибки.
Только без понятия как дальше: Отберите тех, у которых сумма баллов вторая по величине.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 18:15     Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел
Посмотрите здесь:

Программа на С++ ввода/вывода C++
Написать программу, выполняющую вывод на дисплей фамилий и номеров групп для всех студентов, имеющих оценки 4 и 5 C++
Структуры. Вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2. C++
Помогите пож создать программу на С++ чтобы выводился список только тех студентов, у которых больше одной двойки C++
C++ Дана действительная матрица порядка N.Для данного натурального m(m<=2N) найти сумму тех элементов матрицы, сумма индексов которых равна m.
Программа на цикл с условием (написать программу для нахождения суммы тех членов ряда, модуль которых не менее ε) C++
Подсчитать сумму тех элементов матрицы, у которых сумма индексов нечетна C++
C++ Создайте программу для ввода и вывода фамилий и оценок студентов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 338
19.05.2014, 23:00  [ТС]     Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел #2
С for в функции кто-нибудь может помочь?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Отбор записей
void Filter(int n)
{
    int max=0,max2=-1;
    for (int i=0;i<n;i++)
    {
        // ищем max - cамую большую сумму баллов и
        // одновременно max2 чуть меньшую сумму
        (max>max2)
    }
    for (int i=0;i<n;i++)
    {
        int sum=a[i].mark[0]+a[i].mark[1]+a[i].mark[2]+a[i].mark[3];
        if (sum==max2) a[i].filter=1;
        else a[i].filter=0;
    }
}
Yandex
Объявления
19.05.2014, 23:00     Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел
Ответ Создать тему
Опции темы

Текущее время: 16:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru