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

[PYTANIE] C++ czyszczenie ekranu i otwieranie nowego okna


Rekomendowane odpowiedzi

Opublikowano

Witam!

 

Jestem nowy jeśli chodzi o programowanie C++ dlatego mam 2 pytania:

 

1. Jak wyczyścić ekran podczas działania programu? (np. mam program z kilkoma opcjami wyboru i gdy wybieram jedną z tych opcji to ekran się czyści i zaczyna wykonywać instrukcje przypisane do tej opcji)

 

2. Jak wywołać dodatkowe okno [w typowym cmd to jest komenda "start"]? (np. mam program z kilkoma opcjami wyboru i gdy wybieram jedną z tych opcji to otwiera mi się nowe okno i tam są wykonywane instrukcje przypisane do tej opcji)

 

 

Wszystko w Console Application.

 

Daje like'i każdemu kto pomoże.

Opublikowano

Co do tego pierwszego, można próbować robić funkcję w stylu wypełnienie znakami ' ' za pomocą funkcji FillConsoleOutputCharacter(), ale tu kombinacji jest więcej niż w tym, co podał up ;).


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

Opublikowano

Jak zrobić by zakres liczb był większy nawet od unsigned long long int? Z góry dziękuję za pomoc :)

Jest 10 grup ludzi, jedni rozumieją kod binarny a drudzy nie.

Opublikowano

@up

 

Załóż własny temat.

 

@topic

 

1. Tak jak mjut napisał system("cls"), a jeszcze lepiej będzię zrobić funkcję tj.

 


#define SystemLinux 0 // jesli linux zmien na 1

void czysc()
{
if(SystemLinux)
{
system("clear");
}
else
{
system("cls");
}
}

 

nie zapomnij o bibliotece: #include <windows.h>

Opublikowano

@up.

Jeśli takie rozwiązanie to już lepiej

#ifdef

 

Jak zrobić by zakres liczb był większy nawet od unsigned long long int? Z góry dziękuję za pomoc :)

napisać sobie samemu

Opublikowano

@up.

Jeśli takie rozwiązanie to już lepiej

#ifdef

 

 

napisać sobie samemu

 

Zgadzam się, ale skoro autor sam pisze że jest amatorem, to nię będę mu mącił

Opublikowano

Zgadzam się, ale skoro autor sam pisze że jest amatorem, to nię będę mu mącił

 

Właściwie to już to zrobiłeś :D

mjut.png
Opublikowano

#include <iostream>
#include <cstdio>
#include <windows.h>
using namespace std;
int main()
{
int liczba; // deklaracja zmiennej
cout << "Podaj liczbe ";
cin >> liczba; // przypisanie wartości z klawiatury
if (liczba>0) // instrukcja warunkowa
system("cls");
cout << "Liczba jest dodatnia";
else
cout << "Liczba nie jest dodatnia";
cin.ignore();
getchar();
return 0;
}

 

To jest taki przykładowy program z tym system("cls") jednak zwraca mi błąd przy else

Opublikowano

Dobra teraz jestem na kompie, więc napiszę to prosto i przejrzyście:

 

#include <iostream>
#include <windows.h>

using namespace std; // Po to, by nie pisać std::cout

int main()
{
int liczba; // Deklarujemy zmienną liczba o typie całkowitym int
cout << "Podaj liczbe "; // Komunikat wyświetlający się w konsoli
cin >> liczba; // Pobieramy wartość od użytkownika
if (liczba > 0) // Czyli jeśli liczba będzie większa od 0
{
system("cls"); // Czyścimy ekran
cout << "Liczba jest dodatnia"; // I wyświetlamy stosowny komunikat
}
else // W przeciwnym wypadku...
{
system("cls"); // Znowu czyścimy
cout << "Liczba nie jest dodatnia"; // Wiadomo
//getchar(); // getchar() jest już przestarzałe o wiele lepiej jest użyć cin.get() z biblioteki iostream 
}
cin.get();
return 0; // Zwracamy wartość '0'
}

Opublikowano

Super, dzięki wielkie

 

Mam jeszcze jedno pytanko, jak zrobić żeby:

 

Podaje liczbe 3, wyświetla mi komunikat że liczba nie jest dodatnia i program wraca do momentu podawania liczby, czyli:

 

Przeskakuje stąd:

cout << "Liczba nie jest dodatnia";

 

tutaj

cout << "Podaj liczbe ";

 

Wiem że to się jakoś ustawia return ale jako że jeszcze jestem zielony to do końca nie umiem go ustawić ;/

Opublikowano

  • Żebyś później nie zakładał nowego tematu :)

do
{
cout << "podaj liczbe: ";
cin >> liczba;
system("cls");
} while(!liczba > 0);

Opublikowano

goto jest odradzane przez programistów C++ i uważane za zły nawyk ;) Prawie zawsze się da tego uniknąć, stosując właśnie pętle.

Opublikowano

Więc postaram się zastosować inną pętle, dzięki za porade ;)

 

A i nasunęła mi się jedna koncpecja programu dlatego mam pytanie z nią związane:

 

Czy można w jakiś sposób otwierać inny program w innym pliku, np:

 

Mam główny program z menu, wybieram jakąś opcje i otwiera mi się inny program (z całkiem innego pliku)

 

Jest taka możliwość, jeśli tak to jak?

Opublikowano

Jasne, wystarczy podać nazwę programu, ewentualnie ścieżkę, gdy program jest poza daną lokalizacją, w funkcji system() (oczywiście w "").


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

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...