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

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

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

Не могу понять как написать правильно. - C++

15.12.2009, 04:54. Просмотров 500. Ответов 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
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
129
130
131
132
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>
 
setlocale(LC_ALL, "Russian");
 
typedef struct
{
char name [20];
int group;
int mark[5];
} STUDENT;
 
void fill(STUDENT array[]);
void sort(STUDENT a[]);
void show(STUDENT array[]);
 
int entcontrol(int a, int b);
void entcontrol2(char array[]);
 
int main()
{
STUDENT stud[10];
 
fill(stud);
sort(stud);
show(stud);
 
return 0;
}
 
 
void fill(STUDENT array[])
{
char temp[20];
for(int i=0; i<10; i++)
{
printf("Введите имя и инициалы: ");
entcontrol2(temp);
array[i].name = temp;
printf("\nВведите номер группы: ");
array[i].group = entcontrol(1,100);
 
for(int j=0; j<5; j++)
{
printf("\nВведите оценку %d: ", j);
array[i].mark[j] = entcontrol(2,5);
}
printf("\n\n");
}
}
 
void sort(STUDENT a[])
{
for (int i=0; i<10; i++)
{
if (atoi(a[i].name) > atoi(a[i+1].name))
{
STUDENT p = a[i];
a[i] = a[i+1];
a[i+1] = p;
}
}
}
 
void show(STUDENT array[])
{
bool bl=0;
for(int i=0; i<10; i++)
{
for(int j=0; j<5; j++)
{
if(array[i].mark[j]==2) {printf("%s\n"array[i].name); bl=1;}
}
}
if(!bl) printf("\nНет ни одного студента, имеющего хотя бы одну оценку 2.");
}
 
void entcontrol2(char array[])
{
bool bl;
int i,N;
char str[20];
 
do
{
scanf("%s",str);
bl = 1;
for(i=0;i<strlen(str);i++)
 if(!isalpha(str[i])&&!isspace(str[i]))
{
printf("Error: wrong name! Use only letters or space.\n");
bl=0;
break;
}
}
while (!bl);
array = str;
}
 
 
 
int entcontrol(int a, int b)
{
bool bl;
int i,N;
char str[20];
 
do
{
scanf("%s",str);
bl = 1;
for(i=0;i<strlen(str);i++)
 if(!isdigit(str[i]))
{
printf("Error: wrong value\n");
bl=0;
break;
}
N = atoi(str);
if(N<a || N>b)
{
printf("Error: wrong value\n");
bl = 0;
}
}
while (!bl);
return N;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2009, 04:54     Не могу понять как написать правильно.
Посмотрите здесь:

Не могу понять как правильно считать строки - C++
Задача: Задача1. «Поиск в строке» Самым популярным вопросом прошлого контеста был вопрос о сколь угодно длинных строках. По...

Не могу понять как правильно сделать задачу с функциями - C++
В рамках университетского Дня спорта в соревнованиях по кроссу участвуют команды факультетов, состоящие из трех преподавателей. При...

Не могу понять, как правильно передать указатель на объект в файл - C++
Есть вектор v, который надо отсортировать. Есть класс MergeSort, который это должен делать, он содержит в качестве параметра указатель на...

Не могу понять как написать - C++
Доброго времени суток. Не мог бы кто помочь в написании программ: 1. Определить имеет ли действительные корни уравнение ax2 + bx + c =...

Теория вероятностей. Не могу понять как написать на С++ - C++
Определить вероятность того, что в семье имеющей 6 детей не больше 4 девочек. Веpоятность pождения девочки p=0.5, мальчика q=1-p...

Не могу понять как написать в switch - если значение не действительно - C++
Не могу понять как написать в switch statement &quot;Error - the day you entered is not valid&quot;. Стоит задача: Написать программу,...

не могу понять че тут не правильно - C++
задание: Дана последовательность чисел а1,а2,...,аn. Указать наименьшую длину числовой оси, содержащуювсе эти числа.#include &lt;vcl.h&gt; ...

Не могу понять правильно ли сделана? - C++
В радиоателье хранятся квитанции о сданной в ремонт радиоаппарату- ре. Каждая квитанция содержит следующую информацию: наименование груп-...

Не могу понять почему программа работает не правильно! - C++
Задание: Программа находит в строке 1 символ который не входит во 2 заданную строку. Помогите исправить ошибку. ...

Написал программу, не могу понять правильно или нет - C++
Написать функцию sum с переменным числом параметров, которая находит сумму чисел типа int по формуле: S=a1*a2+a2*a3+a3*a4+. . . . . ...

как правильно понять строку в коде? - C++
#include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main() { int t , i; char text ; for (t=0 ; t&lt;10 ;...

Не могу понять как передать - C++
есть код #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;time.h&gt; #include &lt;ctime&gt; #include &lt;tchar.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
15.12.2009, 05:48     Не могу понять как написать правильно. #2
поправил синтаксис, логику не трогал
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
129
130
131
132
133
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>
 
 
 
typedef struct
{
    char name [20];
    int group;
    int mark[5];
} STUDENT;
 
void fill(STUDENT array[]);
void sort(STUDENT a[]);
void show(STUDENT array[]);
 
int entcontrol(int a, int b);
void entcontrol2(char array[]);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    STUDENT stud[10];
 
    fill(stud);
    sort(stud);
    show(stud);
 
    return 0;
}
 
 
void fill(STUDENT array[])
{
    char temp[20];
    for(int i=0; i<10; i++)
    {
        printf("Введите имя и инициалы: ");
        entcontrol2(temp);
        strcpy(array[i].name,temp);
        printf("\nВведите номер группы: ");
        array[i].group = entcontrol(1,100);
 
        for(int j=0; j<5; j++)
        {
            printf("\nВведите оценку %d: ", j);
            array[i].mark[j] = entcontrol(2,5);
        }
        printf("\n\n");
    }
}
 
void sort(STUDENT a[])
{
    for (int i=0; i<10; i++)
    {
        if (atoi(a[i].name) > atoi(a[i+1].name))
        {
            STUDENT p = a[i];
            a[i] = a[i+1];
            a[i+1] = p;
        }
    }
}
 
void show(STUDENT array[])
{
    bool bl=0;
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<5; j++)
        {
            if(array[i].mark[j]==2) {printf("%s\n",array[i].name); bl=1;}
        }
    }
    if(!bl) printf("\nНет ни одного студента, имеющего хотя бы одну оценку 2.");
}
 
void entcontrol2(char array[])
{
    bool bl;
    int i,N;
    char str[20];
 
    do
    {
        scanf("%s",str);
        bl = 1;
        for(i=0;i<strlen(str);i++)
            if(!isalpha(str[i])&&!isspace(str[i]))
            {
                printf("Error: wrong name! Use only letters or space.\n");
                bl=0;
                break;
            }
    }
    while (!bl);
    array = str;
}
 
 
 
int entcontrol(int a, int b)
{
    bool bl;
    int i,N;
    char str[20];
 
    do
    {
        scanf("%s",str);
        bl = 1;
        for(i=0;i<strlen(str);i++)
            if(!isdigit(str[i]))
            {
                printf("Error: wrong value\n");
                bl=0;
                break;
            }
            N = atoi(str);
            if(N<a || N>b)
            {
                printf("Error: wrong value\n");
                bl = 0;
            }
    }
    while (!bl);
    return N;
}
Ответ Создать тему
Опции темы

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