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

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

Войти
Регистрация
Восстановить пароль
 
Murkun
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 4
#1

надо немного подправить, пожалуйста - C++

16.12.2013, 21:43. Просмотров 196. Ответов 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
// Student.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"     
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <string>
 
using namespace std;    //для использования cout и cin
 
struct STUDENT      // начало структуры
{
    char FIO[30];   // символьный массив для фамилии и инициалов
    int GrNumber;   // номер группы
    int Ocenki[5];  // массив с оценками
};
 
void Sort_Vstavki(STUDENT Array[], int size)    //функция сортировки массива структур по алфавиту
{
    int i, j;   //счетчики
    STUDENT x;  //буфер
 
    for (i = 1; i<size; i++)    //начало цикла
    {
        x = Array[i];   //помещаем i-тый элемент в буфер
        j = i - 1;      //j указывает на предыдущий элемент массива
        while ((j >= 0) && (strcmp(Array[j].FIO, x.FIO)>0)) // пока j>=0 и j-тая строка больше строки из буфера, делать
        {
            Array[j + 1] = Array[j];    // присвоить j+1 элементу значение j-го
            j--;    // j уменьшить на 1
        }
        Array[j + 1] = x;   //присвоить j+1 элементу значение буфера
    }
}
 
void Vvod (STUDENT mass[], int size)    //функция ввода данных в массив структур
{
    cout << "Press ENTER to start...\n";
    for (int i = 0; i < size; i++)
    {
        cin.ignore(); // для исключения ошибок ввода
        cout << "Enter data of " << i + 1 << " student" << endl;
        cout << "Second name and initials: "; cin.getline(mass[i].FIO, 30);     //ввод ФИО
        cout << "Group number: "; cin >> mass[i].GrNumber;      //ввод номера группы
        cin.ignore();   // для исключения ошибок ввода
        cout << "Enter 5 grades: \n";
        for (int j = 0; j < 5; j++)     //цикл ввода оценок
        {
            cin >> mass[i].Ocenki[j];   //считать оценку с клавиатуры
        }
        cout << endl;   //перевод строки
    }
}
 
void Vyvod(STUDENT mass[], int i)   //функция вывода ФИО и номера группы на экран
{
    cout << mass[i].FIO << ", group " << mass[i].GrNumber << endl; // вывод
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    STUDENT mass[10];   //массив структур
    int k = 0, z=0;     //счетчик
 
    Vvod (mass, 10);    //ввод данных
 
    Sort_Vstavki (mass, 10);    //сортировка 
 
    for (int i = 0; i < 10; i++)    //цикл проверки на двоечника
    {
        k = 0;      // инициализация счетчика нулем
        for (int j = 0; j < 5; j++)     //цикл проверки каждой из оценок
        {
            if (mass[i].Ocenki[j]==2)       // если оценка равна 2
            {
                k++;    //счетчик увличить на 1
            }
        }
        if (k>0)    //если счетчик больше нуля
        {
            Vyvod(mass, i);     // вывести информацию о студенте на экран
            z++;        //z увеличить на 1
        }
    }
    if (z == 0)     //если z остался 0, то
        cout << "No students from grades 2";    //вывести сообщение
    cin.get();
    getchar();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 21:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос надо немного подправить, пожалуйста (C++):

Выводит немного не то что надо ,как подправить код - C++
Всем привет, подскажите плиз как сделать так . 1)Если я ввожу числа больше 10 ,то снова надо ввести и так до бесконечности пока не введу...

подправить немного - C++
#include &lt;iostream&gt; using namespace std; int main() { int i, j, N, M; double *a,*b,*c; cout«&quot;N = &quot;; cin»N; cout«&quot;M = &quot;;...

Немного подправить. - C++
Имеется код программы. Он рабочий, но почему то при вводе данных в программу, в документе database.txt выводятся какие то символы, но ни...

Немного подправить код - C++
Друзья, помогите, программа почему то сразу вылетает #include &lt;iostream&gt; #include &lt;exception&gt; #include &lt;stdexcept&gt; #include...

вы немогли бы немного подправить - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; void main() {int i,j; float a,max,s=0,k=0,sr; for (i=0;i&lt;3;i++) for...

(С++)Нужно немного подправить программу - C++
Задача такова: Дан файл, содержащий сведения о телефонах абонентов. Структура записи файла: фамилия и инициалы абонента, год установки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
16.12.2013, 21:49 #2
Цитата Сообщение от Murkun Посмотреть сообщение
как сделать, чтобы при вводе номера группы не цифрами, а буквами, не выдавало ошибок?
объявить номер группы строкой, а не числом
0
nomyac
2 / 9 / 1
Регистрация: 12.10.2013
Сообщений: 43
16.12.2013, 22:21 #3
char GrNumber[10] или сколько тебе нужно
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 22:21
Привет! Вот еще темы с ответами:

Немного подправить код с наследованием (С++) - C++
.cpp файл #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &quot;5header.h&quot; ...

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

пожалуйста, подправить код - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include&lt;stdio.h&gt; using namespace std; int sd(int n, int d = 1) { if(n == 0) ...

помогите пожалуйста подправить код - C++
C++.Нужно удалить элемент из массива.Выдает ошибку - : error C2105: '--' needs l-value .Подскажить что не так,а то я еще в этом...


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

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

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