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

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

Восстановить пароль Регистрация
 
EpicLove
 Аватар для EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
19.08.2011, 14:01     Не могу понять задачу #1
Имеется задача

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 и т.д.) "Вы не чего не вводили"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2011, 14:01     Не могу понять задачу
Посмотрите здесь:

C++ не могу понять...
C++ Не могу понять
C++ Помогите понять задачу в теории
Не могу понять задачу с векторами C++
C++ Не могу понять задачу с массивами.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 14:06     Не могу понять задачу #2
Инициализируйте каждую фамилию так
C
1
familia_ima[0] = '\0'
А потом проверяйте
C
1
if(strlen(familia_ima) > 0)
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.08.2011, 14:09     Не могу понять задачу #3
http://www.cyberforum.ru/cpp-beginne...ead306178.html

Добавлено через 16 секунд
http://www.cyberforum.ru/search.php?searchid=3476689
EpicLove
 Аватар для EpicLove
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 , не выводит данное сообщение, где закрался касяк ?)
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.08.2011, 17:01     Не могу понять задачу #5
значение переменной с не меняется с момента иницилизации
EpicLove
 Аватар для EpicLove
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 засунуть.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
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';
}
Gera777
4 / 4 / 1
Регистрация: 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2011, 18:43     Не могу понять задачу
Еще ссылки по теме:

Не могу понять,как сделать задачу!!! C++
Сделал задачу, не могу понять, почему не выводит плавоющие запятые! C++
Ребята немогу понять задачу на С++ C++

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

Или воспользуйтесь поиском по форуму:
EpicLove
 Аватар для EpicLove
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;
}
Yandex
Объявления
19.08.2011, 18:43     Не могу понять задачу
Ответ Создать тему
Опции темы

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