lamoyo13 Δημοσ. 16 Απριλίου 2008 Δημοσ. 16 Απριλίου 2008 Καλησπέρα!!!Έχω πρόβλημα με μία άσκηση με C++.Ένω σχετικα φαίνεται εύκολη δεν ξέρω γτ αλλα δεν μου τρέχει το πρόγραμμα.Θέμα:Να γράψεται ένα πρόγραμμα που θα διαβάζει ενα όνομα.Στην συνέχεια αν το όνομα αυτο είναι patty να εμφανίζει το μύνημα hello patty αλλίως θα εμφανίζει το μύνημα who are you? Η απάντηση μου: #include <stdio.h> void main() { char name[6]; printf("dwse ena onoma:\n"); scanf("%c",&name); if (name=="patty") printf("hello patty\n"); else printf("who are you\n"); } ΤΙ ΈΧΩ ΛΑΘΟΣ ΡΕ ΠΑΙΔΙΑ:S?Help κάποιος
RubiksCube Δημοσ. 16 Απριλίου 2008 Δημοσ. 16 Απριλίου 2008 Δεν βλέπω κάποιο λάθος. Ίσως αν μας πεις τι ακριβώς σου εμφανίζει και δεν τρέχει, να μπορέσουμε να σε βοηθλησουμε. Δεν κάνει compile??
Aesmade Δημοσ. 16 Απριλίου 2008 Δημοσ. 16 Απριλίου 2008 Όπως είπε ο bilco, να συγκρίνεις δύο char*/char[] με αυτόν τον τρόπο είναι λάθος. Επίσης, το %c συμβολίζει ένα μόνο χαρακτήρα, ενώ εσύ θες να συγκρίνεις δύο string. Παρακάτω ο διορθωμένος κώδικας: >#include <stdio.h> void main() { char name[6]; printf("dwse ena onoma:\n"); scanf("%s",&name); if (!strcmp(name,"patty")) printf("hello patty\n"); else printf("who are you\n"); } Καλό θα ήταν και να αυξήσεις το μέγεθος του name ή να κάνεις κάποιον έλεγχο όσον αφορά το μήκος του ονόματος που θα δώσει ο χρήστης (π.χ. scanf("%5s",&name); ή fgets(name,6,stdin); αντί για scanf("%s",&name).
Siroko Δημοσ. 16 Απριλίου 2008 Δημοσ. 16 Απριλίου 2008 δεν μπορεις να συγκρινεις συμβολοσειρες με "==" χρειαζεσε την συναρτηση που βρισκετε στην βιβλιοθηκη <string.h> οπως εγραψε και το παιδι πανω.
Directx Δημοσ. 16 Απριλίου 2008 Δημοσ. 16 Απριλίου 2008 Αφού μιλας για C++ τότε δοκίμασε τα παρακατώ: > //--------------------------------------------------------------------------- #include <iostream> #include <string> #ifdef __BORLANDC__ #pragma hdrstop #endif //--------------------------------------------------------------------------- #ifdef __BORLANDC__ #pragma argsused #endif int main(int argc, char* argv[]) { std::string strName; std::cout<<"Please enter a name:"; std::cin>>strName; if(strName=="patty") std::cout<<"Hello "<<strName<<std::endl; else std::cout<<"Who are you?"<<std::endl; return 0; } //---------------------------------------------------------------------------
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.