2011-11-09 1 views
0

Je suis nouveau en C++. Quelle est la meilleure façon de faire cela? J'essaie de sortir les jours de la semaine et de mettre des fonctions entre les jours. Je veux sortir le lundi séparé de sortir les autres jours de la semaine.Meilleur moyen de sortir des jours de la semaine entre les autres fonctions

#include <iostream> 
#include <string> 
#include <ctime> 

using namespace std; 



void day(char* name[]); 



    int main() 
    { 


    char* dayNames[] = 
     { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", 
     "Sunday"}; 

    day(dayNames); 
    day(dayNames + 1); 
    day(dayNames + 2); 
    day(dayNames + 3); 
    day(dayNames + 4); 
    day(dayNames + 5); 
    day(dayNames + 6); 
    system ("pause"); 
    return 0; 
} 
void day(char* name[]) 
{ 

    int n = 0; 
    if (n >=0 && n <= 6) 
     { 
      cout << "Today is " << name[n] << "." << endl; 
      cout << endl; 
     } 
} 

Répondre

0

Je ne suis pas tout à fait sûr de ce que vous voulez accomplir, mais au lieu d'appeler la fonction day avec un tableau de noms de jour, pourquoi ne pas avoir la fonction day contiennent le tableau et passer juste le jour numéro dans la fonction? De cette façon, l'utilisation de n dans la fonction aura un sens.

void day(int); 

int main() 
{ 

    day(-1); 
    day(0); 
    day(3); 
    day(7); 
} 

void day(int n) 
{ 
    const char *day_names[] = { 
     "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" 
    }; 

    if (n >= 0 && n < 7) 
     cout << "Today is " << day_names[n] << "." << endl << endl; 
} 
+0

Et de faire de ce tableau un tableau statique global. Pourquoi pas? –

+0

'sizeof (day_names)'! = 7. Il vaut 'sizeof (char *) * 7', ce qui pour moi est de 56, et pour d'autres peut aussi être de 28. – AusCBloke

+0

@AusCBloke Ma mauvaise réponse a changé. –

0

Il est un peu difficile à comprendre ce que vous essayez de faire, mais de multiples appels à day() je devine que vous essayez d'appeler une fonction qui, lorsqu'il est passé un nombre représentant l'indice du jour de la semaine, imprime le jour associé à cet index.

Est-ce ce que vous essayez de faire?

// monday = day 1, sunday = day 7 
void printDay(unsigned day) 
{ 
    static char *dayNames[] = { "Monday", "Tuesday", "Wednesday", "Thursday", 
           "Friday", "Saturday", "Sunday"}; 

    if (day >=1 && day <= 7) 
     cout << "Today is " << dayNames[n - 1] << "." << endl; 
} 

printDay(1) affichera "Aujourd'hui, c'est lundi".

printDay(7) affichera "Aujourd'hui c'est dimanche".

Questions connexes