Console.ddt a projekty
Ostatnio zmodyfikowano 2008-10-24 15:07
invisiblekid Temat założony przez niniejszego użytkownika |
Console.ddt a projekty » 2008-10-17 15:28:46 Mam problem z konsolą console.dtt: kod, który napisałem kompiluje sie narmalnie i dziala gdy jest to jeden plik z wszystkimi funkcjami razem a gdy dziele go na kod żródłowy i nagłówkowy kompilator nie może wogóle znaleźć takiego pliku. Dlaczego tak się dzieje skoro w kodzie nic nie zmieniam oprócz tego, że dziele go na części. |
|
DeBugger |
» 2008-10-17 15:29:49 Pokaż te części, albo choćby log. |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2008-10-17 15:35:16 Here U go: #include<iostream> #include<vector> #include<conio.h> #include "console.ddt" #include "funkcje.hpp"
using namespace std; using namespace ddt::console;
int main() { while( koniec != true ) { textcolor( 15 ); cout << "Program pobiera ciag liczb i wykonuje na nich operacje \n (albo ma w planach wykonywanie operacji)." " \n \t Made by Pawel Dobrowolski." << endl; textcolor( 8 ); system( "pause" ); menu(); clrscr(); wyswietlKomunikaty(); unsigned char znak = getch(); switch( znak ) { case 224: znak = getch(); switch( znak ) { case 71: menu(); break; } case 27: koniec = true; break; } } return( 0 ); }
To jest funkcje main.Zraz zamieszcze plik ź r ó d ł owy i nag ł ó wkowy( je ś li trzeba ) Uprzedzam, ż e program nie jest jescze skonczony. : D |
|
lynx |
» 2008-10-17 15:36:47 Sprawdź czy plik nagłówkowy ma rozszerzenie *.h lub *.hpp. A czy plik z funkcją main ma *.cpp lub *.cc . Oprócz tego zobacz też czy masz napoczątku pliku z funkcją main dyrektywe #include"naglowek.h" . Możesz też zajrzeć do katalogu gdzie masz pliki i upewnić się czy znajduje się tak plik naglowek.h .
POZDR. |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2008-10-17 15:41:16 No chyba to wszysko zrobiłem dobrze. (chyba :P) Mam jeszcze pytanie czy dyrektywy preprocesora mam zawierać także w pliku żródłowym np. jeśli funkcja potrzebuje dyrektywy #include<vector> zewrzeć to też w żródłowym? |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2008-10-17 15:45:32 Oto plik żródłowy: #include "funkcje.hpp"
int pobierzCiag() { string znakKoniec; bool finito = false; int liczba; do { clrscr(); textcolor( 7 ); if( tablica.size() > 0 ) { cout << "Wprowadziles liczby: "; wypiszCiag(); cout << endl; } cout << "Wprowadz liczbe: "; cin >> liczba; tablica.push_back( liczba ); cout << "Czy chcesz zakonczyc wprowadzanie? [T/N] :"; cin >> znakKoniec; if( znakKoniec != "n" ) finito = true; } while( finito != true ); }
int wypiszCiag() { for( int i = 0; i < tablica.size(); i++ ) cout << tablica[ i ] << ", "; }
void wyswietlKomunikaty() { int x = wherex(); int y = wherey(); gotoxy( 1, 25 ); textcolor( 12 ); cout << "Aby kontynuowac wprowadzanie wcisnij dowolny klawisz "; cout << "Aby wrocic do menu wcisnij [HOME] "; cout << "[ESC] Wyjscie "; gotoxy( x, y ); textcolor( 7 ); return; }
void menu() { int pozycja = 1; bool koniecMenu = false; clrscr(); while(( koniecMenu != true ) ||( koniec =!true ) ) { cout << "Menu programu: " << endl; cout << "\t 1. Wprowadz ciag" << endl; if( pozycja = 1 ) { cout << "\t 1.1 Wprowadz wlasny ciag " << endl; cout << "\t 1.2 Wczytaj ciag jedynek " << endl; cout << "\t 1.3 Wczytaj ciag kolejnych liczb calkowitych " << endl; cout << "\t 1.4 Wczytaj ciag ....... " << endl; cout << "\t 1.5 Wczytaj ciag szybko rosnacy " << endl; } cout << "\t 2. Wykonaj operacje na wybranym ciagu: " << endl; cout << "\t 2.1 Ssumuj ciag " << endl; cout << "\t 2.2 Obilcz srednia arytmetychna ciagu " << endl; cout << "\t 2.3 Sprawdz monotonicznosc ciagu " << endl; unsigned char znak = getch(); switch( znak ) { case 224: znak = getch(); switch( znak ) { case 72: pozycja -= 1; break; case 80: pozycja += 1; break; } case 27: koniec = true; break; case 13: break; } } }
/edit: funkcja menu() nie jest jeszcze wogóle funkcjonalna (co też dotyczy tematu na forum pt. Menu :P) wiec prosze sie nie zrażać, a to nagłówkowy: #ifndef funkcje_hpp #define funkcje_hpp
bool koniec = false; vector < int > tablica;
int wypiszCiag(); void wyswietlKomunikaty(); int wypiszCiag(); int pobierzCiag(); void menu(); void wykonaj();
#endif
BTW: jesli znajdzecie jakies rażące błedy nie związanie z tematem (albo jakies sugestie, żeby program działał fajniej :D) to też powiedzcie :D |
|
lynx |
» 2008-10-17 16:06:19 Ja bym to zrobił tak jeżeli chodzi o include-y: a)main.cpp #include"naglowek.h" #include"funkcje.hpp"
b)naglowek.h #include<iostream> #include<vector> #include<conio.h> #include "console.ddt"
Same definicje zmiennych/funkcji z przydomkiem extern, przykład: extern void funkcja1( void ); c)funkcje.hpp Bez zmian Kod jest wtedy prostszy do zrozumienia, ale nie wiem jak to jest jeżeli chodzi o 'profesjonalność'. |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2008-10-17 16:19:40 thanx a a'propos profejonalnosci to narazie malo mie ona obchodzi :P |
|
« 1 » 2 3 |