Accueil > Forum > > > > Correction code C
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("¼");
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 … 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("‚l‚ment supprim‚ 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
|
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
|
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
|
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
|
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
|
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
|
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
|
|
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;
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|