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

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

Войти
Регистрация
Восстановить пароль
 
yamaschi
2 / 2 / 0
Регистрация: 09.12.2011
Сообщений: 34
#1

Помогите пож создать программу на С++ чтобы выводился список только тех студентов, у которых больше одной двойки - C++

11.05.2012, 15:44. Просмотров 675. Ответов 1
Метки нет (Все метки)

Пример решения задачи

Задача. Входной файл st.txt содержит сведения о сдаче студентами группы экзаменационной сессии. Каждая запись файла содержит фамилию и инициалы студента (15 символов) и пять оценок (5 символов) и завершается символом ”перевод строки”. Напечатать список студентов с указанием среднего балла каждого студента.

Программа:

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
   /*-------------------------------------------------------*/
   /*  Печать среднего балла каждого студента */
   /*-------------------------------------------------------*/
 
#include <stdio.h>
 
struct STUDENT
{ char fio[15];   /* фамилия и.о. */
  char oc[7];     /* 5 оценок + '\n' + '\0' */
};
 
 
void main()
{ FILE *f;            /* указатель на входной файл */
  struct  STUDENT  tz;  /* текущая запись файла */
  int i,
       s;              /* сумма оценок */
 
  if ((f= fopen("st.txt","r")) == NULL)
  { puts ("Файл st.txt не найден");
     return;
  }
  puts ("\nФамилия и.о.   Ср.балл");
  puts ("------------------------------");
  while (fgets(&tz,sizeof(struct STUDENT),f)!=NULL)
  { for (i=0,s=0; i<5; i++)
        s+=tz.oc[i]-'0';
     tz.fio[14]='\0';
     printf("%s  %.1f\n", tz.fio, (float)s/5);
  }
  fclose(f);
  getch();
}

Пример входного файла st.txt:

Анисимов А.И. 54435
Берхеев П.В. 55445
Вавилова С.Н. 45343
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2012, 15:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите пож создать программу на С++ чтобы выводился список только тех студентов, у которых больше одной двойки (C++):

Измените программу, чтобы выводился список только тех студентов - C++
Измените программу, чтобы выводился список только тех студентов, у которых в) только хорошие и отличные оценки; Добавьте определение...

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

Создать список студентов с оценками по нескольким дисциплинам. Отсортировать список по убыванию среднего балла. Имеющих двойки удалить из списка. - C++
Помогите сделать лабу задание:Создать список студентов с оценками по нескольким дисциплинам. Отсортировать список по убыванию среднего...

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы - C++
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех столбцов введенной матртцы, сумма которых...

Создать новый файл из тех компонент исходного файла, сумма цифр которых больше четырех, но меньше девяти - C++
Записать в файл последовательного f доступа n первых натуральных четных чисел. Создать новый файл из тех компонент исходного файла, сумма...

Измените программу, чтобы выводился список только тех студентов, у которых только хорошие и отличные оценки - C (СИ)
Измените программу, чтобы выводился список только тех студентов, у которых в) только хорошие и отличные оценки; Добавьте определение...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
11.05.2012, 20:27 #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
  /*-------------------------------------------------------*/
   /*  Печать среднего балла каждого студента */
   /*-------------------------------------------------------*/
 
#include <stdio.h>
 
struct STUDENT
{ char fio[15];   /* фамилия и.о. */
  char oc[7];     /* 5 оценок + '\n' + '\0' */
};
 
 
void main()
{ FILE *f;            /* указатель на входной файл */
  struct  STUDENT  tz;  /* текущая запись файла */
  int i,
       s;              /* сумма оценок */
 
  if ((f= fopen("st.txt","r")) == NULL)
  { puts ("Файл st.txt не найден");
     return;
  }
  puts ("\nФамилия и.о.   Ср.балл");
  puts ("------------------------------");
  while (fgets(&tz,sizeof(struct STUDENT),f)!=NULL)
  { 
     if(tz.oc[4] > 1) {
           tz.fio[14]='\0';
           printf("%s\n", tz.fio;
     }
  }
  fclose(f);
  getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2012, 20:27
Привет! Вот еще темы с ответами:

Напишите подпрограмму чтобы выводился список только тех студентов, у которых только хорошие и отличные оценки. - C (СИ)
Задание: Напишите подпрограмму чтобы выводился список только тех студентов, у которых только хорошие и отличные оценки. Вот сама...

Подсчитать число студентов, получивших больше одной двойки - Prolog
Вывести студентов к отчислению (количество двоек &gt; 1). Domains fam = string ocinka = integer N = integer Predicates

Определить количество студентов, у которых нет ни одной двойки - Pascal
Помогите решить, кто в этом шарит... буду очень благодарен!:) Задана таблица успеваемости по десяти предметам в группе из 25 студентов....

Вывести на экран фамилии тех студентов, рост которых больше 170см - Free Pascal
В ЭВМ вводятся фамилии и рост студентов первого курса. Вывести на экран фамилии тех студентов, рост которых больше 170см (для определения...


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

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

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