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

структуры - C++

Восстановить пароль Регистрация
 
ДАгМА
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 23
27.12.2009, 09:54     структуры #1
описать структуру с именем student, содержащую следующие поля
1. фамилия и инициалы
2. номер группы
3 успеваемость(массив из 5 элементов)
Написать программу, выполняющие следующие действия
1. ввод с клавиатуры данных в массив, состоящих из 10 структур типа student. записи должны быть упорядочены по афавиту
2. вывод на дисплей фамилий и номер группы для всех студентов, имеющих хотя бы одну 2
3 если таких студентов нет, вывести соответствующие сообщение


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <locale.h>
#include <string.h>
#include <math.h>
 
int _tmain(int argc, _TCHAR* argv[])
 
{
    setlocale(LC_ALL, "Russian");
    struct student
    {
        char fio[15];
    int num_gr;
    float progress[5];
    };
    student mass[10];
    int i,j;
    printf ("Введите средний бал: \n");
printf ("-----------------------------\n"); 
for (i=0;i<5;i++)
scanf ("%s %d %s", &mass[i].fio, &mass[i].num_gr, &mass[i].progress);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2009, 09:54     структуры
Посмотрите здесь:

Структуры Оо C++
C++ Структуры
Структуры C++
C++ структуры
C++ СТРУКТУРЫ
структуры C++
структуры с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
27.12.2009, 14:51     структуры #2
Инициализуйте struct до
C++
1
main().
И вам понадобится 2 структуры одна для выделение памяти и 2ая для ваших данных
ДАгМА
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 23
27.12.2009, 23:22  [ТС]     структуры #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
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
122
123
124
125
126
127
128
#include<stdafx.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
 
const int n=4;
int j;
struct STUDENT
{
    char name [5];
    char ini [5];
    int n_gr[5];
    int mark [3];
    float ysp[5];
};
STUDENT mas[n],temp;
 
void vvod();
void vyvod();
void sort();
void poisk();
 
void main()
{
vvod();
printf("\n soderzimoe zapisi do sortirovki \n");
vyvod();
sort();
printf("\n soderzimoe zapisi posle sortirovki\n");
vyvod();
poisk();
getch();
}
//---------------------------------------------------------------------------
void vvod()
 
 {
 for(int i=0;i<5;i++)
 {
    printf(" \n Enter name:   ");
        scanf("%s",&mas[i].name);
        printf(" Entern ini:   ");
        scanf("%s",&mas[i].ini);
        printf(" Entern n_gr:   ");
        scanf("%i",&mas[i].n_gr);
       printf(" Entern ysp:   ");
        scanf("%i",&mas[i].ysp);
 
        printf("\n Enter mark:\n");
 
 
 
        for(j=0;j<3;j++)
        {
                printf (" %i: ",j+1);
                scanf("%f",&mas[i].mark[j]);
        }
        
 }
}
//---------------------------------------------------------------------------
void vyvod()
 
{
 
for(int i=0;i<n;i++)
{
     printf("\n%d) Name: %s",i+1,mas[i].name);
      printf("\n  ini: %s",mas[i].ini);
     printf("\n   ysp: %s",mas[i].ysp);
     printf("\n   mark: %d.%d.%d \n",mas[i].mark[0],mas[i].mark[1],mas[i].mark[2]);
 }
 
}
//---------------------------------------------------------------------------
void sort()
 
{
    
    int i,j,m,imin;
 
 
    for(i=0;i<n;i++)
    {
        imin=i;
        for(j=i+1;j<n;j++) 
            if(mas[j].ysp[i]<mas[imin].ysp[i]) imin=j;
            temp=mas[i];
            mas[i]=mas[imin];
            mas[imin]=temp;
    }
 
    
    //for(k=0;k<n;k++)
    //{
        //kmin=k;
        //for(m=k+1;m<n;m++) 
        //    if(people[m].date[0]<people[kmin].date[0]) kmin=m;
            //tempk=people[k];
            //people[k]=people[kmin];
            //people[kmin]=tempk;
    //}
}    
//-----------------------------------------------------------------------
void poisk()
{int l=0;
    char sfound[100];
    printf("Введите имя студента для поиска:\n");
    scanf("%s",sfound);
int i,count=0;
printf ("enter name: ");
scanf("%d", &i);
 
for(int i=0;i<n;i++)
 
if(strcmp(sfound,mas[i].name==0)
{
    char bufname[100],bufini[100];
 
                    OemToCharA(mas[i].name,bufname);
                        OemToCharA(mas[i].ini,bufini);
 
printf("%s %s -  %s : %d.%d.%d. \n",mas[k].name,mas[k].ini, mas[k].ysp,mas[k].mark[0],mas[k].mark[1],mas[k].mark[2]);
count++;
}
if(!count) printf("No people");
}
Yandex
Объявления
27.12.2009, 23:22     структуры
Ответ Создать тему
Опции темы

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