46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
1

Не могу понять задачу

19.08.2011, 14:01. Показов 846. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется задача

http://rghost.ru/18509631/image.png

1 Фамилия , Имя - заключить в массив безграничный аля " familia_ima[] "
2 Знак зодиака - так-же заключить в массив аля "zodiac[]"
3 Дата рождения, так-же массив "rojdenia[]" но вывести проверку, если пишем Большими или маленькими буквами , то выводит сообщение "Писать только цифрами" и возврощаемся обратно в массив "rojdenia[]" (как лучше это сделать, через continue ?)
4 Вообще не понял что от меня хотят
5 после завершения с 1 по 4, выводить сразу или можно выбор аля
"Что хотите?
1- вывести на экран введеные данные?
2- посмотреть полный список людей?
3- выход"
6 При условии если выбираем допустим 1, if ( familia_ima[] не имеет данных) то пишем "вы не чего не ввели.
Как правильно оформить familia_ima[] , так что бы определить, вводили ли что-то там или нет.

Если сделать как
int i = 80
int m = 80 и т.д.
familia_ima[i]
zodiac[m] и т.д.

и сделать как if ( i <1 || m < 1 и т.д.) "Вы не чего не вводили"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2011, 14:01
Ответы с готовыми решениями:

Не могу понять задачу
Условие звучит так: для n введённых пользователем членов последовательности символов (имеются ввиду...

Не могу понять задачу с векторами
вот задача http://s017.***********/i429/1110/ab/26d7470b188f.jpg как ее можно реализовать

Проверьте задачу не могу понять что не так
Не выводит сравнение, оператор if не работает, я видимо его не туда засунул или что, не могу понять...

Не могу понять как правильно сделать задачу с функциями
В рамках университетского Дня спорта в соревнованиях по кроссу участвуют команды факультетов,...

8
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
19.08.2011, 14:06 2
Инициализируйте каждую фамилию так
C
1
familia_ima[0] = '\0'
А потом проверяйте
C
1
if(strlen(familia_ima) > 0)
1
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
19.08.2011, 14:09 3
https://www.cyberforum.ru/cpp-... 06178.html

Добавлено через 16 секунд
https://www.cyberforum.ru/sear... id=3476689
2
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.08.2011, 16:56  [ТС] 4
Maxwe11
наматал на ус, сейчас с этим прикину что да как в этом коде и выполню подобную задачу.

Я просто не мог понять, что за структура и как описать еще, обычно все это я в main делал. А тут задача, в до этого в главе не чего не было про структуру ))

Добавлено через 2 часа 27 минут
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
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
using namespace std;
 
struct ZNAK
{
        char FAMN[8];
        char ZDK[8];
        int birth;
        int data;
};
int main(int argc, char *argv[])
{ 
    SetConsoleCP(1251);  //Òóïêà, øðèôò íå çàáóäü Lucida 
    SetConsoleOutputCP(1251); // Àé Àé òóïûå âèíäóçÿòíèêè
        int m=2;
        ZNAK *h = new ZNAK[m];
 
        int flag, c=0;
        cout<<"Ââåäèíòå äàííûå :"<<'\n';
        cout<<"_________________________________________"<<'\n';
        cout<<"Èìÿ | Çíàê Çîäèàêà | Ìåñÿö è Ãîä "<<'\n';
        cout<<"_________________________________________"<<'\n';
        for (int i=0; i<m; i++)
        {
                cin             >> h[i].FAMN 
                                >> h[i].ZDK  
                                >> h[i].birth 
                                >> h[i].data;
        }
        
        cout<<"Êàêîé ãîä ïîêàçàòü?\n";
        cin>>flag;
        for (int i=0; i<m; i++){
                if (flag==h[i].data){
                        cout << "\n______________\n";
                        cout << "Èìÿ    | Ìåñÿö \n";
                        cout << "______________\n";
                        cout << " "<<h[i].FAMN<<"\t";
                        cout << " "<<h[i].birth<<"\n";
                }
        }
        if (c==10)
                cout<<"Ïî ýòîé äàòå äàííûõ íåòó";
 
        delete[] h;
        system("pause");
        return 0;
}
Не могу понять , что с

C++
1
2
        if (c==10)
                cout<<"Ïî ýòîé äàòå äàííûõ íåòó";
