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

Вывод структур - C++

Восстановить пароль Регистрация
 
Manula93
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 100
18.12.2012, 11:21     Вывод структур #1
Из файла считываю структуры и заношу в массив. Сортирую его по убыванию символов 'н' в поле структуры zachet. Пытаюсь вывести поля fio, gr , sr элементов массива. Выводит не то что нужно. Помогите пожалуйста разобраться с выводом.

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <Windows.h>
#include "iomanip"
 
struct student
{
    char fio[20];
    char gr[6];
    char sr[4];
    char zachet[10];
};
void Spisok_neusp(FILE *f);
//void Sr_ball(FILE *f);
 
int main()
{
    FILE *f;
    char n;
    
    setlocale( LC_ALL,"Russian" );
 
    f= fopen("student1.txt", "r");
    if (f==NULL)
    {  puts ("Файл  student1.txt не найден");
         getch();
       return 1;
    }
    
    do
    {  puts ("\n========================================================");
       puts ("Выберите номер пункта меню:");
       puts ("1 - вывод фамилий неуспевающих студентов");
       puts ("2 - средний балл группы");
       puts ("3 - выход");
      
       puts("------------------------------------------------------");
       n = getchar();
       
       switch(n)
       {
          case '1': Spisok_neusp(f); break;
          
          case '3':  break;
         
          default: puts("\nНужно вводить номер пункта от 1 до 3");
       }
       if (n!='3')
       {  puts("\nДля продолжения нажмите любую клавишу");
          getch();
       }
    }
    while (n != '3');
    fclose(f);
    return 0;
}
 
void Spisok_neusp(FILE *f)
{
    system("cls");
    
    struct student buffer;
    struct student mas[4];
    int i,j,t,k,n;
    char str[11];
    
    rewind(f);
    if(fread(&mas,sizeof(struct student),4,f)!=4)
    printf("Ошибка");
    
        for(i=0;i<3;i++)
        for(j=i+1;j<4;j++)
        {
            strncpy(str,mas[i].zachet,sizeof(str)-1);
            for(t=0;t<11;t++)
            
                
                if(str[t]=='н')
                {
                    k++;
                }
            
            strncpy(str,mas[j].zachet,sizeof(str)-1);
            for(t=0;t<11;t++)
                if(str[t]=='н')
                {
                    n++;
                }
            if(n>k)
            {
                buffer=mas[i];
                mas[i]=mas[j];
                mas[j]=buffer;
            }
            k=0;
            n=0;
        }
        
 
        for(i=0;i<4;i++)
        {
            strncpy(str,mas[i].zachet,sizeof(str)-1);
            for(t=0;t<11;t++)
            
                if(str[t]=='н')
                {
                    k++;
                }
            
 
            if(k!=0)
            {
                printf("%s%s%s\n" ,mas[i].fio,mas[i].gr,mas[i].sr);         
            }   
            k=0;
        }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 11:21     Вывод структур
Посмотрите здесь:

C++ Массив структур
Массив структур C++
заполнение массива структур из файла и вывод на экран/в файл C++
C++ Вывод полей структур в консоль
Массив структур C++
C++ Работа с файлами: ввод/вывод структур ("Город")
C++ Инициализация структур и не вывод строчки char*
C++ Вывод нескольких значений в бинарном поиске из массива структур

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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