Title: Eργασια στη c Post by: trelos on June 30, 2007, 19:14:31 pm παιδια εχω να κανω την παρακατω εργασια για μια φιλη μου,αλλα επειδη δεν εχουμε διδαχτει γραφικα στη c,αν ξερει καποιος κατι πανω σε αυτα ας με βοηθησει λιγακι....
Title: deleted Post by: BOBoMASTORAS on June 30, 2007, 19:20:07 pm deleted
Title: Re: Eργασια στη c Post by: Verminoz on June 30, 2007, 19:27:53 pm Ναι όντως, για ποια βιβλιοθήκη γραφικών πρόκεται???
Title: Re: Eργασια στη c Post by: pierrekif on June 30, 2007, 20:53:25 pm Φίλη???Όντως ποιά βιβλιοθήκη είναι για να σε βοηθήσουμε..
;D ;D ;D ;D ;D ;D ;D Title: Re: Eργασια στη c Post by: trelos on June 30, 2007, 20:55:36 pm σωστο και αυτο!
vivliothiki grafikwn(#include<graphics.h>): int intwindow(int heigt,int width,const chow title,left,top) void outtext(char "msg") void outtext(int x,int y,char "msg") void moveto(int x,int y) void lineto(int x,int y) void line(int x1,int y1,int x2,int y2) void arc(int x,int y,strangle,endangle,radius) void circle(int x,int y,radius) void ellipse(int x,int y,strangle,endangle,xradius,yradius) void rectangle(int left,top,right,bottom) xrwmata sto BGI: void setcolor(int color) void setfillsty(int pattern,color)//ftiaxnei fodo void fillellipse(int x,y,x radius,y radius) void pieslice(int x,y,strangle,endangle,radius) closegraph() τωρα???? Title: Re: Eργασια στη c Post by: trelos on June 30, 2007, 21:03:42 pm τι να βοηθησεις εσυ???!!!! ;D
ναι....φιλη!!!! Title: Re: Eργασια στη c Post by: TheDoctor on July 01, 2007, 10:13:58 am Πώπω, όταν χρησιμοποιούσα αυτή τη βιβλιοθήκη η οποία είναι για DOS, δεν υπήρχε ούτε το internet!!! Τί έποχές και αυτές... Τέσπα, η συγκεκριμένη βιβλιοθήκη είναι πανεύκολη στη λειτουργία, αν και από τις συναρτήσεις που αναφέρεις λείπει η πιο σημαντική δηλαδή η initgraph ή κάτι τέτοιο... Αυτή η συνάρτηση έβαζε την κάρτα γραφικών σε κατάσταση γραφικών από την κατάσταση κειμένου. Πάντως δεν μπορώ να φανταστώ εκπαιδευτικό ίδρυμα να διδάσκει αυτό το πράγμα. Στο τέλος των σπουδών θα πρέπει να δίνει και μια χρονομηχανή στους αποφοίτους να πάνε να δουλέψουν στις αρχές του 90....
Title: Re: Eργασια στη c Post by: trelos on July 01, 2007, 11:57:22 am σκεψου οτι αυτα τα διδασκουν στο χημικο αθηνων,δηλαδη σε παιδια θετικης...που εχουν μονο αυτο το μαθημα σχετικα με υπολογιστες!!!
Title: Re: Eργασια στη c Post by: trelos on July 03, 2007, 01:12:07 am την εργασια την εκανα,αλλα θελω αν γινεται να ριξει καποιος μια ματια να μου πει αν ειναι σωστη...
Title: Re: Eργασια στη c Post by: TheDoctor on July 03, 2007, 19:41:33 pm Δεν είναι σωστή.
Ενδεικτικά μερικά από τα λάθη : - Η εντολή break; χρησιμοποιείται για να βγεις από την προηγούμενη δομή και όχι για να τερματιστεί η λειτουργία της συνάρτησης / προγράμματος. Το σωστό θα ήταν να επιστρέψεις ένα κωδικό λάθους, π.χ. -1 με την return -1; -Ο έλεγχος των δεδομένων που δίνει ο χρήστης είναι λάθος: κάτι γρήγορο που όμως κάνει αξιοπρεπώς τη δουλειά του είναι το : do { printf("dwse sydetagmenes tou x\n"); scanf("%d",&A [ i ] [ 0 ]); }while(A [ i ] [ 0 ] <0 || A [ i ] [ 0 ] >= 780) do { printf("dwse sydetagmenes tou y\n"); scanf("%d",&A [ i ] [ 1 ] ); }while(A [ i ] [ 1 ] <0 || A [ i ] [ 1 ] >= 600) -Ο κώδικας που ζωγραφίζει τη γραμμή x=y είναι λάθος θα μπορόυσες πολύ πολύ απλά να κάνεις το ακόλουθο: setcolor(RED); line(0,0,600,600); //προσοχή το δεύτερο 600άρι δεν είναι από λάθος. Είναι επειδή μόνο έτσι γίνεται η γραμμή x=y Αυτό βέβαια ισχύει μόνο αν θέλεις να μην αλλάξεις το σύστημα συντεταγμένων από την οθόνη στο φυσικό καρτεσιανό που τα x αυξάνονται προς τα δεξιά και τα y προς τα πάνω (στην οθόνη τα χ αυξάνονται προς τα δεξιά και τα y προς τα κάτω) -Αν κάνεις closegraph πρίν το pause, θα σβήσει η οθόνη και μετά θα περιμένει... -Ο κώδικας που ζωγραφίζει τα σημεία είναι καλός υπο την προϋπόθεση οτι δεν αλλάζεις το σύστημα συντεταγμένων. ΚΠ Title: Re: Eργασια στη c Post by: trelos on July 03, 2007, 21:18:54 pm σ'ευχαριστω πολυ δασκαλε!
Title: Re: Eργασια στη c Post by: trelos on July 05, 2007, 22:13:38 pm και αλλο προβλημα...δεν μπορω να κανω compile....γραφω το παρακατω προγραμμα:
#include<stdio.h> #include<stdlib.h> #include<graphics.h> #define max 120 int main() { int A[max][2],n,i,j; initwindow(600,780); printf("dwse arithmo shmeiwn\n"); scanf("%d",&n); if(n>max) { printf("para polla shmeia\n"); //break; } do { printf("dwse sydetagmenes tou x\n"); scanf("%d",&A [ i ] [ 0 ]); }while((A
do { printf("dwse sydetagmenes tou y\n"); scanf("%d",&A [ i ] [ 1 ] ); }while((A [ i ] [ 1 ] <0) || (A [ i ] [ 1 ] >= 600)); setcolor(RED); line(0,0,600,600); //sxhmatizoume thn x=y for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(A
setcolor(YELLOW); outtextxy(A
} } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(A
setcolor(GREEN); outtextxy(A
} } system("pause"); closegraph(); return 0; } kai στη συνεχεια κανω τις εξεις μετατροπες: προσθετω την graphics.h απο το ακολοθθο site http://www.uniqueness-template.com/devcpp/graphics.h στο c:\dev-cpp\include καθως και την libbgi.a απο το site http://www.uniqueness-template.com/devcpp/libbgi.a στο path c:\dev-cpp\lib μετα οταν εχω δημιουργησει το project κανω τα ακολυθα προκειμενου να γινει επιτελουσ το compile... project->options->parameters kai στο πεδιο linker εισαγω: -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 κανονικα ειμαι ετοιμος,αλλα μου βγαζει κατι errors.......... help please! Title: Re: Eργασια στη c Post by: trelos on July 05, 2007, 22:16:59 pm δεν ξερω γιατι εμφανισε αυτα τα κικλακια...κανονικα ειναι A
Title: deleted Post by: BOBoMASTORAS on July 05, 2007, 22:37:20 pm deleted
Title: Re: Eργασια στη c Post by: trelos on July 05, 2007, 23:44:42 pm [Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage'
[Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage' [Linker error] undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)' [Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage' [Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage' [Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage' [Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage' [Linker error] undefined reference to `std::string::_Rep::_S_empty_rep_storage' text.cxx C:\Dev-Cpp\lib\libbgi.a(text.o)(.text+0x9b2) more undefined references to `std::string::_Rep::_S_empty_rep_storage' follow [Linker error] undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)' oλο κατι τετοια...απειρα!!!δεν πιστευω να τα θες ολα...!!!και στο τελος αυτο... C:\Dev-Cpp\Makefile.win [Build Error] [Projectu.exe] Error 1 help bob!!!!!! Title: deleted Post by: BOBoMASTORAS on July 06, 2007, 01:23:09 am deleted
Title: Re: Eργασια στη c Post by: trelos on July 06, 2007, 12:07:33 pm διαβασα ενα pdf που ειχε στο internet o καθηγητης τους&οτι ελεγε εκανα βημα βημα...τι αλλο να θελει...????
:'( Title: Re: Eργασια στη c Post by: poumpa on July 06, 2007, 12:50:20 pm Τα ονοματα με '_' ή '__' στην αρχή προέρχονται συνήθως από την "εσωτερική" υλοποίηση της βιβλιοθήκης της C του κάθε compiler.
Μήπως παίζει καμμια ασυμβατοτητα με λειτουργικο ή με το IDE που χρησιμοποιεις; Title: Re: Eργασια στη c Post by: TheDoctor on July 06, 2007, 16:36:52 pm Το πρόβλημα στο linking που έχεις σχετίζεται με την βιβλιοθήκη STL, δηλαδή απλά θα πρέπει να προσθέσεις στις βιβλιοθήκες μια βιβλιοθήκη libstd ή κάπως έτσι, δεν έχω αυτό το περιβάλλον στον υπολογιστή μου.
Άν δεν μπορέσεις να βγάλεις τίποτα από αυτό, βγάλε την εντολή system("pause") από τον κώδικά σου και μήν κάνεις include το "stdlib.h" Καλή επιτυχία. ΚΠ Title: Re: Eργασια στη c Post by: trelos on July 06, 2007, 22:10:27 pm εβγαλα την εντολη system("pause") απο τον κωδικα,αλλα κ παλι τιποτα!!!δεν πειραζει...ας μην παρει 10...ας παρει 9 :D!!!!εξαλλου ο κωδικας μαλλον σωστος ειναι!!!ευχαριστω παντως!!! ;)
Title: Re: Eργασια στη c Post by: poumpa on July 07, 2007, 02:44:28 am Αν ο trelos καταφερει να βρει compiler που δε κανει link απο default στην standard library καλυτερα να τον πεταξει οοπως ειναι! :D
Παντως οπως ειπε κ ο Bob πρεπει να φταινε οι αλλες βιβλιοθηκες που προστεθηκαν Το πρόβλημα στο linking που έχεις σχετίζεται με την βιβλιοθήκη STL, δηλαδή απλά θα πρέπει να προσθέσεις στις βιβλιοθήκες μια βιβλιοθήκη libstd ή κάπως έτσι, δεν έχω αυτό το περιβάλλον στον υπολογιστή μου. Άν δεν μπορέσεις να βγάλεις τίποτα από αυτό, βγάλε την εντολή system("pause") από τον κώδικά σου και μήν κάνεις include το "stdlib.h" Καλή επιτυχία. ΚΠ Για την ακριβεια: Η STL δεν ειναι αυτο που λεμε standard βιβλιοθηκη της C++ (η stdlib δλδ). Η stdlib ειναι η βιβλιοθηκη με τις πιο βασικες συναρτησεις που υπαρχει απο την C ενω η STL ειναι μια βιβλιοθηκη με templates (για αυτο κ Standard Template Library) που υλοποιουν δομες δεδομενων κ αλγοριθμους (Ο εξυπνακιας ^tomato^ ) Title: Re: Eργασια στη c Post by: trelos on July 07, 2007, 13:11:08 pm δεν ξερω τι ετος ειστε και τα γνωριζετε ολα αυτα,αλλα εγω ειμαι 2,εχω κανει c&c++ και ολα αυτα δεν μας τα εχει εξηγησει κανεις...οποτε....
μου φαινονται καπως... :-[ Title: Re: Eργασια στη c Post by: lars on July 07, 2007, 23:23:49 pm Και δεν πρόκειται να σου εξηγήσει ποτέ. Μόνος σου πρέπει να τα μάθεις. Αλλά ας μην ξαναπιάσουμε αυτό το κομμάτι περί σχολής και προγραμματισμού.
Title: Re: Eργασια στη c Post by: TheDoctor on July 08, 2007, 23:08:13 pm δεν ξερω τι ετος ειστε και τα γνωριζετε ολα αυτα,αλλα εγω ειμαι 2,εχω κανει c&c++ και ολα αυτα δεν μας τα εχει εξηγησει κανεις...οποτε.... 5o του διδακτορικού ;), αλλά ούτε εμένα μου τα έμαθε κανένας.μου φαινονται καπως... :-[ ΚΠ |