begin process at 2012 02 07 09:28:46
  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é :6 478 / 319

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 ANALYSEUR LEXICAL par Donald180v
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

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,515 sec (3)

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