Προβλημα με οθονη στην c

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
stako
Δημοσιεύσεις: 6
Εγγραφή: 10 Μάιος 2008 13:02

Προβλημα με οθονη στην c

Δημοσίευση από stako » 21 Μαρ 2010 22:56

εκανα ενα προγραμμα στην c και σε καθε εμφανιση μηνύματος μου εμφανιζει και το προηγουμενο μυνημα ξανα..για την εμφανιση μυνηματων χρησιμοποιω την εντολή printf..υπαρχει καμια εντολη που να καθαριζει το buffer;
Life is PRICELESS

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Προβλημα με οθονη στην c

Δημοσίευση από dva_dev » 21 Μαρ 2010 23:20

Αν δεν μας δώσεις κάποια πιο διεκυρινιστικά στοιχεία το μόνο που μπορώ να υποθέσω είναι ότι η οθόνη σου δεν είναι συμβατή με την έκδοση της c που έχεις.

stako
Δημοσιεύσεις: 6
Εγγραφή: 10 Μάιος 2008 13:02

Προβλημα με οθονη στην c

Δημοσίευση από stako » 21 Μαρ 2010 23:29

ο κωδικας ειναι αυτος:

Κώδικας: Επιλογή όλων

int main(int argc, char *argv[]){
  
    char re;
    double da;
    int i = 1;
    /* bronxos epanalipsis while... termatizi mono m tn timi 0*/
    while (i !=0){ 
          re = reader();       /*diavazei mesw sinartisis p exw parakatw k apo8ikevei s mia metavliti re*/
          da = datacal(re);    /* diavazei mesw sinartisis k dini mia e3odo*/
          screen(re, da);      /* sinartisi mias ektypwsis*/
          printf("An thelete na termatisete to programma eisagete ton arithmo 0\n");
          printf("diaforetika dwste opoiondipote allon akeraio arithmo\n");
          scanf("%d", &i);    /*diavazei tn timi pou dinei o xristis.... kai analo ga termatizei i sinexizei*/
    }
    return 0;
}

char reader() {
  
     char t; /* metavliti apo8ikeysis*/
     
     printf("Parakalw eisagete tn typo toy stereou\n");
     printf("Gia sfaira               s\n");
     printf("Gia parallilepipedo      p\n");
     printf("Gia pyramida             y\n");
     printf("Gia kylindro             c\n");
     scanf("%c",&t);
     return t;
}
οταν τελειωνει η πρωτη εκτελεση και ξεκιναει η δευτερη εμφανιζεται στην οθονη καπως ετσι:

Κώδικας: Επιλογή όλων

Parakalw eisagete tn typo toy stereou
Gia sfaira               s
Gia parallilepipedo      p
Gia pyramida             y
Gia kylindro             c
An thelete na termatisete to programma eisagete ton arithmo 0
diaforetika dwste opoiondipote allon arithmo
και ο αριθμος που βαζεις εισαγεται στην μεταβλητη t της συναρτησης readre.δηλαδη λειτουργει κανονικα απλα εμφανιζεται ενα περριτο μυνημα
Life is PRICELESS

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Προβλημα με οθονη στην c

Δημοσίευση από virxen75 » 21 Μαρ 2010 23:52

Κώδικας: Επιλογή όλων

int main(int argc, char *argv[]){
 
    char re;
    double da;
    int i = 1;
    /* bronxos epanalipsis while... termatizi mono m tn timi 0*/
    while (i !=0){
          re = reader();       /*diavazei to eidos k t apo8ikevei s mia metavliti re*/
          da = datacal(re);    /* diavazei ta dedomena analoga me to eidos, ypologizei tn ogko kai ton apo8ikevei s mia metavliti da*/
          screen(re, da);      /* ektypwnei ton ogko kai to katalilo minima analoga m to eidos*/
          printf("An thelete na termatisete to programma eisagete ton arithmo 0\n");    /* rwtaei an o xristis 8elei na sinexisei to programma*/
          printf("diaforetika dwste opoiondipote allon akeraio arithmo\n");
          scanf("%d", &i);    /*diavazei tn timi pou dinei o xristis.... ama 8elei na termatisei dinei to 0 kai den mpainei ston vronxo*/
          getchar();//Α Λ Λ Α Γ Η !!!!
    }
    return 0;
}

char reader() {
 
     char t; /* metavliti pou apo8ikevete to eidos*/
     
     printf("Parakalw eisagete tn typo toy stereou\n");
     printf("Gia sfaira               s\n");
     printf("Gia parallilepipedo      p\n");
     printf("Gia pyramida             y\n");
     printf("Gia kylindro             c\n");
     scanf("%c",&t);
     getchar();//Α Λ Λ Α Γ Η !!!!
     return t;
}
μετά από scanf καλό είναι να έχεις και μία getchar(); για τα "περισεύματα"

stako
Δημοσιεύσεις: 6
Εγγραφή: 10 Μάιος 2008 13:02

Προβλημα με οθονη στην c

Δημοσίευση από stako » 21 Μαρ 2010 23:58

φιλε εισαι παιχταρας...δουλεψε...πως ακριβως λειτουργει αυτο..μηπως μπορεις να το εξηγησεις για να καταλαβω;
Life is PRICELESS

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Προβλημα με οθονη στην c

Δημοσίευση από virxen75 » 22 Μαρ 2010 00:16

π.χ.

scanf("%c",&t);

ζητάς έναν χαρακτήρα έτσι?
εσύ όμως μαζί με τον χαρακτήρα δίνεις και εντερ σωστά?
ε μάντεξε λοιπόν ....αυτό το έντερ δεν χάνεται!
πρέπει να το "μαζέψεις"

stako
Δημοσιεύσεις: 6
Εγγραφή: 10 Μάιος 2008 13:02

Προβλημα με οθονη στην c

Δημοσίευση από stako » 22 Μαρ 2010 00:20

φιλε ευχαριστω πολυ για ολα.....τλκ η c δεν αφινει τπτ να παει χαμενο.......
Life is PRICELESS

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες