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

Структура: Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5"

26.04.2013, 13:40. Просмотров 971. Ответов 4
Метки нет (Все метки)

Условие задачи:
Дана ведомость студентов: Фамилия студента, оценка_1, оценка_2.
Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "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
34
35
36
37
#include<iostream>
#include<stdio.h>
#include<conio.h>
 
int main()
{
 //const n=3;
 int n=3;
    int i;int ycpex_1, ycpex_2;
    struct student {char fam[15];
    int o4enka_1;
    int o4enka_2;
};
student stud[n];
for (i=0;i<n;i++)
{
    printf("%d-i student",i);
    printf ("\n familia:");scanf("%s",&stud[i].fam);
    printf("o4enka_1:"); scanf("%d",&stud[i].o4enka_1);
    printf("o4enka_2:"); scanf("%d1",&stud[i].o4enka_2);
}
ycpex_1=3;
for(i=0;i<n;i++)
if (stud[i].o4enka_1>ycpex_1) ycpex_1=stud[i].o4enka_1;
if (stud[i].o4enka_1>ycpex_2) ycpex_1=stud[i].o4enka_2;
//printf ("\n studenty s max stipendiei  %d rub",ycpex_1);
 
//ycpex_2=3;
//for(i=0;i<n;i++)
//if (stud[i].o4enka_2>ycpex_2) ycpex_2=stud[i].o4enka_2;
printf ("\n student ycpesh cdal ek3amen na %d u %d",ycpex_1);  //,ycpex_2
 
 
for (i=0;i<n;i++)
if(stud[i].o4enka_1==ycpex_1) if(stud[i].o4enka_2==ycpex_1) printf("\n%s",stud[i].fam);
getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2013, 13:40
Ответы с готовыми решениями:

Разбить файл на строки так, чтобы каждая оканчивалась либо ";", либо содержала 30 любых литер, кроме ";"
Разработать программу, которая формирует на основе внешнего текстового файла Т1 файл Т2, разбивая...

Сразу после загрузки системы открывается либо окно "Состояние - Internet", либо окно "Сеть и интернет"
После обновления с Win7 на 10 возникло следующее: сразу после загрузки системы открывается окно...

Результаты сдачи экзамена группой из N сту-дентов находятся в массиве REZ. Подсчитать количество студентов, сдавших экзамен на "хорошо" и "отлично"
Задача 68. Результаты сдачи экзамена группой из N сту-дентов находятся в массиве REZ. Подсчитать...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

4
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
26.04.2013, 19:22 2
Дана ведомость студентов: Фамилия студента, оценка_1, оценка_2.
Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "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
34
35
36
37
38
39
40
41
42
43
#include <cstddef>
#include <cstdio>
 
struct Student
{
    char surname[51];
    int mark1;
    int mark2;
};
 
int main()
{
    const std::size_t n = 5;
    Student student[n];
 
    for(std::size_t i = 0; i < n; ++i)
    {
        std::printf("STUDENT#%d\n", i + 1);
 
        std::printf("surname: ");
        std::scanf("%50s", student[i].surname);
 
        std::printf("makr1: ");
        std::scanf("%d", &student[i].mark1);
 
        std::printf("mark2: ");
        std::scanf("%d", &student[i].mark2);
    }
 
    std::printf("\n----------------------\n");
 
    int total = 0;
    for(std::size_t i = 0; i < n; ++i)
    {
        if(student[i].mark1 > 3 && student[i].mark2 > 3)
        {
            std::printf("%s %d %d\n", student[i].surname, student[i].mark1, student[i].mark2);
            ++total;
        }
    }
 
    std::printf("TOTAL: %d\n", total);
}
Проверку на корректность вводимых данных сделаете самостоятельно.
2
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
26.04.2013, 19:57  [ТС] 3
Идет принятие данных, но результатов нет
0
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
26.04.2013, 20:16 4
Подключите
C++
1
#include <cstdlib>
и после строки
C++
1
std::printf("TOTAL: %d\n", total);
добавьте
C++
1
std::system("pause");
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
26.04.2013, 20:23  [ТС] 5
Спасибо,работает.
Структура: Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2013, 20:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Из слов "Работа", "крест", "тон" составить фразу "Кто не работает, тот не ест" и определить ее длину
Из слова &quot;Работа&quot;,&quot;крест&quot;,&quot;тон&quot; составить фразу:&quot;Кто не работает, тот не ест&quot; и определить ее длину.

При включении USB-устройства либо вообще не подают признаков жизни, либо "не принимают команды"
При включении ПК и загрузке Windows, устройства, подключенные по USB либо вообще не подают...

Ошибка в графиках "Все расчеты привели либо к ошибке, либо к комплексному результату."
Здравствуйте, не получается построить графики, выдает одну и ту же ошибку. Похоже, что не считает...


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

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

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