1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
// Function.cpp*: définit le point d'entrée pour l'application console.
//
#include "stdafx.h" // Savez-vous à quoi sert cette ligne?
/*
Quand vous écrivez les 3 lignes qui suivent, cela veut dire
1- je déclare une fonction qui s'appelle DemoFonction qui ne prend pas de paramètre et ne renvoie rien (void peut être "traduit par "rien")
2- l'accolade ouverte puis l'accolade fermée signifie "début et fin de bloc"
3- je veux imprimer le texte "Appel de fonction" avec un retour à la ligne
4- comme la fonction ne renvoie rien, le retun est sous-entendu.
Or à aucun moment vous n'indiquez à la machine qu'il faut imprimer : FAUTE
La ligne concernée ne fait rien, mais l'ordinateur s'en fout, y'a pas de faute.
*/
void DemoFonction()
{
"Appel de fonction\n";
}
void main() // ce n'est pas la syntaxe standard
{
// même observation que plus haut
"Fonction principale\n";
// DemoFonction est un nom de fonction, mais la machine le prend pour un nom de variable non déclarée. Ce qui caractérise un appel de fonction est
un nom de fonction suivi d'une parenthèse ouverte, éventuellement avec des paramètres séparés par des virgules, s'il y a lieu.
DemoFonction;
// déjà vu
"Retour dans le prog.\n";
//Là, vous déclarez un tableau de type char ne pouvant contenir qu'une seule valeur
il suffisait d'écrire char myLine;
Mais en fait c'est faux, parce que vous allez lire une ligne (getLine), donc un ensemble de caractères, de toute façon au moins 2, le caractère tapé et la touche Enter.
char myLine[1];
// je ne connais pas le prototype de getline, mais je suppose que c'est quelque-chose comme
int getline(char* chaine, int max);
// là c'est plus compliqué, à vous d'expliquer ce qui se passe :P
std::cin.getline(myLine,1);
} |
Partager