Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Console.ddt a projekty

Ostatnio zmodyfikowano 2008-10-24 15:07
Autor Wiadomość
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.
P-2134
DeBugger
» 2008-10-17 15:29:49
Pokaż te części, albo choćby log.
P-2135
invisiblekid
Temat założony przez niniejszego użytkownika
» 2008-10-17 15:35:16
Here U go:
C/C++
#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: //klawisze specjalne
            znak = getch();
            switch( znak )
            {
            case 71: //klawisz HOME
                menu();
                break;
            }
        case 27: //ESC
            koniec = true;
            break;
        }
    }
    return( 0 );
} // main() [/code]

To jest funkcje main.Zraz zamieszcze plik ź r ó d ł owy i nag ł ó wkowy( je ś li trzeba )
Uprzedzam, ż e program nie jest jescze skonczony.
    : D
P-2137
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.
P-2138
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?
P-2139
invisiblekid
Temat założony przez niniejszego użytkownika
» 2008-10-17 15:45:32
Oto plik żródłowy:
C/C++
#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 );
   
} //pobierzCiag()

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;
} // wyswietlKomunikaty()

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: //klawisze specjalne
            znak = getch();
            switch( znak )
            {
            case 72: //strzałka w górę
                pozycja -= 1;
                break;
            case 80: //strzałka w dół
                pozycja += 1;
                break;
            }
        case 27: //ESC
            koniec = true;
            break;
        case 13: //ENTER
            //wykonaj();
            break;
        }
    }
} //  menu()
/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:
C/C++
#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
P-2140
lynx
» 2008-10-17 16:06:19
Ja bym to zrobił tak jeżeli chodzi o include-y:

a)main.cpp
C/C++
#include"naglowek.h"
#include"funkcje.hpp"
b)naglowek.h
C/C++
#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ść'.
P-2142
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
P-2145
« 1 » 2 3
  Strona 1 z 3 Następna strona