begin process at 2010 03 22 01:58:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.Net

 > GESTION DE NOTES

GESTION DE NOTES


 Information sur la source

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.Net Niveau :Débutant Date de création :05/12/2001 Vu / téléchargé :4 758 / 278

Auteur : wallen73

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description


Source

  • #include<iostream.h>
  • #include<string.h>
  • #include<malloc.h>
  • struct elevnot
  • {
  • char eleve[20];
  • int note;
  • };
  • struct liste
  • {
  • elevnot * releve;
  • int nbmax;
  • int nb;
  • };
  • liste bulletin;
  • void initliste()
  • {
  • bulletin.releve=NULL;
  • bulletin.nbmax=0;
  • bulletin.nb=0;
  • }
  • void ajoute()
  • {
  • int r=0,i;
  • elevnot * inter;
  • elevnot ajout;
  • bool sortir;
  • do
  • {
  • cout<<"Veuillez entrer le nom de l'\202l\212ve : ";
  • cin>>ajout.eleve;
  • sortir=true;
  • for (i=0;i<bulletin.nb;i++)
  • {
  • if(strcmp(bulletin.releve[i].eleve,ajout.eleve)==0)
  • {sortir=false;}
  • }
  • }while (sortir==false);
  • do
  • {
  • cout<<"Veuillez entrer la note de "<<ajout.eleve<<" : ";
  • cin>>ajout.note;
  • }while ((ajout.note<0)||(ajout.note>20));
  • if(bulletin.nb<bulletin.nbmax)
  • {bulletin.releve[bulletin.nb]=ajout;
  • bulletin.nb++;}
  • else
  • {
  • inter=(elevnot *)malloc((bulletin.nbmax+5)*sizeof(elevnot));
  • if(inter==NULL) r=-1;
  • else
  • {
  • for(i=0;i<bulletin.nb;i++)inter[i]=bulletin.releve[i];
  • bulletin.nbmax=bulletin.nbmax+5;
  • free(bulletin.releve);
  • bulletin.releve=inter;
  • bulletin.releve[bulletin.nb]=ajout;
  • bulletin.nb++;
  • }
  • }
  • }
  • void supprime(char mot[])
  • {
  • int i;
  • for (i=0;i<bulletin.nb;i++)
  • {
  • if (strcmp(bulletin.releve[i].eleve,mot)==0)
  • {
  • bulletin.releve[i]=bulletin.releve[bulletin.nb-1];
  • bulletin.nb--;
  • }
  • }
  • }
  • void viretout()
  • {
  • free(bulletin.releve);
  • initliste();
  • }
  • void showmethenotes()
  • {
  • int i;
  • for (i=0;i<bulletin.nb;i++)
  • {
  • cout<<"NOM : "<<bulletin.releve[i].eleve<<" NOTE : "
  • <<bulletin.releve[i].note<<"/20"<<endl;
  • }
  • }
  • void whatsthemoyenne()
  • {
  • int i;
  • double moyenne=0;
  • for (i=0;i<bulletin.nb;i++) moyenne+=bulletin.releve[i].note;
  • moyenne=moyenne/bulletin.nb;
  • if (bulletin.nb!=0) cout<<"MOYENNE : "<<moyenne<<endl;
  • }
  • void main()
  • {
  • int choix;
  • char nom[20];
  • do
  • {
  • cout<<"1. Ajouter une note"<<endl;
  • cout<<"2. Supprimer une note gr\203ce au nom"<<endl;
  • cout<<"3. Afficher les notes"<<endl;
  • cout<<"4. Afficher la moyenne"<<endl;
  • cout<<"5. Supprimer toutes les notes"<<endl;
  • cout<<"6. Quitter"<<endl;
  • cout<<"Votre choix : ";cin>>choix;
  • switch(choix)
  • {
  • case 1: ajoute();
  • break;
  • case 2: cout<<"Quel nom ? ";cin>>nom;
  • supprime(nom);
  • break;
  • case 3: showmethenotes();
  • break;
  • case 4: whatsthemoyenne();
  • break;
  • case 5: viretout();
  • break;
  • case 6: viretout();
  • break;
  • };
  • } while (choix!=6);
  • }
#include<iostream.h>
#include<string.h>
#include<malloc.h>

struct elevnot
{
	char eleve[20];
	int note;
};

struct liste
{
	elevnot * releve;
	int nbmax;
	int nb;
};

liste bulletin;

void initliste()
{
	bulletin.releve=NULL;
	bulletin.nbmax=0;
	bulletin.nb=0;
}



void ajoute()
{
	int r=0,i;
	elevnot *  inter;
	elevnot ajout;
	bool sortir;
	do
	{
		cout<<"Veuillez entrer le nom de l'\202l\212ve : ";
		cin>>ajout.eleve;
		sortir=true;
		for (i=0;i<bulletin.nb;i++)
		{
		if(strcmp(bulletin.releve[i].eleve,ajout.eleve)==0)
		{sortir=false;}
		}
	}while (sortir==false);
	do
	{
		cout<<"Veuillez entrer la note de "<<ajout.eleve<<" : ";
		cin>>ajout.note;
	}while ((ajout.note<0)||(ajout.note>20));
	if(bulletin.nb<bulletin.nbmax)
	{bulletin.releve[bulletin.nb]=ajout;
	bulletin.nb++;}
	else
	{
	inter=(elevnot *)malloc((bulletin.nbmax+5)*sizeof(elevnot));
	if(inter==NULL) r=-1;
	else
	{
	for(i=0;i<bulletin.nb;i++)inter[i]=bulletin.releve[i];
	bulletin.nbmax=bulletin.nbmax+5;
	free(bulletin.releve);
	bulletin.releve=inter;
	bulletin.releve[bulletin.nb]=ajout;
	bulletin.nb++;
	}
	}
}

void supprime(char mot[])
{
	int i;
	for (i=0;i<bulletin.nb;i++)
	{
		if (strcmp(bulletin.releve[i].eleve,mot)==0)
		{
			bulletin.releve[i]=bulletin.releve[bulletin.nb-1];
			bulletin.nb--;
		}
	}
}

void viretout()
{
	free(bulletin.releve);
	initliste();
}

void showmethenotes()
{
	int i;
	for (i=0;i<bulletin.nb;i++)
	{
		cout<<"NOM : "<<bulletin.releve[i].eleve<<"  NOTE : "
			<<bulletin.releve[i].note<<"/20"<<endl;
	}
}

void whatsthemoyenne()
{
	int i;
	double moyenne=0;
	for (i=0;i<bulletin.nb;i++) moyenne+=bulletin.releve[i].note;
	moyenne=moyenne/bulletin.nb;
	if (bulletin.nb!=0) cout<<"MOYENNE : "<<moyenne<<endl;
}

void main()
{
	int choix;
	char nom[20];
	do
	{
		cout<<"1. Ajouter une note"<<endl;
		cout<<"2. Supprimer une note gr\203ce au nom"<<endl;
		cout<<"3. Afficher les notes"<<endl;
		cout<<"4. Afficher la moyenne"<<endl;
		cout<<"5. Supprimer toutes les notes"<<endl;
		cout<<"6. Quitter"<<endl;
		cout<<"Votre choix : ";cin>>choix;
		switch(choix)
		{
		case 1: ajoute();
				break;
		case 2: cout<<"Quel nom ? ";cin>>nom;
				supprime(nom);
				break;
		case 3: showmethenotes();
				break;
		case 4: whatsthemoyenne();
				break;
		case 5: viretout();
				break;
		case 6: viretout();
				break;
		};
	} while (choix!=6);
}
 

 Conclusion

Un élève ne peut avoir qu'une seule note ( on le suppose dumoins )


 Sources du même auteur

Source avec Zip EXEMPLE DE STOCKAGE DE DONNÉES DANS UN FICHIER (VC++)
Source avec Zip ALGORITHME DU VOYAGEUR ( NON OPTIMISÉ )
Source avec Zip LETTRE LA PLUS PRÉSENTE DANS UN MOT
Source avec Zip EST-CE UN PALYNDROME
Source avec Zip METTRE UNE CHAÎNE EN MAJUSCULES

 Sources de la même categorie

Source avec Zip Source avec une capture MAP_MAKER_JEU par seekplus
Source avec Zip Source avec une capture Source .NET (Dotnet) EMISSION D'UN OCTET SUR LE PORT SÉRIE - CLASSE SERIALPORT par jmchatelet01
Source avec Zip Source .NET (Dotnet) RESOLV EQU DE DEGRES N par darckangel731
Source avec Zip Source avec une capture Source .NET (Dotnet) INTEROP XCHAT / .NET : CHARGEUR DE PLUGINS MANAGÉS par TeBeCo
Source avec Zip Source avec une capture Source .NET (Dotnet) SCANNER D'ADRESSES MAILS PRÉSENTENT SUR GOOGLE par Zaltez

Commentaires et avis

Commentaire de bretgod le 15/06/2005 16:12:48

Avec VC++ ça marche comme il faut!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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 : 0,484 sec (3)

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