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

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 18, 2025, 00:10:30 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Μεταφορά και Διανομή ΗΕ]...
by Nikos_313
[Today at 00:10:29]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:06:21]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426700
Total Topics: 31710
Online Today: 205
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 47
Guests: 151
Total: 198
Nikos_313
chaniotism
Aftzidou
mitsos753905
gcheristanidhs
mpaltzak
ANDVRONTZOS
IBOURAS
alexlabis
Διάλεξις
spetrakis
st3.kt
lasef
natavhoo
BB
sigklitiki
Karkarias
odkoutrolikos
elischat
giannisdomu
acolak
Elenit
Nikikouss
kpapama
fafafa
Petros Ts
soktas
stephystam
mmamougiorgi
acapulco
Gray139
Saint_GR
chriskazakos
Polychronia K
ZontanosThrylos
dimopoul
fopapadopoulos
Mr Watson
Born_Confused
mavropan
Εμφάνιση

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

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
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 7827 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...