vaggelis7172 Δημοσ. 7 Μαΐου 2014 Δημοσ. 7 Μαΐου 2014 Καλησπερα παιδια!!Παω να τρεξω ενα απλο προγραμμα σε C και μου χτυπαει το avast.Μου λεει οτι απεκλεισε μια απειλη,κατι τετοιο.Η εντολη που τρεχω στο cmd ειναι gcc -o "ονομα που επιθυμω για το εκτελεσιμο αρχειο" κωδικας.c".Χρησιμοποιω το MinGW.Καμια βοηθεια?
thomasG4 Δημοσ. 7 Μαΐου 2014 Δημοσ. 7 Μαΐου 2014 Καλησπερα παιδια!!Παω να τρεξω ενα απλο προγραμμα σε C και μου χτυπαει το avast.Μου λεει οτι απεκλεισε μια απειλη,κατι τετοιο.Η εντολη που τρεχω στο cmd ειναι gcc -o "ονομα που επιθυμω για το εκτελεσιμο αρχειο" κωδικας.c".Χρησιμοποιω το MinGW.Καμια βοηθεια? Βάλε το πρόγραμμα που έφτιαξες στη white list του avast. Δες το βιντεάκι πως μπορείς να το κάνεις. http://www.avast.com/el-gr/faq.php?article=AVKB107#articleContent
gon1332 Δημοσ. 7 Μαΐου 2014 Δημοσ. 7 Μαΐου 2014 Καλησπερα παιδια!!Παω να τρεξω ενα απλο προγραμμα σε C και μου χτυπαει το avast.Μου λεει οτι απεκλεισε μια απειλη,κατι τετοιο.Η εντολη που τρεχω στο cmd ειναι gcc -o "ονομα που επιθυμω για το εκτελεσιμο αρχειο" κωδικας.c".Χρησιμοποιω το MinGW.Καμια βοηθεια? Σε παρακαλώ βάλ'το εδώ και δείξ'το μας!
vaggelis7172 Δημοσ. 8 Μαΐου 2014 Μέλος Δημοσ. 8 Μαΐου 2014 Βάλε το πρόγραμμα που έφτιαξες στη white list του avast. Δες το βιντεάκι πως μπορείς να το κάνεις. http://www.avast.com/el-gr/faq.php?article=AVKB107#articleContent Ενταξει απο το cmd τα τρεχει,απλα αν παω στο φακελο στον C;\ που εχω το αρχειο κωδικα .c και το εκτελεσιμο αρχειο .exe και παω να τρεξω το .exe μου το εμφανιζει για κλασματα του δευτερολεπτου και κλεινει χωρις να προλαβω να δω τιποτα.Μηπως ξερεις τι φταιει?
gon1332 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Ενταξει απο το cmd τα τρεχει,απλα αν παω στο φακελο στον C;\ που εχω το αρχειο κωδικα .c και το εκτελεσιμο αρχειο .exe και παω να τρεξω το .exe μου το εμφανιζει για κλασματα του δευτερολεπτου και κλεινει χωρις να προλαβω να δω τιποτα.Μηπως ξερεις τι φταιει? Βάλε στο τέλος, πριν το return από την main αυτές τις εντολές: puts("Press any key to exit"); getchar();
vaggelis7172 Δημοσ. 8 Μαΐου 2014 Μέλος Δημοσ. 8 Μαΐου 2014 Βάλε στο τέλος, πριν το return από την main αυτές τις εντολές: puts("Press any key to exit"); getchar() Δυστυχως μου το κανει παλι εδω ειναι ο κωδικας: #include <stdio.h> int main() { char ch; int i; float fn; printf("Give a character:"); scanf("%c", &ch); printf("Give an integer:"); scanf("%d", &i); printf("Give a float:"); scanf("%f", &fn); printf("Character:%c ASCII Code:%d\n", ch, ch); printf("Integer:%d Octal:%o Hexadecimal:%x\n", i, i, i); printf("Integer:%d Integer:%6d\n", i, i); printf("Float:%f Float:%6.2f\n", fn, fn); printf("Expressions:%e 6.2e\n", fn, fn); puts ("Press any key to exit"); getchar(); return 0; } Καμια ιδεα?
gon1332 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Δυστυχως μου το κανει παλι εδω ειναι ο κωδικας: .... Καμια ιδεα? Το πρόβλημα οφείλεται στο γεγονός ότι έχει μείνει κάποιο \n από πιο πάνω και διαβάζεται από την getchar τρώγοντας έτσι την κλήση της. Αν έβαζες άλλη μία getchar ακριβώς από κάτω, τότε το πρόβλημά σου θα δορθωθεί. Τι θα γίνει όμως αν ξέμενεναν περισσότεροι χαρακτήρες από πάνω; Θα έβαζες ένα σωρό από getchar μέχρι να σιγουρευτείς ότι δεν έχεις πρόβλημα; Επίσης έχεις πρόβλημα σε αυτή την γραμμή: printf("Expressions:%e 6.2e\n", fn, fn); // Δε χρειάζεται πουθενά το τελευταίο όρισμα.
migf1 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Φτιάξε μια μικρή, δικιά σου συνάρτηση... void press_enter( void ) { int c = '\0'; printf( "%s", "Press ENTER..." ); fflush( stdout ); while ( EOF != (c=getchar()) && '\n' != c ) { ; /* void */ } } 1
gon1332 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Φτιάξε μια μικρή, δικιά σου συνάρτηση... void press_enter( void ) { int c = '\0'; printf( "%s", "Press ENTER..." ); fflush( stdout ); while ( EOF != (c=getchar()) && '\n' != c ) { ; /* void */ } } Η αλήθεια είναι ότι ήξερα ότι θα πόσταρες. 2
migf1 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Η αλήθεια είναι ότι ήξερα ότι θα πόσταρες. Νομίζω όμως πως δεν αρκεί ούτε αυτό. Μάλλον πρέπει να φτιάξει και μια μικρή flush_stdin(). Ή το καλύτερο από όλα να αντικαταστήσει τις scanf() με fgets(...); sscanf(...); χρησιμοποιώντας ένα μεγάλο string. ΥΓ1. Μπορεί επίσης νομίζω να βάλει ένα κενό στο τέλος του format-string στην scanf() με την οποία διαβάζει τον ch, αλλά υπό συνθήκες πάλι θα έχει νομίζω το ίδιο πρόβλημα. ΥΓ2. Το καλύτερο από όλα για interactive input είναι να φτιάξει δικιά του fgets() που να κάνει flush και την stdin
vaggelis7172 Δημοσ. 8 Μαΐου 2014 Μέλος Δημοσ. 8 Μαΐου 2014 Ενταξει παιδια,το ελυσα,ηθελε την εντολη system("pause"); πριν το return 0;.Σας ευχαριστω ολους παντως!!
migf1 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Ενταξει παιδια,το ελυσα,ηθελε την εντολη system("pause"); πριν το return 0;.Σας ευχαριστω ολους παντως!! Αυτή δουλεύει μονάχα σε Windows.
gon1332 Δημοσ. 8 Μαΐου 2014 Δημοσ. 8 Μαΐου 2014 Ενταξει παιδια,το ελυσα,ηθελε την εντολη system("pause"); πριν το return 0;.Σας ευχαριστω ολους παντως!! Ό,τι είπε ο migf1. Αυτό δε μπορεί να θεωρηθεί λύση σε πρόγραμμα C.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα