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

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

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

Алюанский вопрос по функциям - C++

17.07.2011, 04:02. Просмотров 424. Ответов 7
Метки нет (Все метки)

Господа и прекрасные дамы...!!!

Решил заняться программированием на досуги...книжки умные почитал..примеры освоил..
Но остановился на функциях. Теперь вопрос к аудитории!
Вот мой код :
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
#include <iostream>
#include <conio.h>
#include <Windows.h>
#include "cstdlib"
using namespace std;
void menu (void);
int main (){
setlocale( LC_ALL,"Russian" );
system("cls");
 
 
cout << " Матричный калькулятор "<<endl;
cout << " ___________________________________ ___________________________________ _____" <<"\n";
_getch();
int a;
 
while (true) {
menu();
cin>>a;
if (a==1) int matrix_a();
 
 
 
getch();
system("cls");}
return 0 ;
 
 
}
 
void menu (void) {
 
 
 
 
cout <<" Выберите действие данного приложения :" << endl ;
cout <<"______________________________ ";
 
 
cout <<"________________________________ __ "<<"\n";
cout <<" 1. сложить матрицу а и матрицу и b "<<endl;
cout <<" 2. умножить матрицу а и матрицу и b "<<endl;
cout <<" 3. вычесть матрицы а , матрицу b "<<endl;
cout <<" 4. найти определитель матрицы "<<endl;
cout <<" 5. Выход из программы"<<endl;
 
 
}
int matrix_a (int i,int j,int m,int n){
int matrix [100][100];
cout << "введи размерность матрицы"<<endl;
 
cout << "колличество столбцов = ";
cin >> i;
cout << "колличество строк = ";
cin>>j;
 
 
matrix[i][j];
for(n=1;n<j;n++){
for (m=1;m<i;m++)
cin>>matrix[m][n];
}
getch();
return matrix[m][n];
}
по функции меню я думаю понятно ...что я от сего консольного приложения хотел иметь ввиду.
Так вот ..запускается функция выводящая менюшку на экран.. Ничтяк..
Но как хочу запустить функцию вводящую матрицу - тут возникает делема.- никаких действий согласно задумке не происходит. В чем я имел, честь ошибиться?(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2011, 04:02     Алюанский вопрос по функциям
Посмотрите здесь:

Вопрос по функциям - C++
Вопрос по функции. мне надо, чтобы моя функция &quot;proverka&quot; принимала значение переменной boo. но на простое присвоение компилятор...

Вопрос по функциям - C++
Скажите, если у функции в заголовке прописано, что она возвращает значение int: int function(...) { ...} То могу ли я пытаться...

Вопрос по функциям - C++
Есть функция: int fun(char wob, unsigned char s, char name, char opis, uint32_t code) {} Я вызываю её в одном месте приложения: int...

Вопрос по функциям класса - C++
class vector { private: double x; double y; double z; public: vector(); vector(double a, double b, double c); ...

Вопрос по классам и функциям - C++
Здравствуйте, вообщем мне надо реализовать примерно такое дело: имеется класс the_class нужно чтобы у каждого экземпляра была...

Вопрос по встраиваемым функциям - C++
В книге прочитал, что если объявить функцию как inline, то код самой функции при компиляции копируется в главную программу, а в конце...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
17.07.2011, 04:13     Алюанский вопрос по функциям #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
int menu(){
  int answ;
  cout << "1 - ввести матрицу" << endl
        << "2 - вывести матрицу" << endl
        << "0 - выход" << endl;
  return ( cin >> answ ) ? answ : -1;
}
//...
int main(){
  int action;
  //...
  while ( action = menu() ){
    switch ( action ){
      case 1 :
        // ввод матрицы
        break;
      case 2:
        // вывод матрицы
        break;
      default:
        cerr << "Ошибка" << endl;
        break;
    }
  }
  // ...
  return 0;
}
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
17.07.2011, 04:22  [ТС]     Алюанский вопрос по функциям #3
Ща попробую..ток ...это конечно не, то что я хотел..
А хотел я....разбить функционал по блокам, реализовав все это в отдельной функции.
Естественно все еще не дописал..а следовал правилу..сразу проверь.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
17.07.2011, 04:42     Алюанский вопрос по функциям #4
Цитата Сообщение от goratics Посмотреть сообщение
это конечно не, то что я хотел..
А хотел я....разбить функционал по блокам, реализовав все это в отдельной функции.

Не по теме:

Они сами не знают, чево они хочут!
(с)


В смысле - объявить одну функцию menu() и в неё всю возню свалить? Ну и за чем такое "разделение"? Выводом меню и возвращением выбранного действия пусть функция menu() занимается, вводом матрицы - какая-нибудь input_matrix(), выводом соответственно output_matrix(), а в main() всё это хозяйство должно в одно целое увязываться...
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
17.07.2011, 15:37  [ТС]     Алюанский вопрос по функциям #5
Нет...как в анекдоте - Хочешь ромовую бабу ??? Хочу!! - Но ром отдельно , бабу отдельно!!
Так же и я ...ввод матиц отдельно, меню отдельно.. действия над ними отдельно.

Добавлено через 10 часов 45 минут
Ну вот..пробовал вариант не работает.

Добавлено через 19 секунд
Ну вот..пробовал вариант не работает.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
17.07.2011, 16:06     Алюанский вопрос по функциям #6
goratics, по-моему вы повторяете слова easybudda

в вашем же варианте матрица существует только в 1ой функции .

и
Цитата Сообщение от goratics Посмотреть сообщение
return matrix[m][n];
последний элемент - matrix[n-1][m-1];
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
17.07.2011, 16:09  [ТС]     Алюанский вопрос по функциям #7
Нужно чтоб хотя бы она вызывалась..а не просто меню висело.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2011, 16:21     Алюанский вопрос по функциям
Еще ссылки по теме:

Консультация по функциям - C++
Подскажите что это за две функции и что за аргументы у второй? cin.clear(); cin.ignore(256, '\n');

Задача по функциям - C++
Разработать функцию типа float, что возвращает абсолютное значение разници первого и второго аргументов.

Расписать по функциям - C++
Я совершенный новичок. Начали проходить функции, решил задачу, осталось выписать ее по функциям. Подсобите кто опытный, что бы я в...

Подскажите по функциям. - C++
Имеется такой код. #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; int fib(int n); int main() { setlocale...


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

Или воспользуйтесь поиском по форуму:
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
17.07.2011, 16:21     Алюанский вопрос по функциям #8
так вам же указали уже как надо делать...
switch это связка if else...
код


для простоты - передача матрицы как int[10][10]
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
int menu() {
    std::cout << "1-input\n";
    std::cout << "2-output\n";
    std::cout << "3-exit\n";
    int choice=0;
    std::cin >> choice;
    return choice;
}
 
void output(int matr[10][10], int n, int m) {
    for (int i=0; i<n; i++) {
        for (int j=0; j<m; j++)
            std::cout << matr[i][j] << ' ';
 
        std::cout <<  '\n';
    }
}
 
int main()
{
    int matr[10][10]={0};
 
    int choice=0;
    while (choice != 3) {
    switch( choice= menu() ) {
    case 1:
        //input(matr,10,10); // не реализовано, не забыть передать матрицу по ссылке или указателю
        break;
    case 2:
        output(matr,10,10);
        break;
    }
    }
 
 
 
     
 
    getchar();
    return 0;
}
Yandex
Объявления
17.07.2011, 16:21     Алюанский вопрос по функциям
Ответ Создать тему
Опции темы

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