01.04.2013, 17:48. Просмотров 427. Ответов 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
| #include <cstdio>
#include <iostream>
#include <cstdlib>
#include <ctype.h>
using namespace std;
#define classes 3
#define grades 3
int grade[classes][grades];
void enter_grades(void);
int puts_grades(int num);
int schital_grades(int g[][grades]);
int main(){
char ch;
char str[10];
do{
char slovo[] = {"vvod v , p, s"};
puts(slovo);
gets(str);
ch = toupper(*str);
}while(ch!= 'V' && ch!= 'P' && ch!= 'S');
int s = 1;
switch(ch){
case 'V':
enter_grades();
break;
case 'P':
exit(0);
case 'S':
schital_grades(grade); /* вопрос возник здесь!!почему почему при обращении массива пишется имя массива grade [][]?тогда как при написания прототипа функции schital_grades(int g[][]) используется другой созданный массив, при попытки подставить в функцию schital_grades(int grade[][]) выдает ошибку!!не могу понять именно ЛОГИКУ!!*/
}
system("pause");
return 0;
}
void enter_grades(){
int i, j;
for(i=0;i<classes;i++){
printf("Classes %d: \n", i+1);
for(j=0;j<grades;j++){
grade[i][j] = puts_grades(i);
}
}
}
int schital_grades(int g[][grades]){ // вот здесь аналогичная ситуация int schital_grades(int grade[][grades]) ОШИБКА!!
for(int i=0;i<classes;i++){
printf("gruppa %d\n", i+1);
for(int j=0;j<grades;j++){
printf("student #%d is %d\n", i+1, g[i][j]);
}
}
}
int puts_grades(int num){
char s[20];
printf("vvedi otsenku studentu %d : \n", num+1);
gets(s);
return(atoi(s));
} |
|
Заранее благодарю и строго не судите!!