begin process at 2012 05 29 14:39:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Problème de définition de fonction dans une classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de définition de fonction dans une classe

vendredi 21 mai 2010 à 08:05:54 | Problème de définition de fonction dans une classe

labuche75

Bonjour à tous,
je rencontre un problème à priori de définition de fonction dans la classe tableau permettant de manipuler de grands entiers nécessaires au cryptosystème RSA.
Dev indique les erreurs suivantes:

In member function `int tableau::to_chiffre()':
(ligne 93):[Warning] converting to `long int' from `double'
[Linker error] undefined reference to `WinMain@16' ld returned 1 exit status
(ligne 93): ld returned 1 exit status


Merci beaucoup pour vos suggestions.

Voici le code:

#include <math.h>
#include <iostream>
using namespace std ;

class tableau
{
protected :
int taille ;
short tab[100] ;

public :

tableau ( int n )
{
if ( n == 0 )
{
taille = 1 ;
tab[ 0 ] = 0 ;
}
else
{
int i = 0 ;
while ( n / ( pow(10 , i ) ) >= 1 )
{
i++ ;
}
taille = i ;
int aux = n ;
for ( int j = i - 1 ; j >= 0 ; j-- )
{
tab[ i - j - 1 ] = (short) ( aux / ( (int) ( pow(10 , j ) ) ) ) ;
aux = aux % ( ( (int) pow(10 , j ) ) ) ;
}
}
}

tableau ( double n )
{
if ( n < 1 )
{
taille = 1 ;
tab[ 0 ] = 0 ;
}
else
{
int i = 0 ;
while ( n / ( pow(10 , i ) ) >= 1 )
{
i++ ;
}
taille = i ;
float aux = n ;
for ( int j = i - 1 ; j >= 0 ; j-- )
{
tab[ i - j - 1 ] = (short) ( aux / ( pow(10 , j ) ) ) ;
aux = aux - tab[ i - j - 1 ] * ( pow(10 , j ) ) ;
}
}
}

void affiche ( void )
{
for ( int k = 0 ; k < taille ; k++ )
{
cout<<tab[k]<<"" ;
}
}

void simple ( void )
{
int i = 0 ;
while ( tab[i] == 0 )
{
i ++ ;
}
for ( int k = 0 ; k < ( taille - i ) ; k ++ )
{
tab[k] = tab[ k + i ] ;
}
taille = taille - i ;
if ( taille <= 0 )
{
taille = 1 ;
tab[0] = 0 ;
}
}

int to_chiffre ( void )
{
long res = 0 ;
for ( int k = taille - 1 ; k >= 0 ; k-- )
{
res = res + ( tab[k] * pow ( 10 , ( taille - k - 1 ) ) ) ;
}
return res ;
}

tableau ( void )
{
int aux ;
cout<<"Taille du nombre?"<<endl ;
cin>>aux ;
taille = aux ;
for ( int i = 0 ; i < taille ; i++ )
{
cout<<"Chiffre?"<<endl;
cin>>aux ;
tab[i] = aux ;
}
}

/*
tableau ( void ) //Attention, necessite d'etre simplifie
{
int aux ;
cout<<"Taille du nombre?"<<endl ;
cin>>aux ;
taille = aux ;
for ( int i = 0 ; i < taille ; i++ )
{
tab[i] = ( abs ( tab[i] ) ) % 10 ;
}
} */

int tai ( void )
{
return taille ;
}

short* tabl ( void )
{
return tab ;
}

void copi ( tableau b )
{
taille = b.tai() ;
for ( int i = 0 ; i < taille ; i++ )
{
tab[i] = b.tabl()[i] ;
}
}

} ;
vendredi 21 mai 2010 à 08:58:00 | Re : Problème de définition de fonction dans une classe

labuche75

ps: l'erreur concerne
int to_chiffre ( void )
{
long res = 0 ;
for ( int k = taille - 1 ; k >= 0 ; k-- )
{
res = res + ( tab[k] * pow ( 10 , ( taille - k - 1 ) ) ) ;
}
return res ;
}
vendredi 21 mai 2010 à 09:58:16 | Re : Problème de définition de fonction dans une classe

CptPingu

Administrateur CodeS-SourceS
Je n'ai pas regardé en détail, mais d'après le message d'erreur:
- Le warning est du au fait que tu retournes un "long" alors que tu dis retourner un int.
- L'erreur de linking n'est pas du à ta classe, c'est autre chose. Vérifie la manière dont tu compiles. Regarde par exemple si tu essaies de faire une application fenêtrer alors que tu écris une application console.

Petits conseils:
- Évite Dev-C++, il est vieux et plus du tout à jour. Préfère visual studio, codeblocks ou mieux encore, QTCreator.
- Évite les "using namespace std", voir: [ Lien ]

_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
vendredi 21 mai 2010 à 14:06:56 | Re : Problème de définition de fonction dans une classe

labuche75

Merci pour le lien instructif. Je vais essayer avec Qt Creator. Bonne journée.


Cette discussion est classée dans : taille, int, tableau, void, tab


Répondre à ce message

Sujets en rapport avec ce message

Tableau à 3 dimensions [ par VinceExtense ] Savez vous comment faire passer en paramètre un tableau à 3 dimensions ?void fonction1(int x,iny y,int z){int tab[x][y][z];}void fonction2(int ***tab, Problem Affichage de mon Tableau [ par Orezza ] salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le Blem Somme ELmt d'un Tableau Bidimensionnel [ par Orezza ] Slt c encore moi, le boulet de l'info...c tjrs le meme prog mais cette fois ci j'aimerais afficher la somme des elmts de mon tableaux.#include #includ taille tableau [ par MiTcH37 ] J'aimerai savoir comment connaitre la taile d'un tableau, pour ne pas les envoyer comme argument dans une fonction.ex : void fct(int trier[], int tail class.... [ par Tautau ] voila j'ai un petit prob lors de ma compilation et j'ai un test dessus lundi :#include "conio.h"#include "iostream.h"class C_Tableau{ private: tableau char [ par dingue007 ] Voila je dois faire un prog en C++ : un tableau avec les mois de lannée et quand je tape un chiffre il me sort le mois ! mais je narrive pas a faire l C ANSI allocation dynamique de tableau [ par pedu ] Ce petit pro beug en sortie, pourquoi et que faire ?#include #include int (*pi)[1][1]; /* pointeur sur un tableau d'entiers */void main(void){ unsi Help Me [ par manta7 ] Bonjour, j'aimerais coder un fonction qui prend en paramètre un tableau de nombres entiers, et qui recherche, dans ce tableau, la plus grande différen Allocation dynamique dans une fonction [ par Veovis ] Salut,Toujours dans mon projet de TP, j'ai un petit soucis avec l'allocation dynamique dans une fonction. Ce que je voudrais faire c'est quand le tabl tri tableau en ligne [ par TWITTI ] bonjour , je suis etudiant en mécanique et la programmtion c est embetant pour moi.J ai un probleme sur mon programme main().Je n arrive pas a faire


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales