CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme avec chaine (string)

colow
colow
Niveau 5
01 avril 2012 à 19:28:25

Salut a tous, je suis en premiere annee de programmation en C.
J'ai rater un cours la semaine derniere pour des raison de sante et je me retrouve avec un DM a faire sans cours dessus.

voici le devoir:

1) Declarez une chaine char str[81];

2)Entrez une chaine avec le clavier (espaces inclus) en utilisant la technique vu en cours?! (utiliser while et getchar() et non pas gets() ou fgets()). Afin de pouvoir entrer n'importe quelle quantite inferieur ou egale a 80 char,(81 etant reserver pourun caractere \0 ,NULL, si besoin). Soyez sur que NULL soit au bon endroit dans votre chaine et que cette derniere n'accepte qu'un minimum de 15 characteres.

3)Vous entrez une chaine 5 fois, Pensez donc a mettre un loop.

4)Veillez a ce que chaque chaine ai au moins un char correspondant a chauque categories ci-dessous:

a)Lettre Alphabetique.
b)Lettre Minuscule
c)Lettre Majuscule
d)Charactere Numerique
e)Charactere Alphanumerique
f)Autre ctype

5)Indiquez la taille de chaqune des 5 chaines ainsi que le nombre de characteres correspondant a chaque categories (a),b),c)...)
Faire la meme operation en combinant les 5 chaines.

Voila, je m'excuse egalement de l'ennoncer qui n'ai pas hyper bien redige.
Mon devoir est en Anglais et mon Francais est un peu confus.

Merci de votre aide dans tout les cas.

pour le moment mon code est tout dans la fonction main.
Voila a quoi il ressemble:

  1. include <stdio.h>
  2. include <ctype.h>
  3. include <string.h>

int main (void)
{
char str [81];
int length, i,j,a=0,b=0,c=0,d=0,e=0,f=0;

{ for (j = 1; j < 6; j++)
{printf("\nInput string %i to breakdown: ",j);
gets(str);

length = strlen(str);
while (length<15||length>80)
{
if(length<15)
{
printf("\nInput string %i with at least 15 characters: ",j);
gets(str);
}
if(length>80)
{
printf("\nInput string %i with no more than 80 characters: ",j);
gets(str);
}
}

for (i = 0; i < length; i++)
{
if (isalpha(str[i]))
a++;
if (islower(str[i]))
b++;
if (isupper(str[i]))
c++;
if (isdigit(str[i]))
d++;
if (isalnum(str[i]))
e++;
if (isxdigit(str[i]))
f++;
if (isspace(str[i])&&(f==i))
f++;
if (iscntrl(str[i])&&(f==i))
f++;
if (isgraph(str[i])&&(f==i))
f++;
if (isblank(str[i])&&(f==i))
f++;
if (isprint(str[i])&&(f==i))
f++;
if (ispunct(str[i])&&(f==i))
f++;
}

printf("The length of string %i is %i.\n\n",j,length);
printf("There is %i alphabetic characters.\n",a);
printf("There is %i lower case characters.\n",b);
printf("There is %i upper case characters.\n",c);
printf("There is %i numeric characters.\n",d);
printf("There is %i alphanumeric characters.\n",e);
printf("There is %i other characters.\n",f);

printf("\n");
}

}

printf("\n\n");

return 0;
}

Pocolo
Pocolo
Niveau 10
01 avril 2012 à 20:21:16

" je suis en premiere annee de programmation en C "

C'est un cursus ça? :(

colow
colow
Niveau 5
01 avril 2012 à 20:22:55

Oui je suis aux Etats Unis.
Premier semestre pour etre exact^^

DN4
DN4
Niveau 7
01 avril 2012 à 20:38:34

La technique vue en cours doit sûrement être :

while ((c = getchar()) != EOF)

colow
colow
Niveau 5
02 avril 2012 à 16:46:50

Merci DN4

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment