Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define MAX_STUDENTS 100
  4. #define MAX_NAME 50
  5.  
  6. int readPositiveInt();
  7. void readStudentData(int numbers[MAX_STUDENTS],
  8. char names[MAX_STUDENTS][MAX_NAME],
  9. int line);
  10. void readStudentData2(int *number,
  11. char name[MAX_NAME]);
  12. void printStudentData(int numbers[MAX_STUDENTS],
  13. char names[MAX_STUDENTS][MAX_NAME],
  14. int grades[MAX_STUDENTS],
  15. int line);
  16. void printStudentsData(int numbers[MAX_STUDENTS],
  17. char names[MAX_STUDENTS][MAX_NAME],
  18. int grades[MAX_STUDENTS],
  19. int num_students);
  20. void readStudentsGrades(int numbers[MAX_STUDENTS],
  21. int grades[MAX_STUDENTS],
  22. int num_students);
  23.  
  24. int main (void){
  25. int numbers[MAX_STUDENTS];
  26. char names[MAX_STUDENTS][MAX_NAME];
  27. int grades[MAX_STUDENTS];
  28. int num_students, i;
  29.  
  30. printf("Insert number of students: ");
  31. num_students = readPositiveInt();
  32.  
  33. //printf("\n\n");
  34. //for(i = 0; i < num_students; i++){
  35. // readStudentData(numbers, names, i);
  36. //}
  37.  
  38. printf("\n\n");
  39. for(i = 0; i < num_students; i++){
  40. readStudentData2(&numbers[i], names[i]);
  41. }
  42.  
  43. readStudentsGrades(numbers, grades, num_students);
  44.  
  45. printStudentsData(numbers, names, grades, num_students);
  46.  
  47. return 0;
  48. }
  49.  
  50. int readPositiveInt()
  51. {
  52. int n, r;
  53.  
  54. do
  55. {
  56. r = scanf("%d", &n);
  57. while(getchar() != '\n');
  58. }
  59. while(r != 1 || n <= 0);
  60.  
  61. return n;
  62. }
  63.  
  64. void readStudentData(int numbers[MAX_STUDENTS],
  65. char names[MAX_STUDENTS][MAX_NAME],
  66. int line){
  67.  
  68. printf("Insert student number: ");
  69. numbers[line] = readPositiveInt();
  70.  
  71. printf("Insert student name: ");
  72. scanf("%s", names[line]);
  73. }
  74.  
  75. void readStudentData2(int *number,
  76. char name[MAX_NAME]){
  77.  
  78. printf("Insert student number: ");
  79. (*number) = readPositiveInt();
  80.  
  81. printf("Insert student name: ");
  82. scanf("%s", name);
  83. }
  84.  
  85. void printStudentData(int numbers[MAX_STUDENTS],
  86. char names[MAX_STUDENTS][MAX_NAME],
  87. int grades[MAX_STUDENTS],
  88. int line){
  89. printf("Student number: %d\n", numbers[line]);
  90. printf("Student name: %s\n", names[line]);
  91. printf("Student grade: %d\n\n", grades[line]);
  92. }
  93.  
  94. void printStudentsData(int numbers[MAX_STUDENTS],
  95. char names[MAX_STUDENTS][MAX_NAME],
  96. int grades[MAX_STUDENTS],
  97. int num_students){
  98. int i;
  99. printf("\n\n");
  100. for(i = 0; i < num_students; i++){
  101. printStudentData(numbers, names, grades, i);
  102. }
  103. }
  104.  
  105. void readStudentsGrades(int numbers[MAX_STUDENTS],
  106. int grades[MAX_STUDENTS],
  107. int num_students){
  108. int i;
  109. printf("\n\n");
  110. for(i = 0; i < num_students; i++){
  111. printf("Insert grade of student n%c %d: ", 248, numbers[i]);
  112. grades[i] = readPositiveInt();
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement