Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Qdata » 13 Ιούλ 2011, 22:47

Η εκφώνηση μιας άσκησης είναι:
έγραψε:Να γραφεί πρόγραμμα το οποίο να διαβάζει συνέχεια χαρακτήρες από το πληκτρολόγιο. Όταν πατηθεί το Esc, να σταματάει και να εμφανίζει το πλήθος των ελληνικών και το πλήθος των λατινικών χαρακτήρων που πληκτρολογήθηκαν.


Μια λύση είναι η εξής:

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

#include <stdio.h>
main()
{
    char ch;
    int lt=0,gr=0;
    do
    {
        ch=getchar();
        if((ch>='Α' && ch<='Ω') || (ch>='α' && ch<='ω'))
            ++gr;
        if((ch>='A' && ch<='Z') || (ch>='a' && ch<='z'))
            ++lt;
    } while(ch!=27);
    printf("%d ελληνικοι χαρακτήρες\n",gr);
    printf("%d λατινικοί χαρακτήρες\n",lt);
}
 


Ο compiler όμως μου βγάζει:
Κώδικας: Επιλογή όλων
$ gcc test.c -o test
test.c: In function ‘main’:
test.c:29:11: warning: multi-character character constant
test.c:29:23: warning: multi-character character constant
test.c:29:37: warning: multi-character character constant
test.c:29:49: warning: multi-character character constant
test.c:34:2: warning: incompatible implicit declaration of built-in function ‘printf’


Ξέρετε τι γίνετε;
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 13 Ιούλ 2011, 23:22

Qdata έγραψε:#include <stdio.h>
main()
{
char ch;
int lt=0,gr=0;
do
{
ch=getchar();
if((ch>='Α' && ch<='Ω') || (ch>='α' && ch<='ω'))
++gr;
if((ch>='A' && ch<='Z') || (ch>='a' && ch<='z'))
++lt;
} while(ch!=27);
printf("%d ελληνικοι χαρακτήρες\n",gr);
printf("%d λατινικοί χαρακτήρες\n",lt);
}

Πονεμένη ιστορία! Όταν έχεις όρεξη και χρόνο, διάβασε αυτό εδώ το νήμα

ΥΓ. Σε γενικές γραμμές θα πρέπει αντί για char να χρησιμοποιήσεις wchar_t και να κάνεις μετατροπές μεταξύ wchar_t και Unicode μετά την είσοδο και πριν την έξοδο. Πριν πας σε αυτά όμως, δοκίμασε πρώτα με την setloclale, που περιγράφω και με κώδικα σε εκείνο το νήμα.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Qdata » 14 Ιούλ 2011, 00:01

Ευχαριστώ @migf1.Θα το διαβάσω όταν έχω χρόνο(Αύριο). :)
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 14 Ιούλ 2011, 15:14

Παιδιά, τώρα που έχω τελείωσει το βιβλίο "Η Γλώσσα C σε βάθος" και έλυσα τις ασκήσεις στο Θέμα http://forum.ubuntu-gr.org/viewtopic.php?f=53&t=12798 τι μπορώ να κάνω για να προχωρήσω;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 14 Ιούλ 2011, 15:24

σκέψου ένα πρόγραμμα που θα ήθελες να φτιάξεις και άρχισε να το γράφεις :)
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 14 Ιούλ 2011, 15:30

Και αν θέλω να κάνω εφαρμογές με γραφικά, πώς μπορώ να μάθω;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 14 Ιούλ 2011, 16:10

για γραφικό περιβάλλον κοίτα το glade από το κέντρο λογισμικού
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 14 Ιούλ 2011, 16:15

clepto έγραψε:για γραφικό περιβάλλον κοίτα το glade από το κέντρο λογισμικού

Δεν υπάρχει κάνα βιβλίο;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό clepto » 14 Ιούλ 2011, 16:33

1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 14 Ιούλ 2011, 16:44

Ναι αλλά αυτό δεν είναι κάτι σαν "η εύκολη λύση"; Αυτά οι επαγγελματίες τα κάνουν μέσω κώδικα;
Edit: Αυτό το tutorial είναι για Glade σε Python
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι