Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 46, средняя оценка - 4.65
Altair42
0 / 3 / 1
Регистрация: 28.06.2013
Сообщений: 349
#1

Учусь программированию на языке с++ самостоятельно - C++

08.04.2014, 09:56. Просмотров 6982. Ответов 160
Метки нет (Все метки)

Учусь программированию на языке с++ самостоятельно (уроки Дениса Маркова в Ютуб).
После урока с циклами у меня возникли огромные проблемы. Не могу выполнит домашку.
Данный момент изучаю массивы.
Задачи:
1. Найти сумму всех элеметов массива. - С этим как то разобрался с помошю этого форума.
2. Найти нужный элемент в массиве. Вывести его индекс, если в массиве нет такого значение вывести 1.
Вроде бы надо действовать так:
- Создать массив;
- Запомнит элементы массива;
- устроит ввод элемента с консоли для проверки;
- использовать "if else" для вывода единички если элемент не находится в массиве, а если находится вывести индекс.
Вот я не знаю как сохранит в программе элементы массива. Только при вводе с консоли.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
       int main()
{
    setlocale (LC_ALL , "Russian");
    int A[5];
       
    for(int i = 1; i <= 4; i++)
    {  
    cout << "Введите значение" << i <<" эелемента массива:  ";
    while(!(cin >> A[i]))
        cout << "Не верный ввод" << endl;
}
                
       _getch ();
        return 0;
}

А вот сохранит в программе не как. Постоянно выдает ошибку.

Мне не нужен готовый код. Нужна правильное направление.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 09:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Учусь программированию на языке с++ самостоятельно (C++):

сессия.Какой подход к программированию используется на языке С++
1.Какой подход к программированию используется на языке С++? Основные понятия,...

Учусь c ++
В общем читал статью в учебнике &quot;Умные опеpатоpы&quot;. Дальше идет такая...

Учусь умножать
Здравствуйте, дорогие обитатели CyberForum :) Есть небольшая просьба, прошу...

Какая книга по программированию обьясняет все с математикой и подробно излагает все темы?По программированию?
Не Бьерн Страуструп?А то не нравится мне у Лафоре тип изложения книги,довольно...

