Chaîne de caractère

digitserg Messages postés 2 Date d'inscription jeudi 28 octobre 2010 Statut Membre Dernière intervention 13 mars 2011 - 12 mars 2011 à 22:57
darkbatcher Messages postés 5 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2012 - 13 mars 2011 à 19:57
slt à tous
ça fait deux mois que j'apprends le c j'ai donc décidé de faire mon tout premier petit programme aujourd'hui,il s'agit du calcul de la surface d'un rectangle.j'ai donc écris ce code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
int l;/*la largeur*/
int L;/* la longueur*/
int srface;
char c[27];
c[0]='a';
c[1]='b';
c[2]='c';
c[3]='d';
c[4]='e';
c[5]='f';
c[6]='g';
c[7]='h';
c[8]='i';
c[9]='j';
c[10]='k';
c[11]='l';
c[12]='m';
c[13]='n';
c[14]='o';
c[15]='p';
c[16]='q';
c[17]='r';
c[18]='s';
c[19]='t';
c[20]='u';
c[21]='v';
c[22]='w';
c[23]='x';
c[24]='y';
c[25]='z';
printf("entrez la lageur de votre rectangle\n");
scanf("%d",&l);
printf("entrez la longueur de votre rectangle\n");
scanf("%d",&L);
srface=l*L;
if(l==L)
printf("ceci n'est pas un rectange\n");
else if(l>L)
printf("vouliez vous dire %d de longueur et %d de largeur ?\n",l,L);
else if(c==l||c==L)
printf("entrez un chiffre svp);*/*c'est ici que ça coince*/
else
printf("la surface est egale a:\t%d * %d = %d \n",l,L,srface);
system("PAUSE");
return 0;
}
j'ai mis des petites restrictions comme par exemple la longueur ne peut pas être égale à la largeur,la largeur ne peut pas être plus grande que la longueur; mais ou ça coince c'est au niveau des lettres, je voudrais quant-on rentre une lettre, il affiche un message du genre "entrez un chiffre svp" mais j'ai pas la solution; une personne peut-elle m'aider afin que je puisse avancer? merci d'avance

3 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
13 mars 2011 à 18:05
salut,

Utilise des fonctions/macros du type isalpha(), isdecimal(),...
Simplement:
if (c>='0' && c <='9') then ... else ...

@++
0
digitserg Messages postés 2 Date d'inscription jeudi 28 octobre 2010 Statut Membre Dernière intervention 13 mars 2011
13 mars 2011 à 18:25
merci de ta réponse, mais s'il te plait pourrais-tu être un peu plus explicite j'avoue que je suis perdu là.
0
darkbatcher Messages postés 5 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2012
13 mars 2011 à 19:57
hello

#include <ctype.h> 

int isdigit(int c);


verifie si une caracrtere est numérique (retourne 1 si c'est vrai, 0 si c'est faux )

@+
0
Rejoignez-nous