Βοηθειά περί C

...IDE, compilers, κλπ

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

Re: Βοηθειά περί C

Δημοσίευσηαπό pc_magas » 01 Οκτ 2009, 14:48

αλλά καλύτερα να διαβάσεις πάλι το βιβλίο σου

δεν πήραμε βιβλία αλλά κράτησα κατι σημειώσεις
Τελικά έλυσα το ένα λάθος και ο κώδικας είναι:
Κώδικας: Επιλογή όλων
#include <stdio.h>
void main()
{
const int a=2;
int x=3;
float z=9.1;
double a_a=2.91992;
char xar='Οι μεταβλητές είναι:';
printf("%c\n'Ακαιρεες':\n%d\n%d\n'Πραγματικοι:'\n%f\n%lf\n ",xar,a,x,z,a_a);
return 0;
}

αλλά πήρα ξανά error:
Κώδικας: Επιλογή όλων
/home/dimitris/Documents/code/new.c:7:10: warning: character constant too long for its type
/home/dimitris/Documents/code/new.c: In function ‘main’:
/home/dimitris/Documents/code/new.c:7: warning: overflow in implicit constant conversion

To GTS μου :evil: :evil: :evil: :evil: :evil: :twisted: :twisted: :twisted: :twisted: :twisted:
Τις παταίει πάλι :?: :?: :?: :?: :?: :?: :?:
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό cyberpython » 01 Οκτ 2009, 15:34

Κώδικας: Επιλογή όλων
/home/dimitris/Documents/code/new.c:7:10: warning: character constant too long for its type


Σου λέει οτι η σταθερή τιμή που περνάς στη μεταβλητή που έχεις δηλώσει ως char είναι υπερβολικά μεγάλη (char = 1 χαρακτήρας του 1 byte):
Κώδικας: Επιλογή όλων
char xar='Οι μεταβλητές είναι:';

Δοκίμασε με char* ή array.
Επίσης, για συμβολοσειρές χρησιμοποείται το σύμβολο ", το ' χρησιμοποιείται για μεμονωμένους χαρακτήρες.

Τέλος, επιστρέφεις τιμή από μέθοδο που έχεις δηλώσει ως void ( void main() ).
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό pc_magas » 01 Οκτ 2009, 16:44

Πως επιστρέφω τιμή αφου στο Τει μας ήπαν πως η τελευταία εντολή δεν επιστρέφει τιμή έτσι μάλλον μισά μας τα 'παν!
Τελικά με ελάχιστες δοκιμές επιτυχία παίδες ο τελικός κώδικας είναι:
Κώδικας: Επιλογή όλων
[color=#4000FF]/*Kώδικας εκτύπωσης διαφόρων τιμών
By pc_magas*/[/color]
#include <stdio.h>
int main()[color=#4000FF]//Αρχίζουμε με την κύρια συναρτηση[/color]
{
const int a=2;[color=#4000FF]//Θέτουμε μια ακαίρεα σταθερά a ιση με 2[/color]
int x=3;/[color=#4000FF]/Μια ακαίρεα μεταβλητη[/color]
float z=9.1;/[color=#4000FF]/Μια πραγματική[/color]
double a_a=2.91992;[color=#4000FF]//Μια απο τα ιδια μονο με περισσοτερα δεκαδικα[/color]
char* xar="Οι μεταβλητές είναι:";[color=#4000FF]//Και μια συμβολοσειρα[/color]
printf("%s\n'Ακαιρεες':\n%d\n%d\n'Πραγματικοι:'\n%f\n%lf\n ",xar,a,x,z,a_a);
[color=#4000FF]//τελικα εκτυπώνουμε τις τιμές[/color]
return;[color=#4000FF]//Με την return επιστρέφουμε τίποτα[/color]
}

Και ένα screenshot επιτυχούς εκτέλεσης:
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό Nisok » 01 Οκτ 2009, 17:28

@cyberpython
Βλέπεις τι έκανες???
Τον πήγες 2 κεφάλαια μπροστά και ούτε που κατάλαβε τι έκανε.

@pc_magas


Λύσε το χωρίς char*.
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό simosx » 01 Οκτ 2009, 17:35

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

Αν υπάρχει κάποιο προβλημα που έχει να κάνει με εγκατάσταση βιβλιοθήκης ή κάτι άλλο σχετικό με Linux είμαστε εδώ να βοηθήσουμε.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό ntinos_ » 01 Οκτ 2009, 17:41

pc_magas έγραψε:
αλλά καλύτερα να διαβάσεις πάλι το βιβλίο σου

δεν πήραμε βιβλία αλλά κράτησα κατι σημειώσεις
Τελικά έλυσα το ένα λάθος και ο κώδικας είναι:
Κώδικας: Επιλογή όλων
#include <stdio.h>
void main()
{
const int a=2;
int x=3;
float z=9.1;
double a_a=2.91992;
char xar='Οι μεταβλητές είναι:';
printf("%c\n'Ακαιρεες':\n%d\n%d\n'Πραγματικοι:'\n%f\n%lf\n ",xar,a,x,z,a_a);
return 0;
}

αλλά πήρα ξανά error:
Κώδικας: Επιλογή όλων
/home/dimitris/Documents/code/new.c:7:10: warning: character constant too long for its type
/home/dimitris/Documents/code/new.c: In function ‘main’:
/home/dimitris/Documents/code/new.c:7: warning: overflow in implicit constant conversion

To GTS μου :evil: :evil: :evil: :evil: :evil: :twisted: :twisted: :twisted: :twisted: :twisted:
Τις παταίει πάλι :?: :?: :?: :?: :?: :?: :?:


Κώδικας: Επιλογή όλων
printf("%c\n'Ακαιρεες':\n%d\n%d\n'Πραγματικοι:'\n%f\n%lf\n ",xar,a,x,z,a_a);


το %c για ποιο λόγο το θέλεις?

το %c είναι για να τύπωση ένα χαρακτήρα. δεν θα σου πω το γιατί και τι θα βάλεις, λογικά σας τα έμαθαν αυτό.
το void στη main() μη το βάζεις, δεν χρειάζεται ακόμα.
Desktop :CPU intel 4400 core 2 duo 2.0Ghz M/b ASUS P5VD2-X GPU MSI GeForce GT 630 4GB RAM 2x1GB single channel 667Mhz DDR2 HDD (SATA)WD 160 GB windows ,(IDE) WD 40GB ubuntu 12.04(IDE), SG 200GB data, (SATA)SG 160GB data
Άβαταρ μέλους
ntinos_
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 561
Εγγραφή: 11 Σεπ 2008, 00:53
Τοποθεσία: Τρίκαλα
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό pc_magas » 01 Οκτ 2009, 17:57

Βλέπεις τι έκανες???
Τον πήγες 2 κεφάλαια μπροστά και ούτε που κατάλαβε τι έκανε.

Παίδες δεν το κσερα ακόμα έμαθα πως με την εντολή char* δηλώνεις μεταβητέσ συμβολοσειρών ολόκληρες συμβολοσειρές ενώ με την char έναν χαρακτήρα ακόμα κυρίως βοηθήθηκα από το http://el.wikiversity.org/wiki/C#.CE.A0.CE.B5.CF.81.CE.B9.CE.B5.CF.87.CF.8C.CE.BC.CE.B5.CE.BD.CE.B1 κυρίως από αυτό.
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό ntinos_ » 01 Οκτ 2009, 18:02

μπορείς να κάνεις αυτό:

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

char xar = 'onoma';

printf ("%s",xar);

Desktop :CPU intel 4400 core 2 duo 2.0Ghz M/b ASUS P5VD2-X GPU MSI GeForce GT 630 4GB RAM 2x1GB single channel 667Mhz DDR2 HDD (SATA)WD 160 GB windows ,(IDE) WD 40GB ubuntu 12.04(IDE), SG 200GB data, (SATA)SG 160GB data
Άβαταρ μέλους
ntinos_
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 561
Εγγραφή: 11 Σεπ 2008, 00:53
Τοποθεσία: Τρίκαλα
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό pc_magas » 01 Οκτ 2009, 18:24

ntinos_ έγραψε:μπορείς να κάνεις αυτό:

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

char xar = 'onoma';

printf ("%s",xar);


Το δoκίμασα και πήρα τα εξής errors:
Κώδικας: Επιλογή όλων
/home/dimitris/Documents/code/challenge.c:5:12: warning: character constant too long for its type
/home/dimitris/Documents/code/challenge.c: In function ‘main’:
/home/dimitris/Documents/code/challenge.c:5: warning: overflow in implicit constant conversion
/home/dimitris/Documents/code/challenge.c:6: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Βοηθειά περί C

Δημοσίευσηαπό ntinos_ » 01 Οκτ 2009, 18:29

δοκίμασε αντί για xar να βάλεις έναν χαρακτήρα και πώς ακριβός το έφτιαξες ?

Κώδικας: Επιλογή όλων
#include <stdio.h>

main()
{

char x='onoma';

printf ("%s",x);

return 0;
}


σου έστειλα μήνυμα.
Desktop :CPU intel 4400 core 2 duo 2.0Ghz M/b ASUS P5VD2-X GPU MSI GeForce GT 630 4GB RAM 2x1GB single channel 667Mhz DDR2 HDD (SATA)WD 160 GB windows ,(IDE) WD 40GB ubuntu 12.04(IDE), SG 200GB data, (SATA)SG 160GB data
Άβαταρ μέλους
ntinos_
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 561
Εγγραφή: 11 Σεπ 2008, 00:53
Τοποθεσία: Τρίκαλα
Εκτύπωση

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

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού