• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 23:58:07 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 23:58:07 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[Today at 21:32:50]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[Today at 21:25:42]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[Today at 20:59:13]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 19:46:54]

[Γραφική] Λυμένα θέματα
by okanpala
[Today at 18:56:22]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426698
Total Topics: 31710
Online Today: 242
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 51
Guests: 140
Total: 191
fafafa
st3.kt
Petros Ts
chaniotism
Karkarias
elischat
soktas
stephystam
katranic
mmamougiorgi
acapulco
Gray139
Saint_GR
chriskazakos
Polychronia K
ZontanosThrylos
dimopoul
gcheristanidhs
fopapadopoulos
Mr Watson
Born_Confused
mavropan
alexandros_and
sotos_sta
kostas1507
jimalexoud
Psychoktonos_
mayia psarikoglou
thathas12
odkoutrolikos
fatseas
Cersei Tsoulannister
KZerenidis
Nikos_313
athena_apo
Zaxarenia
ppss
thomasdt
χασλμαλικι
christina02
etsilika
natavhoo
varvoutis
Annapar
Grigorisioan05
vaggelisx
PrincessConsuela
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Η γραμματεία είναι ανοιχτή καθημερινά 12:00-13:30 Tongue
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομ. Προγρ.] Εργασία Η
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] 3 4 ... 6 Go Down Print
Author Topic: [Δομ. Προγρ.] Εργασία Η  (Read 7823 times)
El Niño
Καταστραμμένος
********
Gender: Male
Posts: 5805



View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #15 on: June 09, 2009, 23:43:52 pm »

Quote from: ΡΕΣΑΛΤΟ on June 09, 2009, 12:57:39 pm
μπορεις απλα να μην την κανεις αντι να γκρινιαζεις.
εαν φοβασαι οτι θα σε βαλει να δωσεις με βαση το 6 γραψτου 5 μπουρδες σε ενα κωδικα που δεν τρεχει και ανεβασε το.
στην εξεταση θα σου πει "φιλε το χεις λαθος-διαβασε καλυτερα" απλα....
αυτο κανω συνεχεια!!!χαχαχα!
Logged
timon
Guest
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #16 on: June 10, 2009, 12:26:15 pm »

Η διευθυνση (π.χ. Τσιμισκη 4) που εχει και αριθμο και χαρακτηρα ειναι τυπου char ή void? Ή κατι αλλο??
Logged
Wanderer
Καταστραμμένος
********
Gender: Male
Posts: 5230


Othoum Endron Saous


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #17 on: June 10, 2009, 12:59:17 pm »

Είναι τύπου string.

String addres;

...

address="Tsimiski 4";
Logged

Preserve and keep us safe this night     *and our innocence made fun of justice*

Once we dreamt of everything
united by our love
There's a place for everyone
so we scream "Liberta"
timon
Guest
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #18 on: June 10, 2009, 13:06:48 pm »

Thanx! Και στο ονοματεπωνυμο το κενο που θελω να αφησω αναμεσα στο ονομα και το επιθετο θα το κανω και αυτο σε string ή γινεται με char?  To string θελει καποιο αρχειο για να αναγνωριστει π.χ. stdio.h κτλ?
Logged
ggpyr
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1247



View Profile WWW
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #19 on: June 10, 2009, 13:18:16 pm »

Γίνεται κάτι τέτοιο??

fseek(arxeio,-30,SEEK_CUR); 
ή
fseek(arxeio,-sizeof(int),SEEK_CUR);     (εννοω να βαλω αρνητική τιμή για να με πάει πίσω)
Logged

Wanderer
Καταστραμμένος
********
Gender: Male
Posts: 5230


Othoum Endron Saous


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #20 on: June 10, 2009, 14:36:18 pm »

Quote from: Húrin on June 10, 2009, 13:06:48 pm
Thanx! Και στο ονοματεπωνυμο το κενο που θελω να αφησω αναμεσα στο ονομα και το επιθετο θα το κανω και αυτο σε string ή γινεται με char?  To string θελει καποιο αρχειο για να αναγνωριστει π.χ. stdio.h κτλ?
Φίλε συγγνώμη... μπερδεύθηκα, String τύπος μόνο στην C++ επιτρέπεται.. Sad

Μπορείς όμως, αν θες να ελέγχεις το μήκος του ονόματος/διεύθυνσης κ.λ.π. να κάνεις πίνακες τύπου char και να αποθηκεύεις εκεί τα ονόματα.

Δες αυτόν τον κώδικα μήπως σου φανεί χρήσιμος:
'\b' είναι το πλήκτρο backspace και '\r' το πλήκτρο ENTER. Ελπίζω μην έχω κάνει κάποιο λάθος (μπορείς να βάλεις και κενό χαρακτήρα Wink )

edit: κατα λάθος το έβαλα μέσα σε QUOTES αντί σε CODE και δεν φαινόταν σωστά ο πίνακας..

Code:
#include <stdio.h>
#include <conio.h>

int main() {
    char namae[20];
   
    int count=0;
    int i=0;
    printf("Eisagete onoma, mexri 20 xaraktires!\n");
    printf("\n");
    while(i<20) {
      char temp=getch();
     
      if(temp=='\r') {
        break;
      }
      if(temp!='\b') {
        namae[i]=temp;
        printf("%c",temp);
        i++;
        count++;
      }
      else {
        printf("\n");
        for(int j=0;j<i-1;j++) {
          printf("%c",namae[j]);
        }
        if(i>0) {
          i--;
        }
        if(count>0) {
          count--;
        }
       
      } 
    }
   
    printf("\nKATAXORISI TELOS, pieste ENTER gia sunexeia\n");
    while(1>0) {
      if(getch()=='\r') break;
    }
   
    printf("\n\n\n");
   
    for(int i=0;i<count;i++) {
            printf("%c",namae[i]);
    }
           
   
    getch();
}
« Last Edit: June 10, 2009, 14:58:09 pm by Wanderer » Logged

Preserve and keep us safe this night     *and our innocence made fun of justice*

Once we dreamt of everything
united by our love
There's a place for everyone
so we scream "Liberta"
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #21 on: June 10, 2009, 18:31:37 pm »

Quote from: fel-os on June 10, 2009, 13:18:16 pm
Γίνεται κάτι τέτοιο??

fseek(arxeio,-30,SEEK_CUR); 
ή
fseek(arxeio,-sizeof(int),SEEK_CUR);     (εννοω να βαλω αρνητική τιμή για να με πάει πίσω)

γινεται! αλλιώς τι νόημα θα είχε το SEEK_END  ?  Tongue
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #22 on: June 10, 2009, 18:48:59 pm »

Quote from: Húrin on June 10, 2009, 13:06:48 pm
Thanx! Και στο ονοματεπωνυμο το κενο που θελω να αφησω αναμεσα στο ονομα και το επιθετο θα το κανω και αυτο σε string ή γινεται με char?  To string θελει καποιο αρχειο για να αναγνωριστει π.χ. stdio.h κτλ?

μπορείς να χρησιμοποιήσεις τη συνάρτηση gets() και κάνει όλη τη δουλειά

για εκτύπωση κάνεις το κλασικό %s με printf ή χρησιμοποιείς τη συνάρτηση puts()

Code:
#include <stdio.h>
#include <conio.h>
#define SIZE 20

int main() {
    char name[SIZE+1];
   
    printf("Eisagete onoma, mexri 20 xaraktires!\n");
    gets(name);
   
    name[SIZE]='\0';   
   
    printf("\n%s",name);
             
    getch();
}
Logged
mostel
Θαμώνας
****
Gender: Male
Posts: 436


Think well, sleep well, love well


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #23 on: June 11, 2009, 03:23:39 am »

Quote from: Emfanever on June 10, 2009, 18:48:59 pm
Quote from: Húrin on June 10, 2009, 13:06:48 pm
Thanx! Και στο ονοματεπωνυμο το κενο που θελω να αφησω αναμεσα στο ονομα και το επιθετο θα το κανω και αυτο σε string ή γινεται με char?  To string θελει καποιο αρχειο για να αναγνωριστει π.χ. stdio.h κτλ?

μπορείς να χρησιμοποιήσεις τη συνάρτηση gets() και κάνει όλη τη δουλειά



Καλύτερα fgets. "gets is considered a dangerous function" από το man page της gets (dev)

- Στέλιος
Logged

http://www.youtube.com/watch?v=qQL0RAkDOSk
...

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

Μάνος Χατζιδάκις
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #24 on: June 11, 2009, 03:25:10 am »

Quote from: mostel on June 11, 2009, 03:23:39 am
Quote from: Emfanever on June 10, 2009, 18:48:59 pm
Quote from: Húrin on June 10, 2009, 13:06:48 pm
Thanx! Και στο ονοματεπωνυμο το κενο που θελω να αφησω αναμεσα στο ονομα και το επιθετο θα το κανω και αυτο σε string ή γινεται με char?  To string θελει καποιο αρχειο για να αναγνωριστει π.χ. stdio.h κτλ?

μπορείς να χρησιμοποιήσεις τη συνάρτηση gets() και κάνει όλη τη δουλειά



Καλύτερα fgets. "gets is considered a dangerous function" από το man page της gets (dev)

- Στέλιος

η fgets είναι για αρχεία, δε βολεύει πάντα
Logged
mostel
Θαμώνας
****
Gender: Male
Posts: 436


Think well, sleep well, love well


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #25 on: June 11, 2009, 03:36:30 am »

Quote from: Emfanever on June 11, 2009, 03:25:10 am

η fgets είναι για αρχεία, δε βολεύει πάντα


Όπως... ;


Γενικώς η fgets προστατεύει από memory overflow και είναι καλύτερη από την gets() για σοβαρά πράγματα. Επίσης, αν fgets πάει αναγκαστικά με fputs  , αλλιώς έχεις διπλάσιο χαρακτήρα νέας γραμμής στην έξοδο.


Στην τελική, κάθεσαι και γράφεις μόνος σου την puts πχ:


#include<stdio.h>

void put_sa(char *string)

{

   while( *string )
      putchar(*string++);
   putchar('\n');
}
Logged

http://www.youtube.com/watch?v=qQL0RAkDOSk
...

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

Μάνος Χατζιδάκις
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #26 on: June 11, 2009, 03:47:54 am »

χμμ,πράγματι,  δε χρησιμοποιείται μόνο για αρχεία.

εντάξει..σιγά το overflow τώρα.. βάλε size >100 και είσαι ΟΚ , ποιος θα εισάγει τέτοιο string

εκτός αν φοβάσαι κάτι τέτοιο...

This is a _dangerous_ function, as it has no way of checking the
amount of space available in BUF. One of the attacks used by the Inter-
net Worm of 1988 used this to overrun a buffer allocated on the stack
of the finger daemon and overwrite the return address, causing the dae-
mon to execute code downloaded into it over the connection.

 Tongue
Logged
mostel
Θαμώνας
****
Gender: Male
Posts: 436


Think well, sleep well, love well


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #27 on: June 11, 2009, 03:54:35 am »

Quote from: Emfanever on June 11, 2009, 03:47:54 am
χμμ,πράγματι,  δε χρησιμοποιείται μόνο για αρχεία.

εντάξει..σιγά το overflow τώρα.. βάλε size >100 και είσαι ΟΚ , ποιος θα εισάγει τέτοιο string

εκτός αν φοβάσαι κάτι τέτοιο...

This is a _dangerous_ function, as it has no way of checking the
amount of space available in BUF. One of the attacks used by the Inter-
net Worm of 1988 used this to overrun a buffer allocated on the stack
of the finger daemon and overwrite the return address, causing the dae-
mon to execute code downloaded into it over the connection.

 Tongue


Όχι οκ. Απλώς ο gcc σπάει αρχίδια (  Cheesy ) , γιατί κάθε φορά που χρησιμοποιείς την gets() σου πετάει warning message για dangerous function...


- Στέλιος
Logged

http://www.youtube.com/watch?v=qQL0RAkDOSk
...

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

Μάνος Χατζιδάκις
Wanderer
Καταστραμμένος
********
Gender: Male
Posts: 5230


Othoum Endron Saous


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #28 on: June 11, 2009, 16:10:59 pm »

Μια απλούστευση του κώδικα που πόσταρα παραπάνω (και πρόβλεψη να εισάγεται ο χαρακτήρας '\0' στο τέλος του ονόματος, ώστε να μή χρειάζεται να κρατάμε με μεταβλητή το μέγεθος της λέξης)

Code:
#include <stdio.h>
#include <conio.h>

int main() {
  char onoma[21];
  while(1>0) {
  printf("Insert name (MAX 20 characters)\n\n");
  int i=0;
  while(i<20) {
    char leks=getch();
    if(leks=='\r') {
      break;
    }
    else if(leks=='\b') {
      printf("\n");
      for(int j=0;j<i-1;j++) {
        printf("%c",onoma[j]);
      }
      if(i>0) i--;
    }
    else {
      onoma[i]=leks;
      printf("%c",onoma[i]);
      i++;
    }
  }
  onoma[i]='\0';
  printf("\n");
  printf("End of story. Press ENTER to continue");
  while(getch()!='\r') {
    }
  printf("\n");
  i=0;
  while(onoma[i]!='\0') {
    printf("%c",onoma[i]);
    i++;
  }
  getch();
  printf("\n\n\n");
  }
}
Logged

Preserve and keep us safe this night     *and our innocence made fun of justice*

Once we dreamt of everything
united by our love
There's a place for everyone
so we scream "Liberta"
mostel
Θαμώνας
****
Gender: Male
Posts: 436


Think well, sleep well, love well


View Profile
Re: [Δομ. Προγρ.] Εργασία Η
« Reply #29 on: June 11, 2009, 17:02:19 pm »

Quote from: Wanderer on June 11, 2009, 16:10:59 pm
Μια απλούστευση του κώδικα που πόσταρα παραπάνω (και πρόβλεψη να εισάγεται ο χαρακτήρας '\0' στο τέλος του ονόματος, ώστε να μή χρειάζεται να κρατάμε με μεταβλητή το μέγεθος της λέξης)

Code:
#include <stdio.h>
#include <conio.h>

int main() {
  char onoma[21];
  while(1>0) {
  printf("Insert name (MAX 20 characters)\n\n");
  int i=0;
  while(i<20) {
    char leks=getch();
    if(leks=='\r') {
      break;
    }
    else if(leks=='\b') {
      printf("\n");
      for(int j=0;j<i-1;j++) {
        printf("%c",onoma[j]);
      }
      if(i>0) i--;
    }
    else {
      onoma[i]=leks;
      printf("%c",onoma[i]);
      i++;
    }
  }
  onoma[i]='\0';
  printf("\n");
  printf("End of story. Press ENTER to continue");
  while(getch()!='\r') {
    }
  printf("\n");
  i=0;
  while(onoma[i]!='\0') {
    printf("%c",onoma[i]);
    i++;
  }
  getch();
  printf("\n\n\n");
  }
}


Σόρυ, αλλά τι ακριβώς κάνει αυτός όλος ο κώδικας ;
Logged

http://www.youtube.com/watch?v=qQL0RAkDOSk
...

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

Μάνος Χατζιδάκις
Pages: 1 [2] 3 4 ... 6 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...