Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 40
1

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

15.12.2009, 04:54. Показов 717. Ответов 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;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2009, 04:54
Ответы с готовыми решениями:

Циклы и функции,не могу понять как правильно написать
Вот задание: #include &lt;iostream&gt; using namespace std; int mod_1(int n){ int count = 0;...

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

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

Не могу понять как правильно сделать объединение
Добрый день совсем недавно начал изучать join не могу сделать запрос. Сейчас я делаю запрос SELECT...

1
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
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;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2009, 05:48

Не могу понять как правильно описать цикл
Помогите пожалуйста. Не могу понять как правильно описать цикл. С помощью метода: Найти количество...

Не могу понять как правильно сделать пример
package com.company; import java.util.Scanner; import static java.lang.Math.*; public...

Не могу понять, как правильно применить формулу Пика
Синими точками отмечены узлы клеток на границе, красные - узлы клеток внутри фигуры. По формуле...

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

Не могу понять как правильно сделать программы для этих задач
1. Если символ есть «Т», то создать целочисленный файл. Преобразовать его так: записать +1 вместо...

Не могу понять как написать
Доброго времени суток. Не мог бы кто помочь в написании программ: 1. Определить имеет ли...


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

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

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