Transformer une chaine en nombre complexe

Transformer une chaine en nombre complexe - C - Programmation

Marsh Posté le 17-12-2015 à 15:29:59    

Bonjour,
Débutant en langage C, j'ai un devoir à faire qui me pose des difficultés.
voici l'énoncé :
Chercher un algorithme qui convertit un nombre complexe écrit sous forme de chaîne en un nombre complexe
 
exemple : chaîne "-1234,56 -i234,56" donne --> -1234,56 (partie réelle) et -i234,56 (partie imaginaire)
 
Cet algo sera écrit sous forme d'une fonction ex: (conv_ComplexCh_to_ComplexNb)
 
J'ai réussi à faire ce bout de code qui transforme les caractère "1234" en long,
comment puis-je améliorer pour une chaine contenant (, + et i) du nombre complexe ?
Merci par avance.
 
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
 
int str_to_long(const char *s, long *p);
int main(void)
{
    long n;
    int ret = str_to_long("1234", &n);
    if (ret == 0)
        printf("n = %d\n", n);
    else
        printf("str_to_long a retourne une erreur : %d\n", ret);
    return 0;
}
 
int str_to_long(const char *s, long *p)
{
    int ret = 0; /* code d'erreur 0 : succès. */
 
    return ret;
}

Reply

Marsh Posté le 17-12-2015 à 15:29:59   

Reply

Marsh Posté le 17-12-2015 à 16:56:59    

codejack a écrit :


J'ai réussi à faire ce bout de code qui transforme les caractère "1234" en long,
comment puis-je améliorer pour une chaine contenant (, + et i) du nombre complexe ?


Pour l'instant ton code ne transforme rien du tout... Il y a plusieurs possibilités, la plus facile étant sscanf (plus puissante qu'elle en a l'air!) et complex.h. Ou alors on fait tout à la main selon ce que veut le prof.

Reply

Sujets relatifs:

Leave a Replay

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