begin process at 2012 05 30 09:59:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

un tit coup de pouce pour une pile ???


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

un tit coup de pouce pour une pile ???

samedi 9 octobre 2004 à 14:38:56 | un tit coup de pouce pour une pile ???

noisette87

voici le debut de mon programme :

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//---------------------------------------------------------------------------

#pragma argsused
float pile[10]; /* Définition de la pile */
int position=0;

int est_pleine(void)
{ if(position>9)return 1;
return 0;
}

void empiler(float valeur)
{ if(est_pleine()){
printf("La pile est pleine\n");
getchar();
fflush(stdin);
exit(0);
}
pile[position++]=valeur;
}

int est_vide(void)
{ if(position==0) return 1;
return 0;
}

float depiler(void)
{ if(est_vide()){
printf("La pile est vide\n");
getchar();
fflush(stdin);
exit(0);
}
return pile[--position];
}

int main(int argc, char* argv[])
{ float n=3.82;
empiler(n);
printf("** %d %f\n",position,pile[position-1]);
printf(" -- %f --\n",depiler());
printf("\n a position %d valeur dans la pile : %f \n",position,pile[position]);
empiler(4.99);
getchar();
fflush(stdin);
return ;
}
//---------------------------------------------------------------------------

Il s'agit d'un pile comme vous pouvez le constater.
Mais voila mon pb, je dois remplir cette pile avec getchar(), sans scanf !!
comment faire ??

Merci d'avance
samedi 9 octobre 2004 à 16:15:53 | Re : un tit coup de pouce pour une pile ???

leprov

int Result;

while (0)
{
Result = 0;
for (unsigned ind = 1; ; ind *= 10)
{
char c = getchar ();

switch (c)
{
case '\n':
break;
default:
Result += (c - '0') * ind;
}
}
empiler (Result);
if (estpleine()) break;
}

}

jai pas trop regardé ton code, mais a priori ca doit etre qqch ds ce gout que tu attend....jespere que ca taideras, je sais pas si mon code est totalement exact, mais ca devrait te donner une idée de comment procéder
samedi 9 octobre 2004 à 16:16:29 | Re : un tit coup de pouce pour une pile ???

leprov

au fait, pour ta pile tu devrait faire une struct, ca serait un peu plus propre
samedi 9 octobre 2004 à 17:13:12 | Re : un tit coup de pouce pour une pile ???

noisette87

merci pour ces premieres reponses.

Mais sous kel aspect tu veux mettre la pile en struct, je ne vois pas du tout ????
samedi 9 octobre 2004 à 20:54:50 | Re : un tit coup de pouce pour une pile ???

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Une pile en struct ??? Tu veux dire faire une class pour encapsuler la pile non ? car sinon, je ne vois pas trop l'intérêt...
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
dimanche 10 octobre 2004 à 12:25:41 | Re : un tit coup de pouce pour une pile ???

leprov

vi c'etait ce que je voulais dire, dsl de metre aussi mal exprimé
dimanche 10 octobre 2004 à 12:34:49 | Re : un tit coup de pouce pour une pile ???

leprov

pour t'expliquer ce que j'ai fait:
deja je me suis planté c'est while (1) pour faire un boucle infinie que j'arreterais avec l'instruction break.
ensuite tu scanne tes nombres caractere par caractere, c'est a dire que si tu veux scanner 123
tu scanne le caractere 1 puis le caractere 2 puis la caractere 3.
mais vu que tu as des caracteres et que tu dois les convertir en int, tu fais caracatere C - code ASCII du caractere '0', ainsi si tu avais bien entré un chiffre, tu vas avoir le chiffre correspondant transformé de caractere en int. ensuite, tu dois faire en sorte que ton int soit correct, donc (et la mon algo est encore faux) tu fais: (algo de horner):

je prend mon chiffre, je le met dans mon int, mais avant de le mettre, il faut que je multiplie le reste par 10 pour que ca marche. pour texpliquer mieux, je fais:

je rentre 1
je multiplie par 10 et jajoute 2 jai 12
je multiplie par 10 jajoute 3 jai 123.

jespere' que cest un peu plus clair eet qu'a partir de mon code et de ces precisions tu vas t'en sortir


Cette discussion est classée dans : int, printf, position, return, pile


Répondre à ce message

Sujets en rapport avec ce message

demande de correction de programme [ par gemini010 ] slt a tous, je dois créer un programme avec differente fonctions et structures permettant de gerer des etudiants ( on doit pouvoir ajouter des enregis je ne comprends pas mon code n'affiche pas ma grille...de morpion [ par nicoworld ] Voilà ben le .exe m'affiche pas ma grille cje ne comprends pas!!!!si quelqu'un peut me dire pourquoi????voilà le code://MORPION 10*10 :#include int ve Table de hachage avec patronyme [ par guitoontruant ] Bonjour, Désolé, j'avais d'abord poster dans les discussions libres.Voilà je dois créer une table de hashage de patronymes par le biais de N entrées, Return tableau? [ par zut69 ] Bonjour,Je suis en train d'écrire un petit programme sur les matrices en C, mais vu que je veux faire quelque chose d'assez général, j'ai besoin que d position POINT et tableau 2 dimension [ par sokotanic ] bonjour à t.l.m. je souhaite recuperer la position x et y de la souris et la mettre dans un tableau 2 dimensions et afficher cette position dans un p Question gestion bibliotheque code c [ par nicolas92c ] Bonjour, j'ai un code non fini qui permet de gérer une bibliotheque. Ajouter ou supprimer un lecteur ou un livre : ok mais pour consulter les lecteurs probleme d'allocation d'une matrice [ par emomar ] salut à tous voila j'ai un probleme avec la fonction remplir voila le code si quelqu'un peut m'aider merci code : [code=cpp]#include #include int n jeux mode console en c [ par fifiprog ] Bonsoir a tous je dois creer un jeux sur un damier 10x10 ou tout d'abord deux joueurs pourrons s'affronter c'est le jeux des loups et agneau le but es Problème pour calculer le H pour l'A star ( * ) [ par jedinos ] Bonjour à tous ! [url=http://www.siteduzero.com/tutoriel-3-34333-le-pathfinding-avec-a.html]Dans ce tuto du pathfinding A star[/url] , l'auteur ne no appel de fonction [ par ibnjabal ] Bonjour j'essaie de faire une fonction qui calcule la somme de deux matrice et ça fonctionne bien mais seulement c'est quand j'essaie de le faire dans


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,061 sec (3)

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