problèmes pour passer de c++ à gtk

problèmes pour passer de c++ à gtk - C++ - Programmation

Marsh Posté le 04-01-2005 à 23:58:28    

voilà, quand je fais un programme console en c++, il tourne bien, mais des que je veux l'intégrer dans un programme gtk pour l'inter face, il ne marche plus (le plus souvent, il refuse les #include).Si quelqu'un peut m'expliquer le pourquoi et le comment y remédier, je sui tout oui et merci d'avance.
Voici deux petits programmes qui font ce genre de chose :
 
pour le premier,l'objectif final serait de concaténer les labels des boutons cliqués
et les insérer dans un text box.
 
pour le deuxième, ce serait charger des variables depuis un fichier txt et les utiliser comme labels de boutons.
 
#include <string>
#include <iostream>
using namespace std;
 
//déclarations des variables  
 int i=0;
string s ;    
string t ;
string x;
string y;
string z;      
 
//déclaration de la fonction de concaténation.
// ne pas oublier les & devant les variables
string concat (string &x,string &y)
{
 
//si c'est le premier mot, supprimer l'espace devant
if (x =="" )
{
  x=t;
  return (x); //retour avant concaténation  
  }  
   
   x = x+"  "+ y;  
 
 return (x);    
}
 
//fonction principale
 
int main()
{
     
 
 for (;  ;) // boucle infinie
 
 {
   i++; // incrémentation
   
    cout<<"entrez un mot:  " "\n";
    cin >>t;
  z= concat (s,t); // appel de la fonction avec la valeur des deux variable
  cout << z;
     cout <<"\n";
     }    
 
 
         
   
     
 
  system("PAUSE" );  
  return 0;
}
 
 
 
 
#include <fstream>
#include <iostream>
 
int main()
{
    // le constructeur de ifstream permet d'ouvrir un fichier en lecture
    std::ifstream fichier( "données.txt" );
 
    if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
    {
        std::string ligne; // variable contenant chaque ligne lue
 
        // cette boucle s'arrête dès qu'une erreur de lecture survient
        while ( std::getline( fichier, ligne ) )
        {
            // afficher la ligne à l'écran
             
            std::cout << ligne << std::endl;
        }
    }
 
  system("PAUSE" );  
  return 0;
}

Reply

Marsh Posté le 04-01-2005 à 23:58:28   

Reply

Marsh Posté le 05-01-2005 à 00:00:23    

c'est un blague ?

Reply

Marsh Posté le 05-01-2005 à 00:03:35    

laisse moi deviner, le 2ème programme n'est pas de toi

Reply

Marsh Posté le 05-01-2005 à 00:04:10    

Taz a écrit :

c'est un blague ?


 
 
ben non, pourquoi ?
je débute, c'est normal de faire des erreurs, non ?
explique plutôt le problème

Reply

Marsh Posté le 05-01-2005 à 00:06:48    

Taz a écrit :

laisse moi deviner, le 2ème programme n'est pas de toi


 
non je l'ai récupéré dans un tutoriel

Reply

Marsh Posté le 05-01-2005 à 00:28:57    

et vu ton premier programme qui est catastrophique, tu penses pas que c'est un peu tôt pour faire un interface graphique alors qu'à vu de nez, tu as un aprèm de C++ derrière toi (et tout seul)

Reply

Marsh Posté le 05-01-2005 à 01:06:36    

Taz a écrit :

et vu ton premier programme qui est catastrophique, tu penses pas que c'est un peu tôt pour faire un interface graphique alors qu'à vu de nez, tu as un aprèm de C++ derrière toi (et tout seul)


 
 
Merci pour tous ces compliments, c'est très sympa de ta part!!!
Ceci dit, à part te foutre de moi, tu ne me donnes aucunes explications, et avec des comportements comme le tien je vais effectivement continuer à apprendre tout seul !!!!
En passant, si j'avais quelqu'un pour m'expliquer, je ne serais pas sur ce forum,ça me parais évident. Alors au lieu de continuer de me dire que ceque je fais est nul, donne moi des explications ou laisse tomber la discussion.

Reply

Marsh Posté le 05-01-2005 à 08:33:04    

commence par réécrire ton premier programme correctement (pas de variable globale, régler les problème de const / &, etc), après on verra

Reply

Marsh Posté le 05-01-2005 à 13:15:19    

Taz a écrit :

commence par réécrire ton premier programme correctement (pas de variable globale, régler les problème de const / &, etc), après on verra


 
Est-ce que tu pourrais être plus précis (genre comlmentaires directement dans le programme)
quel est le problème par rapport aux variables et par rapport aux constantes?
merci

Reply

Marsh Posté le 05-01-2005 à 14:51:02    

- pas de variables globales
- x = concat(y, z) -> est-ce que tu t'attends à ce que y et z soient modifiées ?
 
d'ailleurs ta fonction concat, c'est simplement
y + ' ' + z

Reply

Marsh Posté le 05-01-2005 à 14:51:02   

Reply

Marsh Posté le 05-01-2005 à 15:10:31    

Le pb par rapport a tes variables c'est qu'elles sont globales ! Assures-toi qu'elles passent en locale ! pour le reste je ne vois pas trop

Reply

Marsh Posté le 15-02-2005 à 00:50:19    

Quand au 2ème programme, ce n'est pas du gtk, c'est du c++ tout simplement avec la librairie STL. ;)

Reply

Marsh Posté le 15-02-2005 à 09:11:00    

yolanC a écrit :

Quand au 2ème programme, ce n'est pas du gtk, c'est du c++ tout simplement avec la librairie STL. ;)


ça nous fait pas marrer

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed