Rechercher : dans
Par :

C++

Dernière réponse le 3 jui 2009 à 13:43:50 azqswx, le 3 jui 2009 à 10:22:02 
 Signaler ce message aux modérateurs

Bonjour,

#include <iostream>
using namespace std;

typedef int plus(int);

int plus1(int x) {
return x+1;
}

int plus2(int x){
return x+2;
}

int main(int argc, char *argv[]) {
plus fonction = argv[1];

cout << fonction(2) << endl;

return 0;
}

Je comprends pas pourquoi sa marche pas et vous?

Configuration: Linux
Mozilla 1.8.1.19

Meilleures réponses pour « c++ » dans :
Langage C++ - Les types de données Voir Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Les chaînes de caractères en C++ Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Les structures en langage C Voir Différence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...

1

Friday_XIII, le 3 jui 2009 à 10:26:01

Salut, peux tu être plus précis/précise :
as tu des erreurs de compilation ?
as tu activé la demande de paramètres ?
Où ta fonction fonction() ?

Répondre à Friday_XIII

2

azqswx, le 3 jui 2009 à 10:32:08

L'erreur est à la compilation.

En fait ce que je voudrais faire c que l'utlisiateur tape ./main plus1 et la le programme affiche 3
et que si l'utilisateur tape ./main plus2 le programme affiche 4

Répondre à azqswx

3

 mamiemando, le 3 jui 2009 à 13:43:50

Alors pour ça le code source n'est pas du tout correct. Il faut que tu lises les arguments passés par l'utilisateur (dans argv) et que tu appelles la bonne fonction en conséquence. Je ne peux pas tester dans l'immédiat mais ce serait un truc du genre :

#include <string.h>
#include <stdio.h>

int plus1(int x){
  return x+1;
}

int plus2(int x){
  return x+2;
}

int main(int argc,char **argv){
  int n;

  if(argc != 3){
    fprintf(stderr,"usage: %s [plus1|plus2] integer_value\n",argv[0]);
    return 1;
  }

  n = atoi(argv[2]);

  if     (strcmp(argv[1],"plus1") == 0) printf("%d",plus1(n));
  else if(strcmp(argv[2],"plus2") == 0) printf("%d",plus2(n));
  else{
    fprintf(stderr,"The 1st argument must be equal to plus1 or plus2\n",argv[0]);
    return 2;
  }
  return 0;
}

Bonne chance

Répondre à mamiemando
Collection CommentÇaMarche.net