Το GameWorld.gr αναζητά Forum Moderators (21 May 2018)

Το GameWorld.gr επιθυμεί να προσλάβει Forum Moderators.

Διάφορα μικρά προγραμματάκια σε C

More
10 Apr 2007 23:33 #29925 by Μάνος Αλιμπέρτης
Η C ήταν η πρώτη γλώσσα προγραμματισμού που έμαθα και

Everything that has a beginning has an end...

Please Log in or Create an account to join the conversation.

  • a Guest
  • Visitor
  • Visitor
11 Apr 2007 00:36 #29927 by a Guest
Ωχ, τώρα θα με κάνεις να ψάχνω σε δισκέτες για κώδικα. Ωραίος πάντως, καλογραμμένο και μου άρεσε και το οτι χρησιμοποίησες functions() και pointers ενώ το πρόγραμμα άνετα θα μπορούσε να γίνει σειριακά και πολύ μικρότερο.

Τώρα δεν ξέρω τι compiler χρησιμοποίησες αλλά δεν θα έπρεπε να είναι:
Code:
#include <stdio> #include <stdlib>
?
EDIT: Για καποιον περίεργο και ηλίθιο λόγο κόβει τα stdio.h kai stdlib.h

The C language combines all the power of assembly language with all the ease-of-use of assembly language.

Please Log in or Create an account to join the conversation.

More
11 Apr 2007 01:32 #29932 by Μάνος Αλιμπέρτης
Τhanks CT T για τον σχολιασμο και τα καλά σου λόγια!

Everything that has a beginning has an end...

Please Log in or Create an account to join the conversation.

More
11 Apr 2007 14:46 #29942 by Μπάμπης Κάιδος
Μπράβο Μάνο,
καλή αρχή.

Δεν έχω χρόνο να δω τωρα το πρόγραμμα σου, το βραδυ ίσως. Δυο συμβουλές μόνο...

1)Απεύφεβγε τη χρήση των puts() και gets(). Οι printf() και scanf() είναι πολύ πιο κομψές και βοηθάνε την αναγνωσιμότητα του προγράμματος σου ειδικά όταν παρεμβάλονται μεταβλητές.

2)Δοκίμασε να γράφεις τα σχολειά σου στα αγγλικά (και τα ονόματα των συναρτήσεων, μεταβλητών κτλ). Πιστεύω ότι ως προγραματιστής που δημοσιεύει τον κώδικά του απευθύνεσαι σε όλο τον κόσμο. Θα το δεις και μόνος σου ότι όταν γράφεις κώδικα η μεγαλύτερη βοήθεια που θα βρεις δε θα είναι τα βιβλία, αλλά ο κώδικας και τα tutorials που έχουν δημοσιεύσει οι άλλοι στο internet. Βοήθησε κι εσύ.

Χεχεχε, πιο πολύ δεοντολογικά σου είπα παρά πρακτικά. Γίνε master στις ένειες των δεικτώκ και των αναφορών και θα πέζεις τη C/C++ στα δάχτυλα...

Happy coding

Please Log in or Create an account to join the conversation.

More
12 Apr 2007 01:15 #29984 by Μάνος Αλιμπέρτης
Eυχαριστώ Μπάμπη. :D

Απ' όσο έχω διαβάσει η puts(); και η gets(); απαιτούνε αρκετά λιγότερους πόρους απο το σύστημα σε σχέση με την printf και Scanf αντίστοιχα(να μου πεις τα προγραμματάκια είναι πάρα πολύ μικρά αλλα η οικονομία στους πόρους ποτέ δεν έβλαψε) και με την Puts βάζεις και αυτόματα ένα \n.

Στην αρχή μόλις διαπίστωσα το αυτονόητο(οτι δεν υποστηρίζονται Ελληνικοί χαρακτήρες στην κονσόλα της C) έφαγα φρίκη αφου τα greeklish τα απεχθάνομαι και τα χρησιμοποιώ πάρα μα πάρα πολύ λίγο.Σκέφτηκε να γράφω σε Αγγλικά αλλα λόγω Project για να φαινεται ο κώδικας πιο "δικός μου"(με τα Αγγλικά μπορούσε ακραία βέβαια κάποιος να πει οτι ειναι ξένος ο κώδικας) έμεινα σε greeklish.

Πάντως με τους δείκτες δεν έχω ολοκληρώσει ακόμη τα πράγματα που θέλω να μάθω.Lists,διοχέτευση πολυδιάστατων πινάκων σε συναρτήσεις αλλα και δομές κτλ που είναι Must οι Pointers. Ισα ίσα τα είδαμε.

Η C++ μαθαίνετε σχετικά εύκολα αν κάτσει κάποιος μόνος του;

Everything that has a beginning has an end...

Please Log in or Create an account to join the conversation.

  • a Guest
  • Visitor
  • Visitor
12 Apr 2007 10:12 #29993 by a Guest
Η C++ δεν μαθαίνεται εύκολα...εδώ ούτε η BASIC δεν μαθαίνεται εύκολα αλλά μαθαίνεται. Θέλει υπομονή, διάβασμα και κυρίως διάβασμα κώδικα.
Στο άλλο σου πρόβλημα...πως δεν υποστηρίζονται ελληνικά στην κονσόλα; Ποιον compiler χρησιμοποιείς; Εδώ πάντως και 12 χρόνια που πρωτοασχολήθηκα δεν είχα πρόβλημα να τυπώσω ελληνικά (εκτός και αν δεν τα υποστήριζε ο υπολογιστής που χρησιμοποιούσα). Επίσης δεν υπάρχει και κανένα πρόβλημα να δημιουργήσεις γραφικό περιβάλλον, αρκεί να χρησιμοποιήσεις τις κατάλληλες βιβλιοθήκες. Αυτά...

