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

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

Восстановить пароль Регистрация
 
Murkun
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 4
16.12.2013, 21:43     надо немного подправить, пожалуйста #1
вроде ведь и не сложно, но я что-то совсем не понимаю.
как сделать, чтобы при вводе номера группы не цифрами, а буквами, не выдавало ошибок?
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 21:43     надо немного подправить, пожалуйста
Посмотрите здесь:

помогите пожалуйста подправить код C++
Немного подправить. C++
C++ вы немогли бы немного подправить
Немного подправить код C++
C++ Немного подправить код с наследованием (С++)
Надо переделать немного программу C++
C++ пожалуйста, подправить код
подправить немного C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
16.12.2013, 21:49     надо немного подправить, пожалуйста #2
Цитата Сообщение от Murkun Посмотреть сообщение
как сделать, чтобы при вводе номера группы не цифрами, а буквами, не выдавало ошибок?
объявить номер группы строкой, а не числом
nomyac
2 / 9 / 1
Регистрация: 12.10.2013
Сообщений: 43
16.12.2013, 22:21     надо немного подправить, пожалуйста #3
char GrNumber[10] или сколько тебе нужно
Yandex
Объявления
16.12.2013, 22:21     надо немного подправить, пожалуйста
Ответ Создать тему
Опции темы

Текущее время: 04:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru