0 / 0 / 0
Регистрация: 26.03.2017
Сообщений: 1
1

Сделать на базе структуры линейный список С

27.03.2017, 14:16. Показов 665. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую! Начинающий программист, поставлена задача и имеется ее решение в виде простой структуры:
Выполнить задание с использованием динамической структуры данных
типа линейный список.
В файле содержится следующая информация (список) о студентах:
-Ф.И.О.;
-год рождения;
-оценки на экзаменах по 4 предметам.
-------------------------------------
ИВАНОВ А.И. 1972 5 4 3 3
СИДОРОВ И.А. 1976 5 5 5 5
И тд.
Составить программу, которая должна выполнять считывание информации о студентах, выборку и обработку информации, запись обработанной информации в файл вывода.
Информация должна содержать количество и список студентов, имеющих:
Средний балл не ниже 4,5 и год рождения не старше 1975.

Имеется код решения этой задачи с использованием структуры и массива. Помогите, пожалуйста, сделать линейный список из этого! Я с указателями и списками совсем запутался, ничего не получается.
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
    struct LIST {
        char fio[11];
        char Ns[5];
        unsigned year;
        int ocn[4];
        float sr;
    };
    LIST Student[30];
    float socen = 4.5;
    int i = 0, j, N, k = 0;
    FILE*f_in, *f_out;
    f_in = fopen("in.txt", "r");
    f_out = fopen("out.txt", "w");
    for (i = 0; i < 10; i++)
    {
        fscanf(f_in, "%s %s %i %i %i %i %i\n",
            &Student[i].fio,
            &Student[i].Ns,
            &Student[i].year,
            &Student[i].ocn[1],
            &Student[i].ocn[2],
            &Student[i].ocn[3],
            &Student[i].ocn[4]);
    }
    for (i = 0; i < 10; i++)
    {
        fprintf(f_out, "%s %s %i %i %i %i %i\n",
            Student[i].fio,
            Student[i].Ns,
            Student[i].year,
            Student[i].ocn[1],
            Student[i].ocn[2],
            Student[i].ocn[3],
            Student[i].ocn[4]);
    }
    N = 10;
    for (j = 0; j < N; j++)
    {
        Student[j].sr = float(Student[j].ocn[1] + Student[j].ocn[2] + Student[j].ocn[3] + Student[j].ocn[4]) / 4;
    }
    fprintf(f_out, "Список студентов средний балл которых не ниже");
    fprintf(f_out, "%6.2f\n", socen);
    fprintf(f_out, "и год рождения не старше 1975 ");
    for (j = 0; j<N; j++) {
        if ((Student[j].sr >= socen) && (Student[j].year >= 1975))
        {       k += 1;
        fprintf(f_out, "\n Студент %s %s %i года рождения имеет средний балл %5.2f", Student[j].fio, Student[j].Ns, Student[j].year, Student[j].sr);
        }
    }
    fprintf(f_out, "\n Всего таких студентов в списке - %i", k);
    getch();
    return 0;
}
Добавлено через 17 часов 42 минуты
Помогите, пожалуйста, товарищи!!! Мозги кипят, я не понимаю как сделать список!!! Помогите, не бросайте, сил уже нет, 3 недели бьюсь. Хотя бы какую-то структуру кода напишите что б я дописал сам! Намекните, что делать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2017, 14:16
Ответы с готовыми решениями:

Реализовать структуры данных «линейный список»
Ребят помогите написать прогу! задание тут: http://ifolder.ru/29432716 ( извините что так, но...

Реализовать линейный однонаправленный список на базе массива целых чисел
1.Дан одномерный массив случайным образом заданных целых чисел. Из элементов массива построить...

Вставить в линейный список перед элементом с заданным значением другой линейный список
Как можно вставить в линейный список перед элементом с заданным значением другой линейный список?...

Решение задачи через линейный список и другое решение через двусвязный линейный список
В файле записан текст. Нужно записать в другой файл в столбик все слова, встречающиеся в тексте, в...

2
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
27.03.2017, 14:27 2
Цитата Сообщение от Linps Посмотреть сообщение
3 недели бьюсь
В гугле искать религия не позволяет? Да и на форуме куча решений(если поиском пользоваться не умеете, вниз страницы посмотрите).

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от Linps Посмотреть сообщение
C
1
LIST Student[30];
По-моему наоборот должно быть :)

0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
27.03.2017, 14:40 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <stdlib.h>
 
typedef struct list
{
    int data;
    struct list *next;
} List;
 
 
void Insert(List **head, const int x)
{
    List *cur = *head;
    if (*head)
        Insert(&(*head)->next, x);
    else
    {
        *head = malloc(sizeof(List));
        (*head)->data = x;
        (*head)->next = cur;
    }
}
 
void Print(const List *head)
{
    while (head)
    {
        printf("%d\n", head->data);
        head = head->next;
    }
}
 
void Free(List *head)
{
    if (head)
        Free(head->next);
    free(head);
}
 
int main(void)
{
    List *head = NULL;
    Insert(&head, 2);
    Insert(&head, 4);
    Insert(&head, 3);
    Insert(&head, 1);
    Insert(&head, 5);
    Print(head);
    Free(head);
    return 0;
}
1
27.03.2017, 14:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2017, 14:40
Помогаю со студенческими работами здесь

Сформировать новый линейный список однонаправленный список, содержащий только нечетные элементы
Даны 2 линейных однонаправленных списка с элементами целого типа. Количество элементов и их...

Опишите и постройте через двумерный массив Sps линейный однонаправленный список из семи целых чисел и сделайте этот список пустым
Сама задача: Опишите и постройте с помощью двумерного массива Sps линейный однонаправленный список...

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит...

Линейный поиск в массиве структуры
Нужно с помощью линейного поиска искать в готовом массиве структуры значение вводимое с клавиатуры....

Линейный список
Задание:Даны действительные числа. Построить линейный список из указанных элементов. Если эта...

Линейный список
Помогите, пожалуйста, с реализацией линейного списка на с++ в Code::Blocks!!!!


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

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

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