begin process at 2012 05 27 16:14:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > FACTURATION AVEC UTILISATION DES TABLEAUX DE STRUCTURES EN C

FACTURATION AVEC UTILISATION DES TABLEAUX DE STRUCTURES EN C


 Information sur la source

Note :
Aucune note
Catégorie :Application Niveau :Initié Date de création :12/05/2002 Date de mise à jour :12/05/2002 18:59:19 Vu :5 720

Auteur : pheno

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

 Description

Ce code permet de stocker des donnees dans un tableau de strucutures et de les reutilisees, ici on calcule une facture a partir des articles saisis et de la quantité que l on desire commander

Source

  • /*Bts info 1 Chartreux Mai 2002*/
  • /*Facturation*/
  • #include <stdio.h>
  • #include <string.h>
  • #define MAX 100
  • typedef struct
  • {
  • int code;
  • char libelle[MAX];
  • float prixunitaire;
  • }ARTICLE;
  • void inittab(ARTICLE tart[MAX],int *ptnart);
  • void saisiefacture(ARTICLE tart[MAX], int tcom[MAX], int *ptncom, int nart, int tquantite[MAX]);
  • void afficherfacture(ARTICLE tart[MAX],int tcom[MAX],int tqtite[MAX], int ncom);
  • int rechercher(ARTICLE tart[MAX],int nart,int codesaisi);
  • void main(void)
  • {
  • ARTICLE tart[MAX];
  • int tqtite[MAX];
  • int tcom[MAX];
  • int nart, ncom;
  • inittab(tart,&nart);
  • saisiefacture(tart,tcom,&ncom,nart,tqtite);
  • afficherfacture(tart,tcom, tqtite, ncom);
  • }
  • void inittab(ARTICLE tart[MAX],int *ptnart)
  • {
  • char rep;
  • *ptnart=0;
  • do
  • {
  • *ptnart +=1;
  • printf("SAISIR LE CODE DE L ARTICLE\n");
  • scanf("%d",&tart[*ptnart].code);
  • while (tart[*ptnart].code <1)
  • {
  • printf("Code invalide\n");
  • scanf("%d",&tart[*ptnart].code);
  • }
  • printf("Saisir le libelle\n");
  • fflush(stdin);
  • scanf("%s",tart[*ptnart].libelle);
  • while (tart[*ptnart].libelle=="")
  • {
  • printf("libelle vide\n");
  • fflush(stdin);
  • scanf("%s",tart[*ptnart].libelle);
  • }
  • printf("Saisie le prix\n");
  • scanf("%f",&tart[*ptnart].prixunitaire);
  • while (tart[*ptnart].prixunitaire<=0)
  • {
  • printf("Prix Invalide\n");
  • scanf("%d",&tart[*ptnart].prixunitaire);
  • }
  • if (*ptnart>=MAX)
  • {
  • printf("Tabelau Plein");
  • rep='n';
  • }
  • else
  • {
  • printf("Autre Article?\n");
  • fflush(stdin);
  • scanf("%c",&rep);
  • }
  • }
  • while(rep=='o');
  • }
  • void saisiefacture(ARTICLE tart[MAX], int tcom[MAX], int *ptncom, int nart, int tquantite[MAX])
  • {
  • int ind,codartcom,qtite;
  • char rep;
  • *ptncom=0;
  • do
  • {
  • *ptncom+=1;
  • printf("Saisir le code de l article a commander\n");
  • scanf("%d",&codartcom);
  • ind=rechercher(tart,nart,codartcom);
  • while (ind == 0)
  • {
  • printf("Saisir le code, code invalide\n");
  • scanf("%d",&codartcom);
  • ind=rechercher(tart,nart,codartcom);
  • }
  • printf("Quelle quantite de ", tart[ind].libelle, "a commander?\n");
  • scanf("%d",&qtite);
  • while (qtite==0)
  • {
  • printf("quantite invalide resaisir\n");
  • scanf("%d",&qtite);
  • }
  • tcom[*ptncom]=ind;
  • tquantite[*ptncom]=qtite;
  • if (*ptncom<MAX)
  • {
  • printf("Autres article a commander?\n");
  • fflush(stdin);
  • scanf("%c",&rep);
  • }
  • else
  • {
  • printf("tableau plein, commande non prise\n");
  • rep='n';
  • }
  • }
  • while (rep=='o');
  • }
  • void afficherfacture(ARTICLE tart[MAX],int tcom[MAX],int tqtite[MAX], int ncom)
  • {
  • int i,ind;
  • float montant,total;
  • total=0;
  • printf(" FACTURE\n");
  • printf("article quantite prix unitaire montant\n");
  • for (i=1;i<=ncom;i++)
  • {
  • ind=tcom[i];
  • printf("%s ",tart[ind].libelle);
  • printf("%d ",tqtite[i]);
  • printf("%f ",tart[ind].prixunitaire);
  • montant=tart[ind].prixunitaire*tqtite[i];
  • total += montant;
  • printf(" %f\n",total);
  • }
  • printf("Copyright Freeman-Corp\n");
  • }
  • int rechercher(ARTICLE tart[MAX],int nart,int codesaisi)
  • {
  • int i;
  • i=1;
  • while (i<=nart && tart[i].code != codesaisi)
  • {
  • i+=1;
  • }
  • if (i<=nart)
  • {
  • return i;
  • }
  • else
  • {
  • return 0;
  • }
  • }
/*Bts info 1 Chartreux Mai 2002*/
/*Facturation*/
#include <stdio.h>
#include <string.h>

#define MAX 100

typedef struct 
{
	int code;
	char libelle[MAX];
	float prixunitaire;
}ARTICLE;

void inittab(ARTICLE tart[MAX],int *ptnart);
void saisiefacture(ARTICLE tart[MAX], int tcom[MAX], int *ptncom, int nart, int tquantite[MAX]);
void afficherfacture(ARTICLE tart[MAX],int tcom[MAX],int tqtite[MAX], int ncom);
int rechercher(ARTICLE tart[MAX],int nart,int codesaisi);

void main(void)
{
	ARTICLE tart[MAX];
	int tqtite[MAX];
	int tcom[MAX];
	int nart, ncom;
	inittab(tart,&nart);
	saisiefacture(tart,tcom,&ncom,nart,tqtite);
	afficherfacture(tart,tcom, tqtite, ncom);
}


void inittab(ARTICLE tart[MAX],int *ptnart)
{
	char rep;
	
	*ptnart=0;
	do
	{
		*ptnart +=1;
		
		printf("SAISIR LE CODE DE L ARTICLE\n");
		scanf("%d",&tart[*ptnart].code);
		while (tart[*ptnart].code <1)
		{
			printf("Code invalide\n");
			scanf("%d",&tart[*ptnart].code);
		}
		printf("Saisir le libelle\n");
		fflush(stdin);
		scanf("%s",tart[*ptnart].libelle);
			while (tart[*ptnart].libelle=="")
		{
			printf("libelle vide\n");
			fflush(stdin);
			scanf("%s",tart[*ptnart].libelle);
		}
		printf("Saisie le prix\n");
		scanf("%f",&tart[*ptnart].prixunitaire);
		
		while (tart[*ptnart].prixunitaire<=0)
		{
			printf("Prix Invalide\n");
			scanf("%d",&tart[*ptnart].prixunitaire);
		}
		if (*ptnart>=MAX)
		{
			printf("Tabelau Plein");
			rep='n';
		}
		else
		{
			printf("Autre Article?\n");
			fflush(stdin);
			scanf("%c",&rep);
		}

	}
	while(rep=='o');
}
void saisiefacture(ARTICLE tart[MAX], int tcom[MAX], int *ptncom, int nart, int tquantite[MAX])
{
	int ind,codartcom,qtite;
	char rep;
	*ptncom=0;
	do
	{
		*ptncom+=1;
		printf("Saisir le code de l article a commander\n");
		scanf("%d",&codartcom);
		ind=rechercher(tart,nart,codartcom);
		while (ind == 0)
		{
			printf("Saisir le code, code invalide\n");
			scanf("%d",&codartcom);
			ind=rechercher(tart,nart,codartcom);
		}
		printf("Quelle quantite de ", tart[ind].libelle, "a commander?\n");
		scanf("%d",&qtite);
		while (qtite==0)
		{
			printf("quantite invalide resaisir\n");
			scanf("%d",&qtite);
		}
		tcom[*ptncom]=ind;
		tquantite[*ptncom]=qtite;
		if (*ptncom<MAX)
		{
			printf("Autres article a commander?\n");
			fflush(stdin);
			scanf("%c",&rep);
		}
		else
		{
			printf("tableau plein, commande non prise\n");
			rep='n';
		}
	}
	while (rep=='o');
	}

void afficherfacture(ARTICLE tart[MAX],int tcom[MAX],int tqtite[MAX], int ncom)
{
	int i,ind;
	float montant,total;
	total=0;
	printf("                             FACTURE\n");
	printf("article     quantite    prix unitaire     montant\n");
	for (i=1;i<=ncom;i++)
	{
		ind=tcom[i];
		printf("%s         ",tart[ind].libelle);
		printf("%d		  ",tqtite[i]);
		printf("%f		  ",tart[ind].prixunitaire);
		montant=tart[ind].prixunitaire*tqtite[i];
		total += montant;
		printf("	%f\n",total);
	}
	printf("Copyright Freeman-Corp\n");
}




int rechercher(ARTICLE tart[MAX],int nart,int codesaisi)
{
	int i;
	i=1;
	while (i<=nart && tart[i].code != codesaisi)
	{
		i+=1;
	}
	if (i<=nart)
	{
		return i;
	}
	else
	{
		return 0;
	}
} 

 Conclusion

J espere que ca pourra aider certaines personnes bien que le site ait beaucoup plus de sources en C++ qu en C
Si vous avez un probleme avec la source, ou si vous voulez une explication, ecrivez moi


 Sources du même auteur

Source avec Zip CLIENT/SERVEUR: CLIENT NOMBRE ALEATOIRE [GCC]
Source avec Zip CLIENT/SERVEUR: SERVEUR NOMBRE ALEATOIRE [GCC]
TIMESTAMP, ECRITURE DANS UN FICHIER [GCC]
Source avec Zip TABLEAU DE STRUCTURES EN C, GESTION D ARRIVEES DE SKIEURS

 Sources de la même categorie

Source avec Zip Source avec une capture PROGRAMME DE SUDOKU par AffreuxJojp
Source avec Zip EVALUATEUR D'EXPRESSION ARITHMÉTIQUE par matrx180vTitanium
Source avec Zip Source avec une capture QBIBLIO GESTION DES PRÊTS par conatic
Source avec Zip Source avec une capture QL-CHATROOM V 1.0 par mature
Source avec Zip Source avec une capture GEOLOCALISATION par ganjarasta

Commentaires et avis

Commentaire de natpoitiers le 11/07/2002 12:15:16

C'est pas application - si tu veut ecrire meme chose comme application il faut utiliser les files ou tu peut stocker l'info sur les articles et user peut choisir article. J pense, que il faut savoire la difference entre applic et example comment utiliser les sructures. Comme example - c'est bien f. Hi.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

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

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