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

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

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

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

17.07.2011, 04:02. Просмотров 431. Ответов 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++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
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
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
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
Нужно чтоб хотя бы она вызывалась..а не просто меню висело.
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2011, 16:21
Привет! Вот еще темы с ответами:

Задачи по функциям. Объясните задачу по функциям) - C++
Вводится последовательность из N целых чисел. Для каждого числа последовательности вывести новое число, которое получится после записи цифр...

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.07.2011, 16:21
Ответ Создать тему
Опции темы

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