учусь разбирать чужой код
что делает эта функция? static unsigned long foo (char *w) { int c;...

Перегрузка операторов. Учусь. Ошибка
перегрузка операторов.. ЗАДАНИЕ: М2=М1-V – из М1 удалить строки, сумма...

160
tceygo
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 1
23.04.2014, 20:34 #161
Учу С++ по книге Джона Смайли "Учимся програмировать на С++"
После добавления цикла начаись проблемы, подскажите что не так.

Код програмы до:
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// Grades.cpp
#include <iostream>
 
int main ()
{
    using namespace std;
    const float ENGLISH_MIDTERM_PERCENTAGE = .25;
    const float ENGLISH_FINALEXAM_PERCENTAGE = .25;
    const float ENGLISH_RESEARCH_PERCENTAGE = .30;
    const float ENGLISH_PRESENTATION_PERCENTAGE = .20;
    const float MATH_MIDTERM_PERCENTAGE = .50;
    const float MATH_FINALEXAM_PERCENTAGE =.50;
    const float SCIENCE_MIDTERM_PERCENTAGE = .40;
    const float SCIENCE_FINALEXAM_PERCENTAGE = .40;
    const float SCIENCE_RESEARCH_PERCENTAGE = .20;
    int midterm = 0;
    int finalExamGrade = 0;
    int research = 0;
    int presentation =0;
    float finalNumericGrade = 0;
    char finalLetterGrade;
    char response[256];
    
    // Для якого типу студента ведеться обчислення?
    cout << "Enter student typ " << 
    "(1=English, 2=Math, 3=Science): ";
    cin.getline(response,256);
    if (strlen(response)==0) { 
        cout << "You must select a Student Typ";
        return 1;
    }
    if ((atoi(response) < 1) | (atoi(response) > 3)) {
        cout << response << " is not a valid student type";
        return 1;
    }
    // Підходящий тип студента переходимо до обчислень
    switch(atoi(response))
    {
    //Випадок 1 - студент факультету англійської мови
    case 1:
        cout << "Enter the midterm grade: " ;
        cin.getline(response,256);
        midterm = atoi (response);
        cout << "Enter the Final Examination Grade: ";
        cin.getline(response,256);
        finalExamGrade = atoi (response);
        cout << "Enter the Research Grade: ";
        cin.getline(response,256);
        research = atoi(response);
        cout << "Enter the Presentation Grade: ";
        cin.getline(response,256);
        presentation = atoi(response);
        
        finalNumericGrade = (midterm*ENGLISH_MIDTERM_PERCENTAGE) +
        (finalExamGrade*ENGLISH_FINALEXAM_PERCENTAGE) +
        (research*ENGLISH_RESEARCH_PERCENTAGE) +
        (presentation * ENGLISH_PRESENTATION_PERCENTAGE);
        
        if (finalNumericGrade >= 93) finalLetterGrade = 'A';
        else
        if ((finalNumericGrade >= 85) & (finalNumericGrade < 93)) finalLetterGrade = 'B';
        else
        if ((finalNumericGrade >= 78) & (finalNumericGrade < 85)) finalLetterGrade = 'C';
        else
        if ((finalNumericGrade >= 70) & (finalNumericGrade < 78)) finalLetterGrade = 'D';
        else
        if (finalNumericGrade < 70) finalLetterGrade = 'F';
        
        cout << endl << "***ENGLISH STUDENT***" << endl << endl;
        cout << "Midterm grade is: " << midterm << endl;
        cout << "Final Exam is: " << finalExamGrade << endl;
        cout << "Research Grade: " << research << endl;
        cout << "Presentation grade: " << presentation << endl;
        cout << "Final Numeric Grade: " << finalNumericGrade << endl;
        cout << "Final Letter Grade: " << finalLetterGrade;
        break;
//Случай 2 - студент факультета математики
    case 2:
        cout << "Enter the Midterm Grade: ";
        cin.getline(response,256);
        midterm = atoi(response);
        cout << "Enter the Final Examination Grade: ";
        cin.getline(response,256);
        finalExamGrade = atoi(response);
        
        finalNumericGrade = (midterm*MATH_MIDTERM_PERCENTAGE) + 
        (finalExamGrade*MATH_FINALEXAM_PERCENTAGE);
        
        if (finalNumericGrade >= 90) finalLetterGrade = 'A';
        else
        if ((finalNumericGrade >= 83) & (finalNumericGrade < 90)) finalLetterGrade = 'B';
        else
        if ((finalNumericGrade >= 76) & (finalNumericGrade < 83)) finalLetterGrade = 'C';
        else
        if ((finalNumericGrade >= 65) & (finalNumericGrade <76)) finalLetterGrade = 'D';
        else
        if (finalNumericGrade <65) finalLetterGrade = 'F';
        cout << endl << "***MATH STUDENT***" << endl << endl;
        cout << "Midterm grade is: " << midterm << endl;
        cout << "Final Exam grade is: " << finalExamGrade << endl;
        cout << "Final Numeric Grades is: " << finalNumericGrade << endl;
        cout << "Final Letter Grades is: " << finalLetterGrade;
        break;
// Случай 3 - студент факультета естестваных наук
    case 3:
        cout << "Enter the Midterm Grade: ";
        cin.getline(response,256);
        midterm = atoi(response);
        cout << "Enter the Final Examination Grade: ";
        cin.getline(response,256);
        finalExamGrade = atoi(response);
        cout << "Enter the Research Grade: ";
        cin.getline(response,256);
        research = atoi(response);
        finalNumericGrade = (midterm*SCIENCE_MIDTERM_PERCENTAGE) +
        (finalExamGrade*SCIENCE_FINALEXAM_PERCENTAGE) +
        (research*SCIENCE_RESEARCH_PERCENTAGE);
        
        if (finalNumericGrade >= 90) finalLetterGrade = 'A';
        else
        if ((finalNumericGrade >= 80) & (finalNumericGrade <90)) finalLetterGrade = 'B';
        else
        if ((finalNumericGrade >= 70) & (finalNumericGrade <80)) finalLetterGrade = 'C';
        else 
        if ((finalNumericGrade >= 60) & (finalNumericGrade < 70)) finalLetterGrade = 'D';
        else
        if (finalNumericGrade < 60) finalLetterGrade = 'F';
        cout << endl << "***SCIENCE STUDET***" << endl << endl;
        cout << "Midterm grade is: " << midterm << endl;
        cout << "Final Exam is: " << finalExamGrade << endl;
        cout << "Research grade is: " << research << endl;
        cout << "Final Numeric Grade is: " << finalNumericGrade << endl;
        cout << "Final Letter Grade is: " << finalLetterGrade;
        break;
    default:
        cout << response << " - is not a valid student type";
    return 1;
    }
    return 0;
}
Результат:


Код програмы после:
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// Grades5_1.cpp
 
#include<iostream>
#include<string>
 
int main ()
{
    using namespace std;
    
    const float ENGLISH_MIDTERM_PERCENTAGE = .25;
    const float ENGLISH_FINALEXAM_PERCENTAGE = .25;
    const float ENGLISH_RESEARCH_PERCENTAGE = .30;
    const float ENGLISH_PRESENTATION_PERCENTAGE = .20;
    const float MATH_MIDTERM_PERCENTAGE = .50;
    const float MATH_FINALEXAM_PERCENTAGE = .50;
    const float SCIENCE_MIDTERM_PERCENTAGE = .40;
    const float SCIENCE_FINALEXAM_PERCENTAGE = .40;
    const float SCIENCE_RESEARCH_PERCENTAGE = .20;
    int midterm = 0;
    int finalExamGrade = 0;
    int research = 0;
    int presentation = 0;
    float finalNumericGrade = 0;
    char finalLetterGrade;
    char response[256];
    string moreGradesToCalculate;
    
    cout << "Do you want to calculate a grade? ";
    cin >> moreGradesToCalculate;
    
    for (int i = 0; i < moreGradesToCalculate.length(); i++) {
        moreGradesToCalculate[i] = toupper (moreGradesToCalculate[i]);
        }
    while(moreGradesToCalculate == "YES") {
    // Для якого типу студента ведуться розрахунки
        cout << "Enter student typ " << 
    "(1=English, 2=Math, 3=Science): ";
    cin.getline(response,256);
    if (strlen(response)==0) { 
        cout << "You must select a Student Typ";
        return 1;
    }
    if ((atoi(response) < 1) | (atoi(response) > 3)) {
        cout << response << " is not a valid student type";
        return 1;
    }
        // Підходящий тип студента переходимо до обчислень
        switch(atoi(response))      
        {
            //Випадок 1 - студент факультету англійської мови
            case 1:
                cout << "Enter the midterm grade: " ;
                cin.getline(response,256);
                midterm = atoi (response);
                cout << "Enter the Final Examination Grade: ";
                cin.getline(response,256);
                finalExamGrade = atoi (response);
                cout << "Enter the Research Grade: ";
                cin.getline(response,256);
                research = atoi(response);
                cout << "Enter the Presentation Grade: ";
                cin.getline(response,256);
                presentation = atoi(response);
        
                finalNumericGrade = (midterm*ENGLISH_MIDTERM_PERCENTAGE) +
                (finalExamGrade*ENGLISH_FINALEXAM_PERCENTAGE) +
                (research*ENGLISH_RESEARCH_PERCENTAGE) +
                (presentation * ENGLISH_PRESENTATION_PERCENTAGE);
        
                if (finalNumericGrade >= 93) finalLetterGrade = 'A';
                else
                if ((finalNumericGrade >= 85) & (finalNumericGrade < 93)) finalLetterGrade = 'B';
                else
                if ((finalNumericGrade >= 78) & (finalNumericGrade < 85)) finalLetterGrade = 'C';
                else
                if ((finalNumericGrade >= 70) & (finalNumericGrade < 78)) finalLetterGrade = 'D';
                else
                if (finalNumericGrade < 70) finalLetterGrade = 'F';
        
                cout << endl << "***ENGLISH STUDENT***" << endl << endl;
                cout << "Midterm grade is: " << midterm << endl;
                cout << "Final Exam is: " << finalExamGrade << endl;
                cout << "Research Grade: " << research << endl;
                cout << "Presentation grade: " << presentation << endl;
                cout << "Final Numeric Grade: " << finalNumericGrade << endl;
                cout << "Final Letter Grade: " << finalLetterGrade;
                break;
            //Случай 2 - студент факультета математики
            case 2:
                cout << "Enter the Midterm Grade: ";
                cin.getline(response,256);
                midterm = atoi(response);
                cout << "Enter the Final Examination Grade: ";
                cin.getline(response,256);
                finalExamGrade = atoi(response);
        
                finalNumericGrade = (midterm*MATH_MIDTERM_PERCENTAGE) + 
                (finalExamGrade*MATH_FINALEXAM_PERCENTAGE);
        
                if (finalNumericGrade >= 90) finalLetterGrade = 'A';
                else
                if ((finalNumericGrade >= 83) & (finalNumericGrade < 90)) finalLetterGrade = 'B';
                else
                if ((finalNumericGrade >= 76) & (finalNumericGrade < 83)) finalLetterGrade = 'C';
                else
                if ((finalNumericGrade >= 65) & (finalNumericGrade <76)) finalLetterGrade = 'D';
                else
                if (finalNumericGrade <65) finalLetterGrade = 'F';
                cout << endl << "***MATH STUDENT***" << endl << endl;
                cout << "Midterm grade is: " << midterm << endl;
                cout << "Final Exam grade is: " << finalExamGrade << endl;
                cout << "Final Numeric Grades is: " << finalNumericGrade << endl;
                cout << "Final Letter Grades is: " << finalLetterGrade;
                break;
            // Случай 3 - студент факультета естестваных наук
            case 3:
                cout << "Enter the Midterm Grade: ";
                cin.getline(response,256);
                midterm = atoi(response);
                cout << "Enter the Final Examination Grade: ";
                cin.getline(response,256);
                finalExamGrade = atoi(response);
                cout << "Enter the Research Grade: ";
                cin.getline(response,256);
                research = atoi(response);
                finalNumericGrade = (midterm*SCIENCE_MIDTERM_PERCENTAGE) +
                (finalExamGrade*SCIENCE_FINALEXAM_PERCENTAGE) +
                (research*SCIENCE_RESEARCH_PERCENTAGE);
        
                if (finalNumericGrade >= 90) finalLetterGrade = 'A';
                else
                if ((finalNumericGrade >= 80) & (finalNumericGrade <90)) finalLetterGrade = 'B';
                else
                if ((finalNumericGrade >= 70) & (finalNumericGrade <80)) finalLetterGrade = 'C';
                else 
                if ((finalNumericGrade >= 60) & (finalNumericGrade < 70)) finalLetterGrade = 'D';
                else
                if (finalNumericGrade < 60) finalLetterGrade = 'F';
                cout << endl << "***SCIENCE STUDET***" << endl << endl;
                cout << "Midterm grade is: " << midterm << endl;
                cout << "Final Exam is: " << finalExamGrade << endl;
                cout << "Research grade is: " << research << endl;
                cout << "Final Numeric Grade is: " << finalNumericGrade << endl;
                cout << "Final Letter Grade is: " << finalLetterGrade;
                break;
            default:
                cout << response << " - is not a valid student type";
            return 1;
            } // кінець оператора switch
        cout << endl << endl << "Do you have anothee grade to calculate? ";
        cin >> moreGradesToCalculate;
        for (int i = 0; i < moreGradesToCalculate.length(); i++) {
            moreGradesToCalculate[i] = toupper (moreGradesToCalculate[i]);
            }  // кінець цикла for
        }      // кінець цикла while
    cout << "Thanks for using the Grades Calculation program!";
    return 0;
    }
После ввода ответа на вопрос и единократного нажатия клавиши ENTR Имеем вот такой результат:
0
23.04.2014, 20:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2014, 20:34
Привет! Вот еще темы с решениями:

Массивы. Только учусь. Выборка и сортировка
Задание такое. Язык: C Define использовать нельзя!!! С клавиатуры...

Решит, вроде легко, но учусь на элементарных! Дайте экстра-класс
Задана последовательность n. Найти количество элементов, кратных 3. Напишите...

GeoTiff - примеры ее использования на языке c , желательно на русском языке
Добрый вечер. Дана курсовая с использованием библиотеки GeoTiff. Подскажите где...

Учусь визуальному программированию. Работа в Microsoft Visual C#2010 Express
Для компонента Panel изменить: тип шрифта с помощью компонента TrackBar. При...


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

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

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