begin process at 2012 02 10 08:23:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Chaine de caractère


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

Chaine de caractère

mardi 29 novembre 2005 à 21:41:29 | Chaine de caractère

Thanatoster

Bonjour a tous, mon problème est le suivant, pour les cours je dois faire un programme d'apres l'énoncé suivant
"saisir au clavier des éléments chaine de caractere dont le  nombre est connu avant saisie et variable  
Utiliser des indices et non les pointeurs"

j'ai donc essayé ceci:
#include <stdafx.h>
#include <stdio.h>
#include<conio.h>

void main()
{
    int i,j;
    char tab[3][5]; //3 et 5 étant des valeurs temporaires afin de tester si ca marche
    for (i=0;i<3;i++)
    {
        printf("Veuillez entrer la chaine %d : ",i+1);
        for (j=0;j<5;j++)
        {
            fflush (stdin);
            tab[i][j]=getch();
            printf("%c",tab[i][j]);
        }
        printf("\n");
    }
}

Le problème est que si je ne tape pas un chaine de 5 caractère, je ne peux pas passer à l'élément suivant

Voila j'espere que j'ai été clair et que vous pourrez m'aider...

Thanatoster
mardi 29 novembre 2005 à 22:20:31 | Re : Chaine de caractère

miximog

Selon moi et d'après l'énoncé on te demande de saisir au clavier des éléments chaine de caractere.Partant de la ton getch() n'a rien a faire la puisque le getch te permettera selement de récupérer un "caractère" et non une chaine de caractère. Donc toujours selon moi il faudrai uttiliser un gets(tab), puis pour connaitre le nombre avant la saisi je voi qu'une chose c'est de demander à l'utilisateur combien de chaine de caractère il veut rentrer .

Voila
mardi 29 novembre 2005 à 22:44:34 | Re : Chaine de caractère

Matt67

Bonsoir

vu que c'est pour un cours, juste des indices :

int c, j,  i;
char chaines[5][128];

c etant le caractère que tu lis avec getchar;
i etant le nombre de chaine traitées;
j etant le nombre de caractere dans ta chaine;
chaines etant ici que tu stockes 5 chaines de 127 caracteres (+ '\0' final)

tant que le nombre de chaine n'est pas atteint
    saisie d'un caractere
       tant que ce n'est pas un retour chariot ou que le nombre de caractere n'est pas atteint
          saisie d'un caractere

 Matt...
mardi 29 novembre 2005 à 23:56:13 | Re : Chaine de caractère

Thanatoster

J'aime bien la réponse de Matt67 seulement comment écrire la condition de la deuxième boucle, j'ai tenté de faire : while (j<127 || tab[i][j-1] != '\n')
mais ca ne fonctionne pas

merci de vos réponse en tous cas

Thanatoster
mercredi 30 novembre 2005 à 07:27:10 | Re : Chaine de caractère

Matt67

Réponse acceptée !
Bonjour,

un autre indice :
pour recuperer un caractere tu fais un c = getchar() et c'est c que tu testes et non chaine[i][j]

Matt...
mercredi 30 novembre 2005 à 16:29:49 | Re : Chaine de caractère

Thanatoster

Merci beaucoup pour vos réponse, voila ce que j'ai fait et apparement tout marche bien. J'ai aussi rajouter une demand  du nombre de chaine a mettre.

#include <stdafx.h>
#include <stdio.h>

void main()
{
    int i,j,ch,nbval;
    char tab[150][150];

    do
    {
        printf("Combien de valeurs voulez vous entrer?");
        scanf("%d", &nbval);
        if(nbval<0 || nbval>150)
        {
            printf("Valeur interdite, veuillez entrer une valeur entre 1 et 150\n");
        }
    }while(nbval<0 || nbval>150);
    fflush(stdin);
    for (i=0;i<nbval;i++)
    {
        printf("Veuillez entrer la chaine %d : ",i+1);
        for (j=0; (j < 149) &&  ((ch = getchar()) != EOF)& (ch != '\n'); j++ )
        {
            tab[i][j]=char(ch);
           
        }
        tab[i][j]='\0';
        //printf("%s\n",tab[i]);
    }
}


Thanatoster


Cette discussion est classée dans : caractère, chaine, printf, include, tab


Répondre à ce message

Sujets en rapport avec ce message

Chaine de caractère ! [ par rems14 ] Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de qu Separer une chaine en sous chaine [ par firemax ] Bonjour Je me posais une question , j'aimerais diviser une chaine en sous chaine pour pouvoir ensuite les trier par longueur de chaine de caractere a l aiiiiiiiiidddddeeeeeeeee [ par natacha86 ] je ne comprend pas pkoi le programme une fois qu'il a lancé le premier choix du menu a la fin il ne reviens pas au menu, il s'arrete directement, merc menu avec un switch [ par natacha86 ] je ne comprend pas pkoi le programme une fois qu'il a lancé le premier choix du menu a la fin il ne reviens pas au menu, il s'arrete directement, merc aide par rapport a l'appel d'une méthode [ par natacha86 ] quel est le probleme de ma méthode init_tab ? le programme s'arrete aprse etre passé dans cette méthode, il plante, et ne rentre pas dans la méthode d help une fonction qui a besoin de vous [ par natacha86 ] Re bonjour a tout le monde, voila j'ai mis tout le prog si vous voulez tester, en fait le pb viens de la fonctino tri_shell(), je ne sais pas pkoi ell récupération de chaine de caractère [ par anubis52100 ] bonjour voila je n'arive pas a récupéré la chaine de caractère dans une line de mon editBoxvoila mon codequand je l'execute j'ai une erreurCString str Fonction qui renvoie une chaine de caractère [ par tintin72 ] Bonjour,Je voudrais faire une fonction qui renvoie une chaine de caractère. C'est possible ?Si oui comment ?MerciTintin 72 chercher la position d'un caractère dans une chaine [ par Vishnouu ] Bonjour, je suis encore débutant en c/c++ je vous explique ce que je veux faire : voici une chaine de caractères string alpha = abcdefghijklmnopqr Petit programme de chaine de caractère [ par trystan007 ] J'ai un petit problème : l'utilisateur doit taper une chaine de caractère en mode console, puis, la chaine est envoyée en même tps qu'une 15aine de va


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,328 sec (4)

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