Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Powrót do menu wyboru


Rekomendowane odpowiedzi

Opublikowano

Próbowałem coś takiego sam zrobić ale jednak mi sie nie uddaje :/ Jak moge zrobic takie powracanie do menu? tu kod:

#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <string>

using namespace std;

void program()
{
        int wybor, wyjscie = 1;
    string rodzina[20];

    for(;
    {
        cout << "Podaj wybor: ";
        cin >> wybor;

            switch(wybor)
            {
            case 1:
                for(int i=0; i<=20; i++)
                {
                    cout << "Podaj nazwe osoby ktora dodac: ";
                    cin >> rodzina[i];
                }
                break;
            case 2:
                for(int i=0; i<=20; i++)
                {
                    cout << rodzina[i] << endl;
                }
                break;
            case 3:
                exit(0);
                break;
                default: cout << "zly klawisz\n\n";
            }
            getch();
    }
}

void menu()
{
        cout << "1) Dodaj do rodziny" << endl;
        cout << "2) Wyswietl czlonkow rodzinny" << endl;
        cout << "3) Wyjdz" << endl;
        program();
}

int main()
{
    menu();
    return 0;
}

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

Zamiast exita polecam return.

Usuń = z "<=" w warunkach pętli, wychodzisz poza zakres tablicy.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Naklepałem taki pseudokodzik:

 

 

#include <iostream>
#include <windows.h>
using namespace std;

void func1()
{
	cout << "func1" << endl;
}
	
void func2()
{
	cout << "func2" << endl;
}

void func3()
{
	cout << "func3" << endl;
}

void menu()
{
	cout << "wybierz funkcję od 1 do 3" << endl;
}

int main()
{
	menu();
	int opcja;
	cin >> opcja;
	for (;
	{
		switch (opcja)
		{
			case 1:
				func1();
				break;
			
			case 2:
				func2();
				break;
			
			case 3:
				func3();
				break;
		}
		system("cls");
	}
	return 0;
}

 

 

Powinno ci to zobrazować jak to mniej-wiecej powinno wyglądać

 

ps. zamiast pisać main na samym dole i każdą funkcję w górze, możesz zrobić tak:

 

 

#include <iostream>
#include <windows.h>
using namespace std;

void func1();
void func2();
void func3();
void menu();

int main()
{
	menu();
	int opcja;
	cin >> opcja;
	for (;
	{
		switch (opcja)
		{
			case 1:
				func1();
				break;
			
			case 2:
				func2();
				break;
			
			case 3:
				func3();
				break;
		}
		system("cls");
	}
	return 0;
}

void func1()
{
	cout << "func1" << endl;
}
	
void func2()
{
	cout << "func2" << endl;
}

void func3()
{
	cout << "func3" << endl;
}

void menu()
{
	cout << "wybierz funkcję od 1 do 3" << endl;
}

 

846331404756772371599.jpeg
Opublikowano

Naklepałem taki pseudokodzik:

 

 

#include <iostream>
#include <windows.h>
using namespace std;

void func1()
{
	cout << "func1" << endl;
}
	
void func2()
{
	cout << "func2" << endl;
}

void func3()
{
	cout << "func3" << endl;
}

void menu()
{
	cout << "wybierz funkcję od 1 do 3" << endl;
}

int main()
{
	menu();
	int opcja;
	cin >> opcja;
	for (;
	{
		switch (opcja)
		{
			case 1:
				func1();
				break;
			
			case 2:
				func2();
				break;
			
			case 3:
				func3();
				break;
		}
		system("cls");
	}
	return 0;
}

 

 

Powinno ci to zobrazować jak to mniej-wiecej powinno wyglądać

 

ps. zamiast pisać main na samym dole i każdą funkcję w górze, możesz zrobić tak:

 

#include <iostream>
#include <windows.h>
#include <iostream>
#include <windows.h>
using namespace std;

void func1();
void func2();
void func3();
void menu();

int main()
{
	menu();
	int opcja;
	cin >> opcja;
	for (;
	{
		switch (opcja)
		{
			case 1:
				func1();
				break;
			
			case 2:
				func2();
				break;
			
			case 3:
				func3();
				break;
		}
		system("cls");
	}
	return 0;
}

void func1()
{
	cout << "func1" << endl;
}
	
void func2()
{
	cout << "func2" << endl;
}

void func3()
{
	cout << "func3" << endl;
}

void menu()
{
	cout << "wybierz funkcję od 1 do 3" << endl;
}

 

A jak zrobić tak aby po naciśnięciu pewnego klawisza wracało się do funkcji menu w mainie ? po bo zrobieniu wszystkiego znowu wlacza tą samą funkcje :/

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

Mi ten kod działa bez problemowo, poprawiłem go bo był zbugowany + dodałem sprawdzanie czy liczba jest w zakresie i czy nie wystąpił błąd podczas wprowadzania liczby

 

 

#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;

void func1();
void func2();
void func3();
void menu();

int main()
{
	for (;
	{
	    menu();
        int opcja;
        cin >> opcja;
        if (cin.fail())
        {
            cin.clear();
            cin.sync();
            system("cls");
            continue;
        }

        if (opcja > 3 || opcja < 1)
        {
            cout << "nieprawidlowy numer funkcji" << endl;
            getch();
            system("cls");
            continue;
        }

		switch (opcja)
		{
			case 1:
				func1();
				break;

			case 2:
				func2();
				break;

			case 3:
				func3();
				break;
		}
		getch();
		system("cls");
	}
	return 0;
}

void func1()
{
	cout << "func1" << endl;
}

void func2()
{
	cout << "func2" << endl;
}

void func3()
{
	cout << "func3" << endl;
}

void menu()
{
	cout << "wybierz funkcje od 1 do 3" << endl;
}

 

 

po prostu zamiast moich func1, func2 itd. wprowadź swoje funkcje, przerób menu i ma śmigać

846331404756772371599.jpeg
Opublikowano

Mi ten kod działa bez problemowo, poprawiłem go bo był zbugowany + dodałem sprawdzanie czy liczba jest w zakresie i czy nie wystąpił błąd podczas wprowadzania liczby

 

 

 

#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;

void func1();
void func2();
void func3();
void menu();

int main()
{
	for (;
	{
	    menu();
        int opcja;
        cin >> opcja;
        if (cin.fail())
        {
            cin.clear();
            cin.sync();
            system("cls");
            continue;
        }

        if (opcja > 3 || opcja < 1)
        {
            cout << "nieprawidlowy numer funkcji" << endl;
            getch();
            system("cls");
            continue;
        }

		switch (opcja)
		{
			case 1:
				func1();
				break;

			case 2:
				func2();
				break;

			case 3:
				func3();
				break;
		}
		getch();
		system("cls");
	}
	return 0;
}

void func1()
{
	cout << "func1" << endl;
}

void func2()
{
	cout << "func2" << endl;
}

void func3()
{
	cout << "func3" << endl;
}

void menu()
{
	cout << "wybierz funkcje od 1 do 3" << endl;
}

 

 

po prostu zamiast moich func1, func2 itd. wprowadź swoje funkcje, przerób menu i ma śmigać

 

Zmienilem funkcje ale zamiast czyścic ekran i wracam do menu to, wykonują funkcje jeszcze raz itd.

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

Podaj mi twój kod bo ewidentnie coś w nim jest nie tak

#include <conio.h>
#include <iostream>
#include <windows.h>
using namespace std;

        int wybor, wyjscie = 1;
    string rodzina[20];

void func1()
{
	for(int i=0; i<=19; i++)
        {
            cout << "Podaj nazwe osoby ktora dodac: ";
            cin >> rodzina[i];
        }
}

void func2()
{
	for(int i=0; i<=19; i++)
        {
        cout << rodzina[i] << endl;
        }
}

void func3()
{
    int licznik[3];
    
    cout << "Program zostanie wylaczony za" << endl;
    for(int i=1; i<=3; i++)
    {
        cout << licznik[i] << endl;
        Sleep(1000);
    }

    exit(0);
}

void menu()
{
    cout << "1)Dodawanie do rodziny" << endl;
    cout << "2)Lista czlonkow" << endl;
    cout << "3)Wyjscie" << endl;
	cout << "wybierz funkcje od 1 do 3: ";
}

int main()
{
	menu();
	int opcja;
	cin >> opcja;
	for (;
	{
		switch (opcja)
		{
			case 1:
				func1();
				break;

			case 2:
				func2();
				break;

			case 3:
				func3();
				break;
		}
		system("cls");
	}
	return 0;
}

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

Powiedziałem że tamten kod jest zbugowany i żebyś użył nowego, który dałem w drugim poście...

 

btw; funkcja wychodząca jest kompletnie zbugowana.

+ te dwie zmienne na początku, wybor i wyjscie są niepotrzebne

 

 

Masz tutaj działający program:

 

 

#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;

void func1();
void func2();
void func3();
void menu();

string rodzina[20];

int main()
{
	for (;
	{
	    menu();
        int opcja;
        cin >> opcja;
        if (cin.fail())
        {
            cin.clear();
            cin.sync();
            system("cls");
            continue;
        }

        if (opcja > 3 || opcja < 1)
        {
            cout << "nieprawidlowy numer funkcji" << endl;
            getch();
            system("cls");
            continue;
        }

		switch (opcja)
		{
			case 1:
				func1();
				break;

			case 2:
				func2();
				break;

			case 3:
				func3();
				break;
		}
		getch();
		system("cls");
	}
	return 0;
}

void func1()
{
	for(int i=0; i<=19; i++)
        {
            cout << "Podaj nazwe osoby ktora dodac: ";
            cin >> rodzina[i];
        }
}

void func2()
{
	for(int i=0; i<=19; i++)
        {
        cout << rodzina[i] << endl;
        }
}

void func3()
{
    cout << "Program zostanie wylaczony za" << endl;
    for(int i=3; i>=1; i--)
    {
        cout << i << endl;
        Sleep(1000);
    }

    exit(0);
}

void menu()
{
	cout << "1)Dodawanie do rodziny" << endl;
    cout << "2)Lista czlonkow" << endl;
    cout << "3)Wyjscie" << endl;
	cout << "wybierz funkcje od 1 do 3: ";
}

 

 

@LeSSter. mój błąd, dałem mu nieprzetestowany kod który pisałem na szybko spod łapy w notepadzie, buga miał

846331404756772371599.jpeg
Opublikowano

bo wybór opcji powinieneś umieścić wewnątrz pętli for.

 

No i menu() też.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano
#include <conio.h>
#include <iostream>
#include <windows.h>
using namespace std;

int wybor, wyjscie = 1;
string rodzina[20];

void func1()
{
    for(int i=0; i<=19; i++)
{
cout << "Podaj nazwe osoby ktora dodac: ";
cin >> rodzina[i];
}
}

void func2()
{
    for(int i=0; i<=19; i++)
{
cout << rodzina[i] << endl;
}
}

void func3()
{
int licznik[3];

cout << "Program zostanie wylaczony za" << endl;
for(int i=1; i<=3; i++)
{
cout << licznik[i] << endl;
Sleep(1000);
}

exit(0);
}

void menu()
{
cout << "1)Dodawanie do rodziny" << endl;
cout << "2)Lista czlonkow" << endl;
cout << "3)Wyjscie" << endl;
    cout << "wybierz funkcje od 1 do 3: ";
}

int main()
{
    int opcja;
    for (;
    { SYSTEM("CLS");
menu();
      cin>>opcja;
        switch (opcja)
        {
            case 1:
                func1();
                break;

            case 2:
                func2();
                break;

            case 3:
                func3();
                break;
            default:
                 cout<<"Podaj numer z zakresu 1-3\n;
        }
        system("cls");
    }
    return 0;
}
 

powinno byc git

Opublikowano

Dzięki wszystkich, teraz wszystko pięknie chodzi :) Temat do zamknięcia

Szukasz kogoś kto wykona grafikę, logo do drużyny esportowej? 


Napisz do mnie postaram się wykonać prace jak najlepiej.


Aktualnie nie mam czasu na wykonywanie grafik.

Opublikowano

Wtf... Codersi używają system("cls")?...

 

W Windowsie:
 

void clear() {
    COORD cord = { 0, 0 };
    DWORD written;
    HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO scr;

    GetConsoleScreenBufferInfo(console, &scr);
    FillConsoleOutputCharacterA(console, ' ', scr.dwSize.X * scr.dwSize.Y, cord, &written);
    FillConsoleOutputAttribute(console, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE,scr.dwSize.X * scr.dwSize.Y, cord, &written);
    SetConsoleCursorPosition(console, cord);
}

*unix

printf( "\033[0m\033[2J\033[H"); 

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...