Please Log in or Create an account to join the conversation.

More
12 Apr 2007 12:02 #29999 by Μάνος Αλιμπέρτης
Παιδια ευχαριστώ και τους δύο για την υποστήριξη! :D

Λόγω του ότι στο Πολυτεχνείο είχαμε το Visual Studio της MS και για να μην έχουμε "ασυμβατότητες" οταν θα θέλαμε να τρέχουμε τον κώδικα μας στα τερματικά του Ιδρύματος αλλα και επειδή μόνο αυτο μας συστήσανε.Νεοπας εγώ, λογικό μου φαίνεται πως την "πάτησα"(υπάρχουν απ όσο έχω διαβάσει πολλοί καλύτεροι Compilers).

Επειδή όμως δεν γούσταρα επειδή το είχα σε κόπια κατέβασα τώρα πρόσφατα το Visual Express 2005 C++(τουλάχιστον αυτο ειναι freeware)

Everything that has a beginning has an end...

Please Log in or Create an account to join the conversation.

  • a Guest
  • Visitor
  • Visitor
12 Apr 2007 12:05 #30000 by a Guest
Η Java μοιάζει με την C++. Tο σημαντικό είναι να μάθεις να προγραμματίζεις, οι γλώσσες είναι το δευτερεύων. Δοκίμασε τον gcc, για windows θα χρειαστεί να κατεβάσεις το Cygwin.

Please Log in or Create an account to join the conversation.

More
18 Aug 2007 16:55 #36297 by Μάνος Αλιμπέρτης

#include <stdio>
#include <stdlib>


float ipologismos_dikti_mazas_somatos(float *,float *);
float square(float *);
void elegxos_barous(float *);
void elegxos_ipsous(float *);
void writeOnFile(FILE *,float *);





int main(void)

{ float baros,ipsos,deiktis;
char eksodos;
char *name;

name=(char *)malloc(sizeof(char)*40);

printf("Ena programmataki pou ipologizei ton dikti mazas somatos kai malista eksagei ta apotelesmata se ena txt arxeio.\n\n");
puts("To arxeio poy tha sas enimeroni peretero gia ton deikti mazas somatos tha ginete output se path tis epilogis sas");
puts("");
puts("");

printf("\nParakalo eisagete to somatiko sas baros se kg:");
elegxos_barous(&baros);


printf("\nAfou tora eisagate to baros sas doste to ipso sas se metra:");

elegxos_ipsous(&ipsos);

deiktis=ipologismos_dikti_mazas_somatos(&baros,&ipsos);

printf("\nO deiktis mazas somatos einai %.2f \n",deiktis);




puts("Dose to path pou tha itheles na apothikeftei to arxeio opos kai to onoma tou arxeiou");

scanf("%s",name);

puts("Gia perissoteres plirofories anatrekste sto .txt file poy dimiourgithike sto desktop sas");

FILE *arxeio_gia_grapsimo;

arxeio_gia_grapsimo=fopen(name,"w");

//Εφοσον αυτο το αρχείο δεν θα υπάρχει θα δημιουργείται.Αυτο θέλουμε άλλωστε,να δημιουργείται αναφορά για τον δείκτη μαζας
//σώματος
fprintf(arxeio_gia_grapsimo,"O deiktis mazas somatos sas einai %.2f\n\n",deiktis);

writeOnFile(arxeio_gia_grapsimo,&deiktis);

if(arxeio_gia_grapsimo==NULL)

{

puts("Strabose i dimiourgia toy txt arxeiou.");
exit(1);

}








return 0;



}

/*################################################ ΣΥΝΑΡΤΗΣΕΙΣ #################################################################*/

//Δήλωση συνάρτησης που υπολογίζει το τετράγωνο ενος αριθμού.

float square(float *x)


{


Everything that has a beginning has an end...

Please Log in or Create an account to join the conversation.

More
20 Aug 2007 20:32 #36332 by Πάτροκλος Κόντος
""Kαι κάτι άλλο...οταν διαβάζουμε ένα txt αρχείο απο την c ότι εντολή και να χρησιμοποιούμε η προσπέλαση γίνεται σειριακά;""
οχι...
θες direct access - random access

ψαξε για record number αν το text file εχει εγγραφες σταθερου μηκους.

και για file position(αριθμος του byte) αν εχει εγγραφες μεταβλητου μηκους.

(αν δε βρεις και θες περισσοτερες πληροφοριες θα σου πω καποια αλλη στιγμη)


""και γίνεται να αποθηκεύσουμε σε αρχείο δίσκο δεδομένα διατάξεων και μεταβλητών και να τα φορτώνουμε κάθε φορά που ανοίγουμε το πρόγραμμα;Φαντάζομαι πως θα γίνεται αλλα ειναι βαρβάτο;""

γινεται και δε μου φαινεται βαρβατο , αντι να τα διαβαζει απτο πληκτρολογιο ας τα διαβαζει απο το αρχειο.

Please Log in or Create an account to join the conversation.