begin process at 2012 02 11 10:32:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

j'ai un probleme en c++ avec les liste chainé


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

j'ai un probleme en c++ avec les liste chainé

lundi 20 décembre 2004 à 16:22:38 | j'ai un probleme en c++ avec les liste chainé

walidos09

/*
l'ennoncé de mon projet :

on désire concevoir par l'approche objet, une application pour simuler
le fonctionnement du noyau du systéme le fonctionnement du noyau du systéme
d'exploitation permettant d'executer les différentes tâches qui se présentent au syéstéme .
pour chaque tâche présentée, un processus est crée.il est identifié par un code unique,
son nom, l'instant de son arrivée, son état (actif ou en attente) , sa priorité, le temps d'exécution demandé sur le processeur
et le temps consommé.


plusieurs types d'ordonnancement sont possibles (fifo, lifo, par priorité, par quantum de temps ...).Pour chacun de ces types,
on put associer un objet ordonnanceur qui simule l'execution des processus selon l'algorithme approprié.



on demande de:

1- canccevoir une classe Processus en imaginant tous les services possibles de creation,suppression , affichage , modification , ect...

2- concevoir une classe ordonnanceur intégrant les services permettant de simuler l'execution selon l'algorithme choisi .

3- proposer un programme permettant de simuler l'exécution d'une liste de processusselon un algorithme choisi d'ordonnancemant et d'afficher a chaque instant l'évolution de l'exécution.

4-imaginer et proposer une classe dérivée processus_specifique pour gérer certaines tâches spécifiques et proposer un programme
manipulant des objets polymorphes.


nb:les processus sera traité par des listes chainés.

*/
/* programme en c++ */


#include <iostream.h>
#include<stdio.h>
#include <conio.h>
#include<string.h>
#include<dos.h>
#include<stddef.h> //POUR NULL
#define ESC '\33'

struct process{
int code,prio,intar,tpsex,tpscon;
char nom[],etat;
};

struct element{
element *suiv;
process val;
};
/*************************/







class processus
{
element *debut; //pointeur sur premier element
element *cur;
friend class ordonnanceur;
public:

static int nb;
processus();
processus(int);
~processus();
void creation(int);
void suppression(int);
void modification(int);
void affiche();
};

element processus::*cur=0;
int processus::nb=0;

processus::processus()
{
/*debut=NULL; //constructeur
cur=debut; */
}


processus::processus(int n)
{
cur=new element[n];
}
processus::~processus()
{
delete[]cur;
}

void processus::creation(int n)
{
int i;
debut=NULL;
cur=debut;
for(i=0;i<n;i++)
{
cur=new element;
cout<<endl<<"p : "<<i<<endl<<endl<<endl;

cur->suiv=debut;
cprintf("donner le code de processus : ");cin>>cur->val.code;
cprintf("donner le nom de processus : ");cin>>cur->val.nom;
cprintf("donner l'instant d'arriver : ");cin>>cur->val.intar;
cprintf("donner le temps d'execution : ");cin>>cur->val.tpsex;
cprintf("donner son priorite : ");cin>>cur->val.prio;
debut=cur;

};

}

void processus::suppression(int f)
{element *p=debut,*q;q=p;
while(p)
{
if(p->val.code!=f)
q=p;p=p->suiv,
q->suiv=p->suiv,
delete(p);
}
;
}

void processus::modification(int m)
{
int i;
while(cur!= NULL)
if(cur->val.code=m)
{
cprintf("donner le nouveau code de processus :");cin>>cur->val.code;
cprintf("donner le nouveau nom de processus :");cin>>cur->val.nom;
cprintf("donner the new instant d'arriver :");cin>>cur->val.intar ;
cprintf("donner the new temps d'execution :");cin>>cur->val.tpsex;
cprintf("donner son new priorité :");cin>>cur->val.prio ;
}
}

/******************************/








class ordonnanceur
{
friend class processus;
public:
processus l;
void ordonner(int,int);
friend processus::creation(int);
};

void ordonnanceur::ordonner(int k,int nb)
{
int i=0;
switch(k)
{
case 1 :
cout<<nb; //lifo
while(l.cur)
{cout<<i<<"see /t"<<l.cur->val.code<<endl;i++;
l.cur=l.cur->suiv;}
break;

case 2 :
for(i=0;i<nb;i++) //fifo
cout<<l.cur->val.code<<endl;break;
default:;
}
}
/***********************************/






