Dev c++... probleme de compilation et aussi d
J'essaye de réussir ce programme mais apparements quelques pistes me bloquent si jamais vous arrivez à les dévoiler, je vous remercie d'avance... ci joint le fichier :
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *P_TRI; /* déclaration */
char DATA [30], EVENEMENT[30];
int MOIS, JOUR, ANNEE;
int CPTE, NB_ENREG;
/* Première partie : Créer et remplir le fichier */
printf("Entrez le nom du fichier à créer : ");
scanf("%s", DATA);
P_TRI = fopen(DATA, "w"); /* Fichier ouvert en écriture */
printf("Nombre d'enregistrements à créer : ");
scanf("%d", &NB_ENREG);
CPTE = 0;
while (CPTE<NB_ENREG)
{
printf("Entrez l'évènement: ");
scanf("%s", &EVENEMENT);
printf("Entrez le jour : ");
scanf("%d", &JOUR);
printf("Entrez le mois : ");
scanf("%d", &MOIS);
printf("Entrez l'année: ");
scanf("%d", &ANNEE);
fprintf(P_TRI, "%s\n", EVENEMENT);
fprintf(P_TRI,"%d" "%d" "%d", JOUR, MOIS, ANNEE);
CPTE++;
}
fclose(P_TRI);
/* Deuxième partie :
Lire et afficher le contenu du fichier */
//while(feof(P_TRI));
P_TRI = fopen(DATA, "r+"); /* read */
CPTE = 0;
printf("Demarrage tri\n");
do
{
//printf("%s = EVENEMENT);
if(!feof(P_TRI))fscanf(P_TRI,"%s\n %d\n %d\n %d\n", &EVENEMENT,&JOUR,&MOIS,&ANNEE);else break; /* lecture de l'évènement */
printf(" %s\n ",EVENEMENT);
//if(!feof(P_TRI))fscanf(P_TRI,"%d",&JOUR); else break; /* lecture du jour */
printf("%d ",JOUR);
//if(!feof(P_TRI))fscanf(P_TRI,"%s",&MOIS);else break; /* lecture du mois */
printf("%d ",MOIS);
//if(!feof(P_TRI))fscanf(P_TRI,"%d",&ANNEE); else break; /* lecture de l'année */
printf("%d ",ANNEE);
}
while(!feof(P_TRI));
{
printf(" ok1\n");
CPTE++;
}
fclose(P_TRI);
getchar();getchar();
}
Merci encore une fois
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *P_TRI; /* déclaration */
char DATA [30], EVENEMENT[30];
int MOIS, JOUR, ANNEE;
int CPTE, NB_ENREG;
/* Première partie : Créer et remplir le fichier */
printf("Entrez le nom du fichier à créer : ");
scanf("%s", DATA);
P_TRI = fopen(DATA, "w"); /* Fichier ouvert en écriture */
printf("Nombre d'enregistrements à créer : ");
scanf("%d", &NB_ENREG);
CPTE = 0;
while (CPTE<NB_ENREG)
{
printf("Entrez l'évènement: ");
scanf("%s", &EVENEMENT);
printf("Entrez le jour : ");
scanf("%d", &JOUR);
printf("Entrez le mois : ");
scanf("%d", &MOIS);
printf("Entrez l'année: ");
scanf("%d", &ANNEE);
fprintf(P_TRI, "%s\n", EVENEMENT);
fprintf(P_TRI,"%d" "%d" "%d", JOUR, MOIS, ANNEE);
CPTE++;
}
fclose(P_TRI);
/* Deuxième partie :
Lire et afficher le contenu du fichier */
//while(feof(P_TRI));
P_TRI = fopen(DATA, "r+"); /* read */
CPTE = 0;
printf("Demarrage tri\n");
do
{
//printf("%s = EVENEMENT);
if(!feof(P_TRI))fscanf(P_TRI,"%s\n %d\n %d\n %d\n", &EVENEMENT,&JOUR,&MOIS,&ANNEE);else break; /* lecture de l'évènement */
printf(" %s\n ",EVENEMENT);
//if(!feof(P_TRI))fscanf(P_TRI,"%d",&JOUR); else break; /* lecture du jour */
printf("%d ",JOUR);
//if(!feof(P_TRI))fscanf(P_TRI,"%s",&MOIS);else break; /* lecture du mois */
printf("%d ",MOIS);
//if(!feof(P_TRI))fscanf(P_TRI,"%d",&ANNEE); else break; /* lecture de l'année */
printf("%d ",ANNEE);
}
while(!feof(P_TRI));
{
printf(" ok1\n");
CPTE++;
}
fclose(P_TRI);
getchar();getchar();
}
Merci encore une fois
A voir également:
- Dev c++... probleme de compilation et aussi d
- Dev c++ - Télécharger - Langages
- Massgrave dev - Accueil - Windows
- Dev home. - Télécharger - Développement
- Dev pascal - Télécharger - Édition & Programmation
- Logiciel de devis et facturation - Télécharger - Comptabilité & Facturation
7 réponses
Je pense que l'erreur est à la ligne
fprintf(P_TRI,"%d" "%d" "%d", JOUR, MOIS, ANNEE);
Il y a trop de guillemets, mettre
fprintf(P_TRI,"%d %d %d", JOUR, MOIS, ANNEE);
fprintf(P_TRI,"%d" "%d" "%d", JOUR, MOIS, ANNEE);
Il y a trop de guillemets, mettre
fprintf(P_TRI,"%d %d %d", JOUR, MOIS, ANNEE);
En effet, il y a une erreur à l'endroit indiqué par Richard. Il y a également une autre erreur : scanf("%s", &EVENEMENT); il n'a pas le "&".
scanf("%s", EVENEMENT);. EVENEMENT est un pointeur.
scanf("%s", EVENEMENT);. EVENEMENT est un pointeur.
Si vous avez une idée de comment faire pour afficher mes evenements dans un ordre décroissant ou croissant... j ai réalisé un programme qui affiche les résultats sans les ordonner...
Puisque tu fais du C++ je t'invite a regarder comment s'utilisent les std::map et les std::string. Regarde en particulier l'exemple du premier lien :
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
Si tu es motivé(e) il faudrait aussi changer tout ce qui est (f)scanf, (f)printf etc... avec des flux (std::cout, std::ifstream, std::ofstream, opérateurs << et >>). Exemple :
Bonne lecture
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
Si tu es motivé(e) il faudrait aussi changer tout ce qui est (f)scanf, (f)printf etc... avec des flux (std::cout, std::ifstream, std::ofstream, opérateurs << et >>). Exemple :
#include <iostream> int main(){ int x; std::cout << "valeur de x ?" << std::endl; std::cin >> x; std::cout << "valeur de x : " << x << std::endl; return 0; }
Bonne lecture
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mais non, ce n'est pas du C++ ! Il n'y a pas une seule ligne de code C++ ! C'est du C avec une extension .cpp...
Merci TDE, mais j'avais remarqué. C'est juste que pour ce que immma veut faire c'est 40 fois plus simple en C++ qu'en C et c'est pour ça que je lui conseille d'y jeter un oeil. Evidemment on peut s'en sortir avec un qsort en C mais objectivement c'est vraiment se compliquer la vie pour rien et ce sera de toute façon moins efficace et pratique qu'une map...
Ca c'est une réponse logique que la pluparts sait pas répondre... chapeau mamiemando... Au fait, c'est finit avec ce programme et ca mal tourné puisque j ai pas pu réaliser le tri sans faire ni tableau ni structure , il reste certes une possibilité mais les structures et les tableaux facilitent la tache davantage...
Merci mamiemando ;) ca me plait ton raisonnement quoi ;)
Merci mamiemando ;) ca me plait ton raisonnement quoi ;)