Haker123 Temat założony przez niniejszego użytkownika |
Problem z podzialem kodu na czesci » 2009-06-04 14:21:18 Witam. Tym razem mam problem z podzialem kodu ;/ albo wyzuca mi ze string nie ma nazwy (jak jest w "Definicje.hpp")albo wypisuje strasznie duuuuzo bledow ale nie pokazuje w ktorej linijce sa te bledy ;/(jak string jest w "Main.cpp") bede wdzieczny jak ktos mi pomoze bo ja nie wiem gdzie jest blad ;/ Oto moj kod Main.cpp #include <iostream> #include <conio.h> #include <console.ddt> #include <fstream> #include "Definicje.hpp"
using namespace std; using namespace ddt::console;
int main() { int pozycja = 0; bool koniec = false; char wybor; while( koniec == false ) { WyswietlKomunikat( pozycja ); wybor = getch(); switch( wybor ) { case 224: wybor = getch(); switch( wybor ) { case 72: pozycja -= 1; break; case 80: pozycja += 1; break; } break; case 13: if( pozycja == 0 ) Quiz(); if( pozycja == 1 ) Kalkulator(); if( pozycja == 2 ) koniec = true; break; } if( pozycja > 2 ) pozycja = 0; if( pozycja < 0 ) pozycja = 2; } return( 0 ); }
Definicje.hpp #ifndef Definicje_hpp #define Definicje_hpp
void Quiz( void ); void Kalkulator( void ); void WyswietlKomunikat( int zaznacz ); string tablica[ 3 ] = { "Quiz", "Kalkulator", "Wyjscie" };
#endif
Kalkulator.cpp #include "Definicje.hpp" #include <console.ddt> #include <iostream> #include <conio.h> using namespace ddt::console; using namespace std;
void Kalkulator( void ) { clrscr(); int a, b, dwa; gotoxy( 1, 4 ); cout << "Podaj liczbe a: "; cin >> a; cout << endl; cout << "Podaj liczbe b: "; cin >> b; cout << endl; cout << "Co zrobic:" << endl; cout << "[1]: dodac" << endl; cout << "[2]: odjac" << endl; cout << "[3]: pomnozyc" << endl; cout << "[4]: podzielic" << endl; cout << ""; cin >> dwa; cout << endl; switch( dwa ) { case 1: cout << "Wynik dodawania to: " << a + b << endl << endl; break; case 2: cout << "Wynik odejmowania to: " << a - b << endl << endl; break; case 3: cout << "Wynik mnozenia to: " << a * b << endl << endl; break; case 4: cout << "Wynik dzielenia to: " << a / b << endl << endl; break; default: cout << "Zly wybor"; break; } getch(); clrscr(); }
Quiz.cpp #include "Definicje.hpp" #include <console.ddt> #include <iostream> #include <conio.h> #include <fstream> using namespace ddt::console; using namespace std;
void Quiz( void ) { clrscr(); char pytanie1[ 110 ]; char pytanie2[ 110 ]; char pytanie3[ 110 ]; fstream pytania; pytania.open( "Pytania.txt", ios::in ); if( pytania.good() == true ) { int odp1; int odp2; int odp3; int punkty = 0; pytania.read( pytanie1, 108 ); pytanie1[ 108 ] = 0; cout << pytanie1; cout << ""; cin >> odp1; if( odp1 == 4 ) { punkty += 1; } pytania.read( pytanie2, 103 ); pytanie2[ 103 ] = 0; cout << pytanie2; cout << ""; cin >> odp2; if( odp2 == 2 ) { punkty += 1; } pytania.read( pytanie3, 107 ); cout << pytanie3; cout << ""; cin >> odp3; cout << endl << endl; if( odp3 == 3 ) { punkty += 1; } if( punkty == 0 ) { cout << "Ani jednego punktu nie zdobyles??;/" << endl; } if( punkty == 1 ) { cout << "1 punkt na 3 mozliwe, slabiutko" << endl; } if( punkty == 2 ) { cout << "No nawet ladnie, 2 punkty" << endl; } if( punkty == 3 ) { cout << "Ladnie zdobyles maxymalna ilosc punktow" << endl; } getch(); pytania.close(); } else cout << "Brak pliku z pytaniami"; getch(); clrscr(); }
Komunikat.cpp #include "Definicje.hpp" #include <console.ddt> #include <iostream> #include <conio.h>
using namespace ddt::console; using namespace std;
void WyswietlKomunikat( int zaznacz ) { for( int i = 0; i <= 2; i++ ) { if( i == zaznacz ) { textbackground( 12 ); textcolor( 14 ); } else { textbackground( 0 ); textcolor( 7 ); } gotoxy( 35, 10 + i * 4 ); cout << tablica[ i ] << endl; } }
|
|
DejaVu |
» 2009-06-04 16:09:33 Jeśli używasz projektów - wciągnij do nich pliki: console.hpp i console.cpp. Ten Ci nie pójdzie. |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-04 17:00:08 Konsolka mi dziala bo wzucilem je do folderu z innymi bibliotekami i dziala dobrze ;] Wracajac do projektu to wystarczy ze zmienie ustawienie "include" i bedzie dobrze?? Myslalem ze nie ma to znaczenia jaka kolejnosc jest tych include. Spruboje i napisze czy dziala ;] EDIT:: Pozmienialem kolejnosc "include" ale dalej wyskakuje mi blad z tymi "string" a jak przenioslem string do funkcji z komunikatami to wyskakuje pelno bledow tego typu multiple definition of `ddt::console::init()'
i sa chyba wszystkie znaczniki z biblioteki "console" ;/ i nie wiem co robic, nigdy czegos takiego nie mialem ;/ |
|
DejaVu |
» 2009-06-04 17:15:21 Ściągnij paczkę z console.ddt i przeczytaj plik informacyjny skoro twierdzisz, iż nie wiem co piszę :) |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-04 22:26:08 P.Piotrze nie mowie ze nie wiesz co piszesz :P tylko ze zawsze mi to dzialalo bez wsadzania tych plikow do foleru z przyszlym programem. Pierwszy raz robie projekt i widac ze jeszcze nic nie wiem o programowaniu :P spruboje tego co piszesz ;]
Co do string to jak mam to zaincludowac?? Daje string do "Definicje.hpp" i jest zle?? Bede wdzieczny jak mi powiesz jak to zrobic bo szczeze mowiac jestem jeszcze zielony w programowaniu :P
EDIT::
Ehh wsadzilem pliki konsoli do folderu z projektem zmienilem zapis include na #include "console.ddt" i dalej mam wiele komunikatow (przyklad byl wyzej :P) ehh nie wiem co robie zle ;/
|
|
DejaVu |
» 2009-06-05 03:02:58 Proszę... czytaj uważniej to co napisałem już 2 razy. Teraz jest trzeci - bardziej dobitnie: informacja.txt: Jeśli tworzysz projekt w którym masz więcej niż jeden plik, dodaj do projektu pliki console.cpp i console.hpp. Plik który dołączasz to: #include "console.hpp" |
|
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-06-07 13:35:37 Sorki ze tak dlugo tutaj nie pisalem ale mialem egzaminy w szkole :P
Co do problemu to przepraszam ale masz racje :( troszke nieuwaznie czytalem i tu byl moj blad ;/ teraz juz wiem o co chodzi, ehh mam nadzieje ze wiecej takich glupich bledow nie bede robic :P
Wielkie dzieki za pomoc :P |
|
manfred |
» 2009-06-04 15:53:19 Zastanawiam się, jakim prawem chcesz, aby kompilator widział w Definicje.hpp jakiś symbol string, jak mu nikt go nie zdefiniował... Najprościej naprawić to kolejnością includów - na początku biblioteka standardowa, potem biblioteki osób trzecich, na końcu nagłówki projektu. |
|
« 1 » 2 |