2009-11-25 3 views
0

Quelqu'un peut-il me dire ce que je fais de mal J'ai fait de mon mieux avec ce programme, s'il vous plaît quelqu'un avec un peu plus de temps pour prendre le temps de regarder le programme et l'aide! Merci à tous pour votre temps :)Question de programmation C++

#include <iostream> 
#include <string> 
#include <cctype> 

using std::cout; 
using std::cin; 
using std::endl; 

//function prototypes 
void getItemNumber(); 
void checkItemNumber (char *, int); 

int main() 
{ 
    //declare variables 
    string Item = ""; 
    getItemNumber(); 
    checkItemNumber(item); 


    //call function to get input 

    //void getItemNumber(); 
    //void checkItemNumber (item); 
    cout << "Enter your 5-digit item #: "; 
    cin >> item; 

    while (item.length() != 5) 
    { 
     cout << "Invalid item #. Please enter a 5-digit item # "; 
     getline(cin, item); 
    } 

    if (item.length() == 5) 
    { 
     if ('B' == toupper(item[2])) 
      cout << "Your color is blue" << endl; 
     else if ('G' == toupper(item[2])) 
      cout << "Your color is green" << endl; 
     else if ('R' == toupper(item[2])) 
      cout << "Your color is red" << endl; 
     else if ('W' == toupper(item[2])) 
      cout << "Your color is white" << endl; 
    } 
    else 
     cout<< "Invalid name no matching color..."; 
     // if code is not from any of the above. 

    system("pause"); 

    return 0; 
} 
+0

Pourquoi est-ce que mon code sort brouillé quand je l'ai tapé correctement? – Rosemary

+0

utiliser le mode verbeux, ici, je vais vous donner un coup de main ... –

+0

Parce que le code doit être indenté par quatre espaces. –

Répondre

0

vous avez besoin de #include <ctype> pour tolower. Les fonctions getItemNumber et checkItemNumber ne sont définies par aucun standard C, vous devriez demander à celui dont vous avez obtenu le code où getItemNumber et checkItemNumber sont définis.

+0

Cela ressemble à une affectation de devoirs "Modifiez le code suivant afin qu'il utilise des fonctions séparées getItemNumber et checkItemNumber". La définition des fonctions fait vraisemblablement partie de la mission. –

+0

L'OP a inclus cctype, qui fournit des wrappers C++ pour les fonctions ctype.h C. Voir ceci: http://www.cplusplus.com/reference/clibrary/cctype/ – s1n

+0

il ne l'a pas inclus, a été édité dans la question plus tard .. – codymanix

1

Je ne suis pas sûr d'avoir compris le point de la question, mais il y a un bug certain (à mon avis) dans le code tel qu'il apparaît ci-dessus.

Demandez-vous dans quelles conditions le message d'erreur sera imprimé? En d'autres termes, à quoi appartient le "else"?