Duvida - C++

Código:
#include "stdafx.h"
#include "iostream"

using namespace std;

void fechar() {
system("exit") [COLOR=Red]=> Aqui está o erro[/COLOR]
}

void menu_perimetro() {
    \\codigo do menu perimetro }

void menu_area() { 
    \\codigo do menu area }

void menu_volume() { 
   \\codigo do menu volume }

[COLOR=Yellow]int menu_principal() {[/COLOR]
    [COLOR=Yellow]int op = 0[/COLOR];
    cout << "-------------------------------------------" << endl;
    cout << "---- Escolha uma das seguintes opcoes: ----" << endl;
    cout << "---- 1-Calcular area                            ----" << endl;
    cout << "---- 2-Calcular Perimetro                     ----" << endl;
    cout << "---- 3-Calcular Volume                        ----" << endl;
    cout << "-------------------------------------------" << endl;
    cin >> op;
    if (op == 1) { menu_area(); }
    else if (op == 2) { menu_perimetro(); }
    else if (op == 3) { menu_volume();}
   [COLOR=Yellow] // else if (op == 4) { fechar();}[/COLOR]
    else { cout << "Inseriu uma opcao errada!" << endl; }
    return = op;
}



int main()
{
    [COLOR=Yellow]do {[/COLOR]
    menu_principal();
   [COLOR=Yellow] } while (menu_principal() != 4);[/COLOR]

}
Experimenta assim... O que fiz foi colocar a funçao menu_principal() a retornar um valor inteiro que será a opção escolhida pelo utilizador. A funçao menu principal repete-se enquanto esta opção nao for 4. Tambem estou a dar essa matéria \o/. Espero que isto resolva o teu problema... nao testei aqui no meu pc mas na teoria dará certo.
 
Se ele no main apenas chama a função menu_principal, basta fazer return 0 na função menu_principal que ele automaticamente termina esta função, e termina o main uma vez que não há mais nenhuma função.
 
Boas, coloca esse "\nx" antes do for a bold e o "x\n" depois, e deves obter o resultado pretendido. Já agora, podes juntar os ciclos todos que tens para processar o input num só ciclo do while por exemplo.


podias esplicar melhor e k n to a perceber o k tenho de fazer . se puser "\nx" antes do for ele apenas escreve um x i n poe os espaços no meio.
 
podias esplicar melhor e k n to a perceber o k tenho de fazer . se puser "\nx" antes do for ele apenas escreve um x i n poe os espaços no meio.

Imagina que queres imprimir 18 espaços entre dois x's (i.e. x__________________x, em que o '_' representa um espaço). Para isso, o que tens de fazer é algo deste género:

Código:
int i;
int n = 20;  // no teu caso, o n é definido pelo utilizador
cout << "\nx";
for (i = 0; i < n - 2; i++) {
    cout << " ";
}
cout << "x\n";

Espero que ajude.
 
Imagina que queres imprimir 18 espaços entre dois x's (i.e. x__________________x, em que o '_' representa um espaço). Para isso, o que tens de fazer é algo deste género:

Código:
int i;
int n = 20;  // no teu caso, o n é definido pelo utilizador
cout << "\nx";
for (i = 0; i < n - 2; i++) {
    cout << " ";
}
cout << "x\n";
Espero que ajude.



sim assim fica um espço entr o x mas depois n faz o resto do x. por exemplo se o utilizador der o n 5 o resultado e:

xxxxx
x___x
x___x
x___x
xxxxx


axo k os outros sao feitos tb com o for mas j esperimentei i eles vao pa baixo i po lado ou fika um linha de espaços sem nenhum.
 
O erro é simples de consertar

Amigo, vc esta encontrando esse erro quando tenta utilizar o system("cls"); porque vc não esta utilizando a biblioteca correta, utilize como estou indicando abaixo:

#include <stdlib.h>

...

System("cls");

...
 
Back
Topo