При вводе отображения даты допустим 2222 , не выводит данное сообщение, где закрался касяк ?)
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
19.08.2011, 17:01 5
значение переменной с не меняется с момента иницилизации
0
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.08.2011, 17:19  [ТС] 6
Ага не заметил что то сразу.
Тогда нужно что то типо
Если вводите число больше чем h[i].birth, то выводим сообщение

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
        for (int i=0; i<m; i++)
        {
                if (flag==h[i].data){
                        cout << "\n______________\n";
                        cout << "Èìÿ    | Ìåñÿö \n";
                        cout << "______________\n";
                        cout << " "<<h[i].FAMN<<"\t";
                        cout << " "<<h[i].birth<<"\n";
                }
                if (flag > h[i].birth)
                    cout<<"Ïî ýòîé äàòå äàííûõ íåòó" <<endl;
        }


Добавлено через 1 минуту
Вот еще вопрос, как можно модернизировать массив
>> h[i].birth

Допустим при вводе 02 , в коде

C++
1
2
3
4
5
6
7
                if (flag==h[i].data){
                        cout << "\n______________\n";
                        cout << "Èìÿ    | Ìåñÿö \n";
                        cout << "______________\n";
                        cout << " "<<h[i].FAMN<<"\t";
                        cout << " "<<h[i].birth<<"\n";
                }
Выводило не 02 , а Февраль.
Не могу понять куда if засунуть.
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
19.08.2011, 17:26 7
C++
1
2
3
4
5
6
7
8
9
10
const char* month[] = { "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь" };
...
if (flag==h[i].data)
{
    cout << "\n______________\n";
    cout << "Имя    | Месяц \n";
    cout << "______________\n";
    cout << " " << h[i].FAMN<<"\t";
    cout << " " << month[h[i].birth - 1] << '\n';
}
1
4 / 4 / 0
Регистрация: 09.07.2010
Сообщений: 12
19.08.2011, 17:27 8
Нужно сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
switch (h[i].birth)
{
case 1:
    cout<<"January";
    break;
case 2:
    cout<<"February";
 
//...
 
case 12:
    cout<<"December";
    break;
default:
    cout<<"Wrong month data";
    break;
}
0
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.08.2011, 18:43  [ТС] 9
Что то напортачил )

if (flag > h[i].birth)
cout<<"По этой дате данных нету" <<endl;

Не хочет так выводить.
точнее выводит каждый раз после Даты

Добавлено через 1 час 8 минут
Спасибо всем.
Теперь все готово.

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
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
using namespace std;
/* Задание 14 */
struct ZNAK
{
        char FAMN[8];
        char ZDK[8];
        int birth;
        int data;
};
int main(int argc, char *argv[])
{ 
    SetConsoleCP(1251);  //Тупка, шрифт не забудь Lucida 
    SetConsoleOutputCP(1251); // Ай Ай тупые виндузятники
        int m=2;
        ZNAK *h = new ZNAK[m];
        const char* month[] = { "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь" };
 
        int flag;
        cout<<"Введинте данные :"<<'\n';
        cout<<"_________________________________________"<<'\n';
        cout<<"Имя | Знак Зодиака | Месяц и Год "<<'\n';
        cout<<"_________________________________________"<<'\n';
        for (int i=0; i<m; i++)
        {
                cin             >> h[i].FAMN 
                                >> h[i].ZDK  
                                >> h[i].birth 
                                >> h[i].data;
        }
        
        cout<<"Какой год показать?\n";
        cin>>flag;
        for (int i=0; i<m; i++)
        {
                if (flag==h[i].data){
                        cout << "\n______________\n";
                        cout << "Имя    | Месяц \n";
                        cout << "______________\n";
                        cout << " "<<h[i].FAMN<<"\t";
                        cout << " "<<month[h[i].birth - 1]<<"\n";
                }
                else if (flag > h[i].data)
                {
                        cout << "О этой дате данных нету \n";
                }
 
        }
 
        delete[] h;
        system("pause");
        return 0;
}
0
19.08.2011, 18:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2011, 18:43
Помогаю со студенческими работами здесь

Сделал задачу, не могу понять, почему не выводит плавоющие запятые!
Условия задачи: Составить программу, которая будет вычислять следующую последовательность y= 1+...

Стек на основе массива структур - эт как понять читаю литературу и не могу понять!
Стек статически (на основе массива структур). Пример структура &quot;Товар&quot; которая включает в себя: №...

понять задачу
Задача из книги С. Прата, глава 12, задача 4: Имеется следующий вариант класса Stack: #ifndef...

Помогите понять задачу в теории
Не могу понять как должна и что считать задача,помогите. Дана квадратная матрица порядка n....

Ребята немогу понять задачу на С++
В волшебной стране используются монетки достоинством A1, A2,..., AM. волшебный человечек пришел в...

Не могу сделать полиморфизм. Не могу до конца понять пример по этому поводу
Есть такая задача: Класс Animal должен быть абстрактным, имеет имя и вес. Класс Reptile имеет...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru