Skocz do zawartości
A TERMINATOR

C++ Game

Rekomendowane odpowiedzi

Prosim Cie o to rozwiązanie :P

#include <iostream>

using namespace std;

int a,b;
char z;

int main(int argc, char **argv)
{
    cout << "Podaj licze pierwsza: ";
    cin >> a;
    cout << "\nPodaj druga liczbe: ";
    cin >> b;
    cout << a << "+" << b << "=" << a+b << "\n";
    cout << a << "-" << b << "=" << a-b << "\n";
    cout << a << "*" << b << "=" << a*b << "\n";
    cout << a << "/" << b << "=" << a/b << "\n";
    cout << a << "%" << b << "=" << a%b << "\n";
    return 0;
}[/code]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zaliczam, mój program:

#include <iostream.h>
#include <conio.h>
main()
{
      int a,b;
      cout<<"Podaj pierwsza liczbe:\n";
      cin>>a;
      cout<<"Podaj druga liczbe:\n";
      cin>>b;
      cout<<"Rozwiazanie:\n";
      cout<<a<<"+"<<b<<"="<<a+b<<"\n";
      cout<<a<<"-"<<b<<"="<<a-b<<"\n";
      cout<<a<<"*"<<b<<"="<<a*b<<"\n";
      cout<<a<<"/"<<b<<"="<<a/b<<"\n";
      cout<<a<<"modulo"<<b<<"="<<a%b<<"\n";
      
      
      getch();
}

Niech ktoś inny wymyśli kolejne zadanie...

//NeMoO

Teraz Bantu wymyśla.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

To tak wymyśliłem jakieś zadanie, więc już je opisuję :P

Napisz prostą rejestracje, w której system będzie najpierw podawał rejestracje i prosił o hasło, które zachowa, następnie wyświetli ekran logowania, w którym poprosi o hasło jeżeli hasło nie zgadza się z hasłem podanym wcześniej to wyświetli odpowiedni komunikat i zakończy program, jeżeli hasło będzie poprawne to tak samo wyświetli odpowiedni komunikat i zakończy program. Skrypt jest tak samo prosty jak poprzedni, lub nawet prostszy jeżeli ktoś potrafi zakombinować ;P

http://www.speedyshare.com/files/23337002/CG1.exe

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

int main()
{
    char haslo;
    char logowanie;
    cout<<"Rejestracja\nPodaj swoje haslo: ";
    cin>>haslo;
    system("cls");
    cout<<"Logowanie\nPodaj haslo: ";
    cin>>logowanie;
    system("cls");
    if(logowanie==haslo)
    {
        cout<<"Zostales pomyslnie zalogowany!";
        Sleep(1000);
        exit(1);
    }
    else
    {
        cout<<"Podane haslo jest bledne!";
        Sleep(1000);
        exit(1);
    }
    cin.ignore();
    getchar();
    return 0;
}

Czekam na rozwiązanie :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Przykro mi program nie działa tak jak powinien. Gdy podaje przy rejestracji dowolne hasło to program się kończy, po drodze wyświetlając komunikat, że podane złe hasło jeśli dobrze udało mi się zauważyć. Błąd jest bardzo prosty do rozwiązania dodam tyle od siebie :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wrzucam swoją prostą wersję.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int loggedin;
    loggedin = 0;
    string reg_password, log_password;
    
    if(!loggedin)
    {
      cout<<"Witaj, nieznajomy"<<endl;
      cout<<"******-REJESTRACJA-******"<<endl;
      cout<<"Podaj haslo do konta: ";
      cin>>reg_password;
      goto start;
    }
    else
    {
      start:
      cout<<"Witaj, szefie"<<endl;
      cout<<"******-LOGOWANIE-******"<<endl;
      cout<<"Podaj haslo: ";
      cin>>log_password;
      
      if(log_password == reg_password)
      {
        cout<<"Podales poprawne haslo!"<<endl;
        getchar();                
      }
      else
      {
        cout<<"Podales niepoprawne haslo!"<<endl;
        getchar();    
      }
    }   
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

O ten błąd chodziło?

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

int main()
{
    char haslo;
    char logowanie;
    cout<<"Rejestracja\nPodaj swoje haslo: ";
    cin>>haslo;
    system("cls");
    cout<<"Logowanie\nPodaj haslo: ";
    cin>>logowanie;
    if(logowanie==haslo)
    {
        system("cls");
        cout<<"Zostales pomyslnie zalogowany!";
        Sleep(1000);
        exit(1);
    }
    else
    {
        system("cls");
        cout<<"Podane haslo jest bledne!";
        Sleep(1000);
        exit(1);
    }
    cin.ignore();
    getchar();
    return 0;
}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spook zaliczam.

Mój kod:

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

#define WIN32_LEAN_AND_MEAN

using namespace std;

string pass,
      tmp;

void reg()
{
   cout << "Rejestracja podaj swoje haslo: ";
   cin >> pass;
   tmp = pass;
}

void login()
{
   cout << "Logowanie\nPodaj haslo: ";
   cin >> pass;
   if(tmp == pass)
   {
       cout << "Haslo poprawne gratulacje!";
   }
   else { cout << "Haslo bledne!"; }
}

int main()
{
   reg();
   system("cls");
   login();
   return 0;
}[/code]

nansss nie wiem co zmieniłeś, ale ten kod mi wygląda na ten sam. Popełniłeś kilka błędów w tym kodzie pierwszym z nich jest to, że char haslo pobierze tak na prawdę tylko jeden znak, a nie kilka, więc musisz stworzyć tablicę typu char. Drugi błąd to porównanie logowanie == haslo. Nie można porównywać w taki sposób tablic typu char, do tego służy funkcja strcmp(). Jak widać z charem pracuje się podobnie jak z tekstem w pawn :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

O to mój kod dopiero się uczę od około dnia kod w najprostszej postaci.

#include <iostream>

using namespace std;

int main()
{

  string rejestracja;
  

  cout<<"               **Rejestracja**"<<endl;
  cout<<"Wpisz swoje haslo, ktore uzyjesz do zalogowania sie."<<endl;
  cin>>rejestracja;//pobranie hasła
  cin.ignore();
    
  string logowanie;  
  cout<<"Wlasnie zostales zarejestrowany na naszym serwerze."<<endl;
  cout<<"Gratulujemy udanego wyboru."<<endl;
  cout<<"Teraz aby sie zalogowac wpisz haslo, ktore wpisales podczas rejestracji."<<endl;
  cin>>logowanie;
  cin.ignore();
  

   if (rejestracja==logowanie)/*instrukcja warunkowa hasło z rejestracji i 
   logowania musi być takie samo.*/
 { 
   cout<<"Haslo, ktore wpisales jest poprawne."<<endl;
   cout<<"Wlasnie zostales zalogowany na nasz serwer"<<endl;
   cout<<"Zyczymy mileg gry"<<endl;
 }
  
   else//Gdy hasło nie jest zgodne z tym z rejestracji wylatuje ten komunikat.
  {
   cout<<"Haslo, ktore wpisales jest nie prawidlowe."<<endl; 
   cout<<"Niestety nie zostales zalogowany."<<endl;
  }  
    
   
    
   cout<<"Nacisnij ENTER aby zakonczyc"<<endl;
   getchar();
   return 0;
}    
A o to zadanie z pewnego poradnika, którego się uczę. Pozwala on na poćwiczenie umiejętności z instrukcji warunkowych. Zadanie: Napisz program, który pobierze z klawiatury liczbę od użytkownika, zapisze ją do zmiennej liczba. Następnie sprawdzi czy liczba=3, jeżeli tak, to wyświetli Moja liczba to też 3. w przeciwnym wypadku sprawdzi czy liczba>3, jeżeli tak to wyświetli Twoja liczba jest większa od 3. a jeżeli nie jest większa od 3 to wyświetli Twoja liczba jest mniejsza od 3. Mój program.
#include <iostream>

using namespace std;

int main()

{   
    int liczba;
    cout<<"Wpisz dowolna liczbe"<<endl;
    cin>>liczba;
    cin.ignore();
    
    if (liczba==3)
    {
     cout<<"Moja liczba to tez 3"<<endl;
    }
    else 
   {
      if (liczba>3)
      cout<<"Twoja liczba jest wieksza od 3."<<endl;
      
      if (liczba<3)  
      cout<<"Twoja liczba jest mniejsza od 3."<<endl;
   }         
   cout<<"Nacisnij ENTER aby zakonczyc"<<endl;
   getchar();
   return 0;
}         

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nikt tu dawno nie zaglądał więc ja dodam coś.

Zrób program podobny do mojego. Jest on baardzo prosty.

Podpowiedź:

Przydzadzą ci się dwa pliki nagłówkowe:

<iostream>

<windows.h>

Plik w załączniku.

;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

using namespace std;

int Space()
{
    cout << "\n" << endl;
}

int Wiek;
int Latka;

int main(int argc, char *argv[])
{
string Imie;
    Space();
    cout << PL("Devilbot: Hej, może najpierw powiesz jak masz na imię, huh?");
    Space();
    cout << PL("Ja: Mam na imie ");
    cin >> Imie;
    Space();
    cout << PL("Devilbot: No dobra ") << Imie << PL(", miło Cię poznać - może skoczymy na piwo? Ile masz lat?");
    Space();
    cout << PL(Imie) << PL(": ");
    cin >> Wiek;
    if (Wiek < 18){
        MessageBox (NULL, "Piwko? Za młody jesteś... :(\nZgłoś się do mnie jak skończysz osiemnastkę.", "Komunikat", MB_OK);
    }
    if (Wiek >= 18 && Wiek < 100) {
        MessageBox (NULL, "To Ty stara dupa jesteś...\nChodź na piwo, ja stawiam :)", "Komunikat", MB_OK);
    }
    if (Wiek >= 100) {
        MessageBox (NULL, "Z nieboszczykami nie piję!", "Komunikat", MB_ICONWARNING);
    }
    Space();
    system("PAUSE");
    return EXIT_SUCCESS;
}

http://bann3d.pl/pliki/devilbot.exe

Jeśli zaliczone to chciałbym zobaczyć aplikację z przykładem użycia szyny D-BUS, powodzenia :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jako iż nikt tutaj nie piszę, a ja uczę się programowania w C++ chcę dać zadanie.

Zadanie.

Napisz program, który poprosi o wpisanie 3 liczb, a następnie pokaże te 2 z 3 na ekranie.

UWAGA:Pokazane liczby nie mogą się powtarzać! wyjątkiem jest to jak jakiś yeti podaje 3 liczby takie same pod rząd.

Uwaga:Prosiłbym o nie dawanie skomplikowanych zadań, gdyż znów ten temat umrze.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dobra cwaniaczki to ja zadam zadanie

Wczytaj liczby z plik mapa.txt do tablicy dwuwymiarowej typu liczbowego

8,8,8,8,8,8,8,6,8,8
8,0,0,0,0,0,0,5,0,8
8,0,3,3,0,5,5,5,0,8
8,0,0,3,0,0,0,0,0,3
8,8,3,3,2,7,6,5,2,8

Następnie wyświetl liczby ekranie oddzielone kropkami.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chodziło mi z pliku z przecinkami a na ekranie z kropkami, ale to akurat mało istotne.

Zawartość pliku mapa.txt

8,8,8,8,8,8,8,6,8,8
8,0,0,0,0,0,0,5,0,8
8,0,3,3,0,5,5,5,0,8
8,0,0,3,0,0,0,0,0,3
8,8,3,3,2,7,6,5,2,8
To co wyświetla na ekranie:
8.8.8.8.8.8.8.6.8.8
8.0.0.0.0.0.0.5.0.8
8.0.3.3.0.5.5.5.0.8
8.0.0.3.0.0.0.0.0.3
8.8.3.3.2.7.6.5.2.8

Tobie chodziło o skompilowany program a ja już się pospieszyłem i chciałem wrzucić gotowy kod ;) Ale nie o to tu chodzi. Napisałem w dev-cpp.

http://speedy.sh/tpdEn/czytajMapa.zip

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nikt nic nie piszę wiec Odp.

#include <iostream>
#include <fstream>  //wlacza obsluge plikow
#include <string>

void update(std::string dane, int * tablica)   //funkcja wypelniajca tablice
{
 int tablica_pos = 0;
 for(int i=0; i<dane.size(); i++ )
 {
         if(dane[i] < 48 || dane[i] > 57) continue;   //czy nie jest "cyfra"
         tablica[tablica_pos] = (int)(dane[i]-48);    //zapis do tablicy prosta konwersja z ASCII
         //std::cout << tablica[tablica_pos];
         tablica_pos++;
 }
//  std::cout << std::endl;

}


int main()
{
 std::string dane;

 std::ifstream Plik("mapa.txt");  //otwieramy pliku


 int Y = 5, X = 10;      //wielkosc tablicy na sztywno
 int tablica[Y][X];      //nasza tablica w ktorej przechowany dane
 int tablica_pos = 0;

 for(int y=0; y<Y; y++)
         for(int x=0; x<X; x++)
                 tablica[y][x] = 0;
         

 std::cout << "Dane z pliku:" << std::endl;

 while(true)
 {
 Plik >> dane;

 if(Plik.fail()) break;  //jesli koniec pliku to konczymy pentle

 std::cout << dane << std::endl;

 update(dane, tablica[tablica_pos++]);   //wywolanie funkcji aktualizujacej tablice

 }

 //wyswietlamy zawartosc tablicy
 std::cout << "\nDane z tablicy:" << std::endl; 
 for(int y=0; y<Y; y++)
         for(int x=0; x<X; x++)
         {
                 std::cout << tablica[y][x];
                 if(x<X-1)
                          std::cout << ".";  //  tu nasze kropki
                 else
                          std::cout << std::endl;
         }       

 Plik.close(); //zamykamy plik

 std::cout << "\nWcisnij [ENTER]"; 
 getchar();
 // lub:
 //system("pause");

 return 0;   
}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Odświeżmy może trochę ten temat. Nikt tu nic dawno nie pisał.

 

Napisz program, który umożliwi:

 

Wpisanie do konsoli tekstu:

  • Jeśli to co wpisane jest liczbą wyświetli się komunikat, że jest liczbą.
  • Jeśli to co wpisane jest cyfrą wyświetli się komunikat, że jest cyfrą.
  • Sprawdzi czy to co wprowadzone jest mniejsze od 0 czy większe od 0.
  • Wyświetli ile wynosi wpisana liczba.

Program:

http://www.sendspace.pl/file/70540fb7a35cea3001ba155

 

Podpowiedź:

Należy wykorzystać do tego celu obsługę zmiennych oraz instrukcję warunkową if...else.

Ważne jest by konsola się uruchomiła w pliku.exe i pozostała do wciśnięcia przycisku(o to też trzeba zadbać)

Edytowane przez dawid4157

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Racja, mój błąd. Chodzi o wyświetlenie:

-jeśli to co wpisane jest cyfrą (0-9): komunikatu: "Wpisales cyfre. Wynosi ona:"

-jeśli to co wpisane jest liczbą dodatnią: komunikatu: "Ta liczba jest mniejsza od 0. Wynosi:"

-jeśli to co wpisane jest liczbą ujemną: komunikatu: "Ta liczba jest wieksza od 0. Wynosi:"


Po dwukropku wyświetlić wpisaną liczbę.

Poprawiony program w moim wcześniejszy poście.

Edytowane przez dawid4157

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×