Βοήθεια στην Γλώσσα C

Η ερωτηση μου ηταν απλα σε θεωρητικο επιπεδο . Δηλαδη αν αυτο που μπορεις να το κανεις με class μπορεις να το κανεις και με ενα struct. Δηλαδη απευθειας να ορισεις μεσα στο scope function member.
Οπως και να εχει, ευχαριστω για τις απαντησεις σας.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Ρε συ,αυτός στο avatar ο Ritchie ή ο Ρίτσος έιναι?:look:

Ο Ρίτσος ρε δεν βλέπεις αναγράφεται και έναν απο τα καλύτερα ποιήματα του δίπλα.:drunk:

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Η ερωτηση μου ηταν απλα σε θεωρητικο επιπεδο . Δηλαδη αν αυτο που μπορεις να το κανεις με class μπορεις να το κανεις και με ενα struct. Δηλαδη απευθειας να ορισεις μεσα στο scope function member.
Οπως και να εχει, ευχαριστω για τις απαντησεις σας.

Σε περίπτωση που ψάχνεις κάτι ισοδύναμο και δε σε νοιάζει τόσο πολύ η συνάρτηση να είναι μέσα στη struct, μπορείς να κάνεις το εξής : ορίζεις τη struct με τις μεταβλητές που θέλεις και χωριστά ορίζεις μια συνάρτηση με όρισμα δείκτη προς αυτή τη struct (και ότι άλλα ορίσματα χρειάζεσαι). Είναι ακριβώς το ίδιο πράγμα με τις συναρτήσεις που έχει η java μέσα στις classes.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
για όποιον θέλει να μάθει ή δυσκολεύεται με τις λίστες...εμένα με έχει βοηθήσει πολύ(αν και έχω διαβάσει μόνο το 1ο μέρος :P)

https://x-karagiannis.gr/prog/libs/content/misc/notes/llists/llists1.php

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
για να παω στο στοιχειο Α[2] [2] ενος πινακα 5*5 ποσα bytes πρεπει να περασω στην μνημη?
οποιος γνωριζει παρακαλω να μου απαντησει το συντομοτερο δυνατον
ευχαριστω εκ των προτερων

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
ισχυει οτι :

Α[i,j]= I.A. + (j * ncolumns * sizeof(array element)) + (i * sizeof(array element))

I.A.(initial address)

σε πίνακα A[n,n]

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Επεξεργάστηκε από συντονιστή:
Εχω ενα προγραμμα και διαβαζω ενα αρχειο:

Code:
...Εντολες....
fscanf(file,"%s",word);
while(!feof(file)){               
   ....Εντολες....
   fscanf(file,"%s",word);
}
Για καποιο λογο δε διαβαζει την τελευταια λεξη του αρχειου.Εχω κανει ο,τι λεει το βιβλιο και οι σημειωσεις του καθηγητη.Τι φταιει?

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Επεξεργάστηκε από συντονιστή:
Εχω ενα προγραμμα και διαβαζω ενα αρχειο:

Code:
...Εντολες....
fscanf(file,"%s",word);
while(!feof(file)){               
   ....Εντολες....
   fscanf(file,"%s",word);
}
Για καποιο λογο δε διαβαζει την τελευταια λεξη του αρχειου.Εχω κανει ο,τι λεει το βιβλιο και οι σημειωσεις του καθηγητη.Τι φταιει?
Για δοκίμασε να το κάνεις ως εξής:

Code:
...Εντολες....
 do {
   fscanf(file,"%s",word);
    ....Εντολες....
 } while(!feof(file));
Έχω την εντύπωση ότι πρέπει να την διαβάζει και το eof να χτυπά μαζί. Αλλά δοκίμασέ το να δεις.


Δηλαδή, διαβάζεις την τελευταία γραμμή μεν, αλλά στην ανακύκλωση του while "χτυπά" το eof, οπότε ποτέ δεν μπαίνει στην επεξεργασία. Είναι wild guess που έκανα τώρα, δοκίμασέ το να δεις.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Για δοκίμασε να το κάνεις ως εξής:

Code:
...Εντολες....
 do {
   fscanf(file,"%s",word);
    ....Εντολες....
 } while(!feof(file));
Έχω την εντύπωση ότι πρέπει να την διαβάζει και το eof να χτυπά μαζί. Αλλά δοκίμασέ το να δεις.


Δηλαδή, διαβάζεις την τελευταία γραμμή μεν, αλλά στην ανακύκλωση του while "χτυπά" το eof, οπότε ποτέ δεν μπαίνει στην επεξεργασία. Είναι wild guess που έκανα τώρα, δοκίμασέ το να δεις.

Δουλευει man!:clapup: Ειχα δοκιμασει κι εγω do-while αλλα ειχα αφησει το scanf παλι ως τελευταια εντολη και ειχα το ιδιο προβλημα.Επισης τσεκαρα αυτο που ειπες και οντως ετσι ειναι...δηλαδη τη διαβαζε την τελευταια λεξη αλλα χτυπαγε αμεσως EOF .Eυχαριστω:D

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
επίσης μπορείς και χωρίς feof()

Code:
while ( fscanf ( file, "%s", word ) != EOF )
{
        ...
}

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
καλησπερα..
προγραμματιζω σε γλωσσα C και εχω το εξης προβλημα: θελω να γραψω ενα προγραμμα το οποιο θα εκτυπωνει τις βαθμολογιες φοιτητων ..η βαθμολογια θα πρεπει να γινεται δεκτη ειτε δινεται με κεφαλαιο ειτε με μικρο κ εδω ειναι το προβλημα μου...
πως μπορει να υλοποιηθει κατι τετοιο?καμμια ιδεα??

οποιος γνωριζει ας απαντησει μιας και το homework τρεχει...


ευχαριστω

Σημείωση: Τα μηνύματα 111-120 προήλθαν από την ένωση με το θέμα Γλώσσα C.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Επεξεργάστηκε από συντονιστή:
δεν κατάλαβα, περιέγραψε λίγο την μορφή του input που σου δίνεται..

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
αν για παραδειγμα οι επιτρεπτοι βαθμοι ειναι Α Β C F το προγραμμα θα πρεπει να το δεχεται ειτε ετσι ειτε ως a b c f...δηλαδη ο χρηστης μπορει να δωσει ειτε μικρα ειτε κεφαλαια και να γινουν δεκτα και τα 2

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
γιατι να μην γίνουν?

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
γιατι τα κεφαλαια και τα μικρα δεν αναγνωριζονται το ιδιο στην C

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
if(ch>='F') ch=ch-('a'-'A')

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
το καταλαβαίνεις αυτό?

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Δεν απαιτει κατι εξειδικευμενο αυτο που ζητας,υλοποιειται με ενα απλο αλλα μεγαλο if.Μπορει να γινει μικροτερο(και ωραιοτερο) με τη χρηση του κωδικα ASCII βεβαια.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
Δεν απαιτει κατι εξειδικευμενο αυτο που ζητας,υλοποιειται με ενα απλο αλλα μεγαλο if.Μπορει να γινει μικροτερο(και ωραιοτερο) με τη χρηση του κωδικα ASCII βεβαια.

ούτε καν μεγάλο if, αυτό που έστειλα μετατρέπει μία βαθμολογία που είναι με μικρά γράμματα σε κεφαλαία.Θα ήταν πιο ωραίο αν βάλεις την σύγκριση ch>='Z' ως ώστε να μετέτρεπε τον οποιοδήποτε μικρό χαρακτήρα σε κεφαλαίο, αλλά για αυτό που της ζητάει η άσκηση κάνει δουλειά.

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 
A= a - 00100000

Σημείωση: Το μήνυμα αυτό γράφτηκε 13 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

 

Χρήστες Βρείτε παρόμοια

Back
Top