void main()
{
processus x;ordonnanceur o;int w,b;

cprintf("donner le nombre de processus a traite : ");cin>>w;
x.creation(w);
clrscr();
gotoxy(3,3);cprintf("vous pouvez ordonner les processus inseré suivant les algorithmes : ");
gotoxy(3,7);cprintf("1 - lifo");
gotoxy(3,9);cprintf("2 - fifo");
do{
gotoxy(3,12);
cprintf("choisir le nombre correspondant a ton algorithme : "),cprintf(" "),cin>>b,cprintf(" ");
}
while((b!=1)&&(b!=2));clrscr();
o.ordonner(b,w);
getch();
}
lundi 20 décembre 2004 à 20:27:12 | Re : j'ai un probleme en c++ avec les liste chainé

psycho

Ici, on fait pas le boulot des autres.
T attends quoi? Qu'on fasse tes études pour toi?
Personnellement je ne suis pas d'accord.
Je demande d'ailleurs si un admin lis ce poste qu'il le supprime purement et simplement.
Bonne soirée.

Psycho
lundi 20 décembre 2004 à 20:28:03 | Re : j'ai un probleme en c++ avec les liste chainé

psycho

pardon : post et non pas "poste"

Psycho
lundi 20 décembre 2004 à 22:15:51 | Re : j'ai un probleme en c++ avec les liste chainé

luhtor

Lol sans lire ton commentaire, c'estl a réflexion que je me faisais.
vendredi 24 décembre 2004 à 01:09:13 | Re : j'ai un probleme en c++ avec les liste chainé

walidos09

comment en peut trié une liste chainée...


Cette discussion est classée dans : int, processus, val, cur, cprintf


Répondre à ce message

Sujets en rapport avec ce message

conversion decimal en binaire sans connaitre la taille du nombre [ par kobee12 ] Est ce que quelqu'un pourrait m'aider. Voici un algo qui convertit un nombre biaire en decimal : bin_digits est defini avec une taille de 10. Or j'aim réception données d'un serveur [ par surfeurnet ] Voila j'ai crée un fonction qui se connecte à un serveur dont l'ip et le port sont précisés en argument, mais je ne reçoit pas ou je n'arrive pas à li Pointeurs [ par ph0ton ] salut,j'ai beaucoup de mal a ecrire des pointeurs correctement, et j'aurai besoin de l'avis d'un connaisseur pour savoir si ce que j'ai ecrit est corr [C] Pointeur int comme paramètre dans une function qui ne marche pas [ par nitrique ] Bonjour à tous,J'ai retourné les pointeurs dans tous les sens mais rien n'y fait.J'aimerais modifier la valeur d'une variable int à l'interieur d'une Programmation Orientée Composant (pile) [ par dragarth1 ] Bonjour tout le monde!J'ai un devoir à faire pour l'école, nous devons développer un composant pile qui est ensuite utilisé par tpile, tpile étant le interface de jeu [ par cafou ] sltest ce que qu'elqu'un peut me propose une interphase graphique et des animations au jeu en language c si dessousmerci d'avance#include#include#incl Problème : Liste en Memoire partagée [ par 6miK ] Bonjour à tous et joyeux noel Voici mon probleme: j'ai une liste chainée qui servira à contenir des entiers qui seront le nom des fichiers à imprimer Communiquer entre processus avec des pipe [ par akrogames ] Bonjour, Je souhaite réaliser un programme pour m'entrainer à créer des anneaux avant de passer à la programmation socket. Mon objectif : faire pass Programmation script shell ksh unix [ par redrickfr35 ] Bonjour à tous, Je développe une fonction pour un script shell sous ksh qui doit me renvoyer le nombre d'instances du programme principal en cours d Problem avec des pointeur mais je c'est pourquoi ! [ par WaFFel ] bha et bien jai fait un petit code qui sert a rien c'etais juste pour utiliser des pointeur mais jai un problem et ne ne sais pas pourquoi sa bogueCOD


Nos sponsors


Sondage...

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 : 6,599 sec (3)

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