Rechercher : dans
Par :

Boucles for

Dernière réponse le 16 nov 2009 à 13:18:46 Blennoragie, le 15 nov 2009 à 20:00:45 
 Signaler ce message aux modérateurs

Bonjour,

Je dois faire un programme suivant :

Ecrire le programme correspondant à la session suivante :

votre choix (triangle -> t; carre -> c; quitter -> q) : t
hauteur : 4

*
**
***
****

votre choix (triangle -> t; carre -> c; quitter -> q) : c
hauteur : 5

*****
*   *
*   *
*   *
*****

votre choix (triangle -> t; carre -> c; quitter -> q) : q
aurevoir


#include <stdio.h>
#include <stdlib.h>

int main(void)

{

  char x,t,c,q; 
  int hauteur,ligne,etoile,espace;

  printf("Votre choix (triangle -> t; carre -> c; quitter -> q) : ");
  scanf("%c",&x);

  if(x=t)
    {
      printf("Hauteur : ");
      scanf("%d",&hauteur);
      for(ligne=0;ligne<hauteur;ligne++)
	{
	  for(etoile=0;etoile<1+ligne;etoile++)
	    {
	      printf("*");
	    }
	  printf("\n");
	}
    }

  if(x=c)
    {
      printf("Hauteur : ");
      scanf("%d",&hauteur);
      for(etoile=0;etoile<hauteur;etoile++)
	{
	  printf("*");
	  for(ligne=0;ligne<hauteur-2;ligne++)
	    {
	      printf("*");
	      for(espace=0;espace<hauteur-2;espace++)
		{
		  printf(" ");
		}
	    }
	  printf("*");
	}
    }

  if(x=q)
    {
      printf("Au revoir");
    }

  return EXIT_SUCCESS;

}


Je ne sais pas encore s'il marche (j'ai peur pour le carré surtout), car quoique je tape au début, il me fait le triangle. Donc j'aimerai savoir d'où vient l'erreur. Pourquoi c'est toujours le 1er "if" qui se lance ?

Merci d'avance,
Configuration: Linux
Firefox 3.0.15

Meilleures réponses pour « boucles for » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Structures conditionnelles du langage Pascal VoirLes structures de boucle Notre exemple avance. Maintenant, si nous désirons construire une phrase non plus avec trois mots, mais avec cinq, nous n'allons tout de même pas répéter notre code cinq fois !!! Pour cela, il suffit d'utiliser une des...

1

loupius, le 15 nov 2009 à 20:27:36

J'ai essayé le programme suivant:

int main()
{
  if (test_remerciement (post_précédent))
    printf ("OK, je vais t'aider");
  else
  {
    printf ("Bonne continuation");
    return (EXIT_FAILURE);
  }
  return (EXIT_SUCCESS);
}
Et voici le résultat:
Bonne continuation.

Répondre à loupius

2

fiddy, le 15 nov 2009 à 20:55:14

T'as oublié #include <stdio.h> et #include <lccm.h>.
N'oublie pas d'utiliser -lc pour compiler. ^^
Cdlt
Google is your friend

Répondre à fiddy

3

loupius, le 15 nov 2009 à 20:56:49

Ah, c'est peut-être pour cela que le programme se termine mal ;-)
Bonne soirée.

Répondre à loupius

5

 Blennoragie, le 16 nov 2009 à 13:18:46

J'aurais tout autant préféré que tu t'abstiennes. Si tu n'es pas là pour répondre aux questions demandées avec respect, tu peux déguerpir.

Répondre à Blennoragie

4

Où es-tu Mr Wirth ?, le 15 nov 2009 à 21:50:54

Salut
Pourquoi te lances-tu dans un langage sans en apprendre les bases ?

Mais comme je suis dans un bon jour, je vais te filer un indice pour ton premier problème : glisse donc un printf de tes variables (x et c juste apres si(x=c), x et t juste après si(x=t) et x et q juste après si(x=q)) pour comprendre pourquoi tu entres dans telle ou telle alternative.

Répondre à Où es-tu Mr Wirth ?