IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

lecture de chaine de caractères


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 141
    Par défaut lecture de chaine de caractères
    salut à tous,

    en fait voilà,je suis en premiere année ingéniora info,et c'est mon premier mini projet c qui me cause probleme.

    c'est un compilateur d'instruction,c'est à dire,j'introduits par exemple :scanf("%d",tab[i));
    j'empile les (,",puis je rencontre un autre ",je depile et je remarque la correspondance,je continue de parcourir la chaine,je trouve[ donc j'empile,je trouve ),je depile mais là ya pas de corespondance;donc erreur,en resumé,j'empile si (,{,',",[ je depile si ),],} ",'.

    et on demande une version statique et dynamique.mais g eu deja un problem avec la statique dans la lecture de la chaine enfait,g fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include<conio.h>
    #include<stdio.h>
    #define n 30
    main()
    {
    int i:
    char tab[n];
    printf("donnez une instruction");
    while(tab[i]!='\0')  \* '\0' c la derniere casedu tableau
    { scanf("%c",&tab[i]);
    i++;
    }
    printf("%c",tab[5]);\*juste verifier qu'il ya affichage du char 
    getch();
    return;
    }
    ca marché 3fois,puis l'ordinateur,s'est mis à afficher n'importe quoi

    merci d'avance!!

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    bien le bonsoir,

    pour l'instant le code que tu donnes est loin de faire les empilages/dépilages dont tu parles.
    oublie le code et fais une réflexion plus poussée sur l'algo à utiliser et son implémentation en C

    si tu veux savoir comment saisir une chaine de caractères, va voir dans la faq, elle sert à ça http://c.developpez.com/faq/c/?page=...EEN_gets_fgets
    et http://c.developpez.com/faq/c/?page=...EN_scanf_fgets

  3. #3
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Mes commentaires sont dans le code, mais je n'y apporte aucune correction (soit dit en passant, ton code ne correspond pas du tout à tes explications i.e tu te contentes maladroitement de saisir un chaîne de caractères et de l'afficher...). Par ailleurs, essaie de faire attention à l'indentation!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    /*-TC- L'utilisation de conio n'est pas nécessaire, sauf pour 
       getch(), qui ne te sert à rien dans le cas présent. conio n'est
       pas standard et pas portable, alors lorsque ce n'est pas 
       nécessaire, autant prendre l'habitude de ne pas inclure cette 
       en-tête */
    #include<conio.h>
    #include<stdio.h>
    /*-TC- En général, la convention veut qu'on utilise des majuscules pour
       définir une constante i.e. #define N 30*/
    #define n 30
     
    /* -TC- Le langage C standard n'autorise que deux formes pour main i.e.
        int main(void) ou int main(int argc, char *argv[]). Note par ailleurs,
        que main doit retourner un entier, par convention 0 ou EXIT_SUCCESS
        si aucune erreur n'est intervenue*/
    main()
    {
        int i:
        char tab[n];
     
        printf("donnez une instruction");
        /* fflush(stdout); si tu veux être certain de cela s'affiche */
     
        /* ATTENTION: i n'est initialisée*/
        while(tab[i]!='\0')  \* '\0' c la derniere casedu tableau
        { 
            scanf("%c",&tab[i]);
            i++;
        }
        printf("%c",tab[5]); /* pas commentaire valide: \*juste verifier qu'il ya affichage du char */
        getch();
        /* Comme dit plus haut, main doit retourner 0 ou EXIT_SUCCESS
            en cas d'exécution sans erreur */
        return;
    }
    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 141
    Par défaut merci,mais..
    merci,mais enfait je commencais step by step,et c'est lepremier problem que g eu..
    mais c'est resolu mnt,thanks anyway !!!

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/06/2011, 07h10
  2. Lecture de chaine de caractère et nombre
    Par Ludo1919 dans le forum MATLAB
    Réponses: 5
    Dernier message: 25/11/2010, 15h30
  3. [Débutant] Lecture de chaines de caractères
    Par yabbiyou dans le forum MATLAB
    Réponses: 4
    Dernier message: 26/03/2009, 18h00
  4. lecture de chaines de caractères
    Par berberat dans le forum Langage
    Réponses: 10
    Dernier message: 16/08/2008, 00h21
  5. Lecture d'une chaine de caractère avec fgets
    Par mayoouketchup dans le forum Langage
    Réponses: 9
    Dernier message: 22/12/2005, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo