begin process at 2012 05 29 01:11:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Correction code C


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

Correction code C

dimanche 24 octobre 2010 à 01:27:50 | Correction code C

nicolas92c

Bonjour,

j'ai un code en C mais lors de la compilation/execution des erreurs s'affichent et je ne sais pas à quoi elles correspondent. Je suis débutant pouvez vous m'aider?

Le programme est censé gérer une bibliotheque (auteur, titre livre, lecteur etc.)

merci

Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
#include <windows.h>

int main(int argc, char *argv[])
{

typedef struct
{
	int jour;
	int mois;
	int annee;
}date;
typedef struct bib   /*creation du type bib*/
{
	int isbn;
	char titre[60];   /*declaration tableaux de caracteres pour titre,auteur avec 60 caracteres max*/    
	char auteur[60];
	char code[6];
	float prix;
	date day;
}bib;
int recherche(bib t[],int n,int x);   
void cadre(int dc,int fc,int dl,int fl,int c)
{
int i;
textcolor(c);
cprintf("É");
cprintf("È");
cprintf("»");
cprintf("&#188;");
cprintf("º");
cprintf("º");
cprintf("Í");
cprintf("Í");
}
void menu();
void remplissage(bib t[],int* n)
{
	int j;float x;
	int i1;
	do
	{

	clrscr();
	printf("bouquin numero %d",*n);
	getch();
	clrscr();
	cadre(5,75,3,36,2);
	puts("ISBN        :");
	puts("TITRE       :");
	puts("AUTEUR      :");
	puts("EDITEUR     :");
	puts("PRIX        :");
	puts("DATE EDITION:");
	clreol();scanf("%d",&t[*n].isbn);}while(recherche(t,*n,t[*n].isbn)!=0);
	clreol();scanf("%s",t[*n].titre);}while(strlen(t[*n].titre)>20);fflush(stdin);
	clreol();scanf("%s",t[*n].auteur);}while(strlen(t[*n].auteur)>20);fflush(stdin);
	clreol();scanf("%s",t[*n].code);}while(strlen(t[*n].code)>20);fflush(stdin);
	scanf("%f",&x);t[*n].prix=x;
	clreol();scanf("%d%d%d",&t[*n].day.jour,&t[*n].day.mois,&t[*n].day.annee);}while(t[*n].day.jour<=0||t[*n].day.jour>31||t[*n].day.mois<=0||t[*n].day.mois>12);

	printf("continuer(1/0)?");
	scanf("%d",&j);
	*n+=1;
	}while(j!=0||*n>100);/*on suppose que notre gestionnaire ne peut supporter plus que 100 bouquins*/
	menu();
}/*fin de gestion de remplissage*/

void tri_auteur(bib t[],int n)
{
	int i,j;
	bib x;

	      for(i=0;i<n;i++)
	      {
		for(j=i+1;j<n;j++)
		{
			if(strcmp(t[i].auteur,t[j].auteur)>0)
			{
				x=t[i];
				t[i]=t[j];
				t[j]=x;
			}
		}
	      }

}
void tri_annee(bib t[],int n)
{
	int i,j;
	bib x;


		for(i=0;i<n;i++)
		{
			for(j=i+1;j<n;j++)
			{
				if(t[i].day.annee>t[j].day.annee||t[i].day.annee%100!=0&&t[i].day.annee%400==100&&t[j].day.annee%100==0&&t[j].day.annee%400!=100)//on a ajouté au controle de l'annee le fait que si la premiere annee est ou non bisextille
				{
					x=t[i];
					t[i]=t[j];
					t[j]=x;
					if(t[i].day.mois<t[j].day.mois)
					{
                           x=t[i];
					t[i]=t[j];
					t[j]=x;
                    }                          
				}

			}
		}


}

void aff1(bib t[],int *n)
{
	int i;

		clrscr();
		tri_auteur(t,*n);
		for(i=0;i<=*n;i++)
		{
		puts("ISBN          :");
		puts("TITRE         :");
		puts("AUTEUR        :");
		puts("EDITEUR       :");
		puts("PRIX          :");
		puts("DATE D'EDITION:");
		printf("%d",t[i].isbn);
		puts(t[i].titre);
		puts(t[i].auteur);
		puts(t[i].code);
		printf("%f",t[i].prix);
		printf("%d/%d/%d",t[i].day.jour,t[i].day.mois,t[i].day.annee);
		getch();
		}


	printf ("retour au menu principale dans 3sec!!");
	delay(3000);
}
void aff2(bib t[],int *n)
{
    int i;

		clrscr();
	tri_annee(t,*n);
		for(i=0;i<*n;i++)
		{

		puts("ISBN          :");
		puts("TITRE         :");
		puts("AUTEUR        :");
		puts("EDITEUR       :");
		puts("PRIX          :");
		puts("DATE D'EDITION:");
		printf("%d",t[i].isbn);
		puts(t[i].titre);
		puts(t[i].auteur);
		puts(t[i].code);
		printf("%f",t[i].prix);
		printf("%d/%d/%d",t[i].day.jour,t[i].day.mois,t[i].day.annee);
		getch();
		}

	printf("retour au menu principale dans 3sec!");
	delay(3000);
}
int recherche2(bib t[],int n,int x);
int recherche(bib t[],int n,int x)
{
	int i,j,find=0;
	for(i=0;i<n;i++)
	{
		if(t[i].isbn==x){find=1;break;}
	}
	return find;
}

int recherche2(bib t[],int n,int x)
{
	int i,j,find=0;
	for(i=0;i<n;i++)
	{
		if(t[i].isbn==x){find=i;break;}
	}
	return find;

}

void add(bib t[],int *n)
{
	remplissage(t,n);
	menu();
}
void sup(bib t[],int *n,int num)
{

	int i;
	int find;
	clrscr();
	if(*n==0){clrscr();printf ("rien &#8230; supprimer");}
	else
	{
		clrscr();
		find=recherche2(t,*n,num);
		if(find==0)
		{clrscr();printf("element introuvable...impossible de supprimer");}
		else
		{
			for(i=find;i<*n;i++)
				t[i]=t[i+1];
			*n=*n-1;
			printf("&#8218;l&#8218;ment supprim&#8218; avec succ¦s");
		}
	}
}
void modif(bib t[],int n,int x)
{

	int i,found;float price;
	found=recherche(t,n,x);
	clrscr();
	if(found==0){clrscr();system("PAUSE");}
	else
	{
		puts("entrer votre prix:");
		scanf("%f",&price);
		t[found].prix=price;
	}
}
void menu()
{
     //declaration des variables necessaires au traitement
    bib t[100];
    int i;
    int x;
    int isbn1;
    int choix,CC;
    int r;//recherche de l'isbn en cas de modification du prix d'un bouquin
    char menu2[2][81]={"1-Par auteur","2-Par annee"};
    char men[5][81]={"1-Remplissage.","2-Affichage.","3-Tri(par auteur/par annee).","4-Recherche.","5-Mises à jour"};
    char menu3[2][81]={"1-Par auteur.","2-Par date."};
    char menu4[3][81]={"1-Ajout bouquin.","2-Suppression bouquin.","3-modification prix."};
    int leprix;
    int C1,C2,C3;
    int n;n=0;
    //debut de traitement
    clrscr();
    cadre(5,75,3,36,1);//construction du cadre du menu principal-->remarque:la même fct de cadre sera  appelée +rs fois
    for(i=0;i<5;i++)
    {puts(men[i]);}
    printf ("entrer votre choix:");
    scanf("%d",&choix);
    switch(choix)
    {
	case 1:clrscr();
		cadre(5,75,3,36,1);
		remplissage(t,&n);
		menu();
		break;
	case 2:clrscr();
		cadre(5,75,3,36,1);
		for(i=0;i<2;i++)
		    {puts(menu2[i]);}
		puts("entrer votre choix:");
		scanf("%d",&C1);
		switch(C1)
		{
		    case 1:aff1(t,&n);
			    menu();
			    break;
		    case 2:aff2(t,&n);
			    menu();
			    break;
		}
		break;
	case 3:clrscr();
		cadre(5,75,3,36,1);

		for(i=0;i<2;i++)
		{puts(menu3[i]);}
		puts("entrer votre choix:");
		scanf("%d",&C2);
		switch(C2)
		{
		    case 1:tri_auteur(t,n);
			menu();
			break;
		    case 2:tri_annee(t,n);
			    menu();
			    break;
		}
		break;
	case 4:clrscr();
		puts("entrer isbn:");
		scanf("%d",&x);
		CC=recherche2(t,n,x);
		printf("%d",CC);
		if(CC==x) printf("bouquin TROUVE");
		else if(CC==0)printf("bouquin introuvable!!");
		getch();
		menu();
		break;
	case 5:clrscr();
		cadre(5,75,3,36,1);
		for(i=0;i<3;i++)
		{puts(menu4[i]);}
		puts("entrer votre choix:");
		scanf("%d",&C3);
		switch(C3)
		{
			case 1:clrscr();
				cadre(5,75,3,36,1);
				add(t,&n);
				menu();
				break;
			case 2:clrscr();
				cadre(5,75,3,36,1);
				clrscr();
				printf("entrer l'isbn:");
				scanf("%d",&isbn1);
				sup(t,&n,isbn1);
				menu();
				break;
			case 3:clrscr();
				cadre(5,75,3,36,1);
				clrscr();
				printf("entrer le prix:");
				scanf("%d",&leprix);
				clrscr();
				puts("entrer isbn:");
				scanf("%d",&isbn1);
				r=recherche(t,n,isbn1);
				if(r){
				modif(t,n,leprix);
				printf("prix modifié avec succes");
				getch();
				}
				else {clrscr(); getch();}
				menu();
		}
		getch();
		menu();
		break;
    }
}
void main()
{
clrscr();
menu();
getch();
}
  
}



dimanche 24 octobre 2010 à 10:51:37 | Re : Correction code C

ghuysmans99

Membre Club
Tu ne fois pas tout mettre dans le code de main() ! Mets-y seulement son propre code.
102 erreurs quand je compile ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
dimanche 24 octobre 2010 à 10:51:50 | Re : Correction code C

ghuysmans99

Membre Club
dois*

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
dimanche 24 octobre 2010 à 10:57:16 | Re : Correction code C

ghuysmans99

Membre Club
T'as vu les pointeurs et listes chainées ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
dimanche 24 octobre 2010 à 11:26:26 | Re : Correction code C

nicolas92c

merci pour la rep

oui j'ai vu mais rapidement jai pas trop dexperience.

tu pourrais m'aider à refaire le code?
dimanche 24 octobre 2010 à 11:34:48 | Re : Correction code C

ghuysmans99

Membre Club
Revois déjà ça et recommence ensuite ton programme en les utilisant (donne le code de ta structure pour stocker les livres avant de commencer).

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
dimanche 24 octobre 2010 à 23:17:10 | Re : Correction code C

nicolas92c

hmm je n'y arrive pas..

j'ai besoin d'un code où:

-on a enregistré le titre, l'auteur et code des livres
-on peut ajouter ou supprimer une fiche lecteur(nom, prenom,livres empruntés)
-on peut consulter les fiches des livres et leur emprunts

mais je suis perdu
lundi 25 octobre 2010 à 20:46:06 | Re : Correction code C

ghuysmans99

Membre Club
Crée déjà une structure qui contiendra les données d'une fiche en liste simplement chainée. La réponse que j'attends doit être sous la forme typedef struct _mastructure {int truc; char autre[20]; struct _mastructure* _next;} mastructure; .

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
lundi 25 octobre 2010 à 21:03:55 | Re : Correction code C

nicolas92c

j'ai ce morceau de code pour déclarer mes structures:

Code C/C++ :
//************ declaration des structures ************

typedef struct struct_document
{
int code_doc;
char titre_doc[40];
char auteur_doc[40];
}document;

typedef struct struct_lecteur
{
int code_lec;
char nom[40];
char prenom[40];
}lecteur;

typedef struct struct_date
{
int jour,mois,annee;
}date;

typedef struct struct_pret
{
int code_doc;
char titre_doc[40];
char auteur_doc[40];
int code_lec;
char nom[40];
char prenom[40];
int pret_j, pret_m, pret_a;
int retour_j, retour_m, retour_a;
}pret;



après c'est le prog principal?
mardi 26 octobre 2010 à 18:38:05 | Re : Correction code C

ghuysmans99

Membre Club
Peut-être commencer par une structure pour les livres et puis seulement pour les prêts ... Et j'avais parlé de liste chainée !

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question

1 2 3 4 5 6

Cette discussion est classée dans : menu, int, scanf, puts, clrscr


Répondre à ce message

Sujets en rapport avec ce message

Caractère dans int [ par nashoy ] Bonjour,j'ai un petit soucis : j'ai le code suivant :int menu;scanf("%d",&menu);mais évidemment, quand on entre une lettre par exemple, il déglingue e [A SUPPRIMER]Gestionnaire de bibliothèques [ par eishtein ] /* Name: bilblio gestionner progect Copyright: all right reserved (°c)2009 by Anon_inc. Author: anass hajji Date: 13/01/10 23:37 Descriptio STRUCTURE EN C++ [ par smar ] VOICI MOT CODE EN C++ #include struct date {int jour; int mois; int annee; }; struct Etudiant { char nom[50]; char prenom[50]; int cin; date d; int ni scanf d'une structure imbriqée [ par sdiri_med ] Bonsoir, j'ai rencontré beaucoup des problèmes avec les structures je voudrai vous demander comment faire un appel d'une structure dans une autre pou [C] Retour au début du programme [ par thekid06 ] Bonsoir, Je cherche après chaque execution revenir au début du programme. Comment je peut faire s'il vous plaît ? Voilà ma source : [code=cpp]#includ Erreur [ par IMFM ] Bonjour, mon compilateur me donne ce message "type name expected" a chaque fois que je fais la compilation. je vais vous laisser mes codes. //Declarat Aide pour mastermind [ par Giuventine ] Bonjour à tous, Je débute en programmation et dans le cadre du cours je dois réaliser un projet qui est le Mastermind en C. Pour cela, j'ai conçu u programme en C [ par graminach ] on a un pb pour la question 2b!le programme ne tourne pas en boucle et affiche meme en cas de valeur correcte erreurmerci d'avancehttp://www-ipst.u-st 0 + 1 = 6 ??? [ par Also know as ] Bonjour, J'ai à nouveau le même genre de poblème. Voici mon nouveau source : /* Exemple simple d'utilisation de l'instruction do-while */ #include Probleme dev++ [ par M0nk ] J'ai un probléme avec dev++ quand je compile et j'exe il ne m'affiche pas la fin: C'est normal?#include #include int main(void) {float a,A,B,C;


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

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