A l'aiiiide!!!!!problème de fichiers en C!!

wind of happiness Messages postés 13 Statut Membre -  
juventino110 Messages postés 134 Statut Membre -
Bonjour,

j'ai un problème dans mon code en C! les procédures charger et sauvegarder ne marchent pas!et je crois ke l'emplacement de l'appel est faux! kelk1 pourra m'aider?ca serait gentil !

j'attends vos réponses avec impatience c'est urgent!
merci d'avance!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cconio.h>
#include<conio.h>


int nbFiche=0;

typedef struct {
	char nom[30];
	char prenom[30];
	char no_ins[14];
	int age;
	int no_rue;
	char rue[30];
	char code_postal[5];
	char ville[30];
	char no_tel[8];
}trec;








void menu_modifier()
{        clrscr();
char age[100],adresse[100],tel[100];

//textcolor (9);sous_cadre(8,8,10,55);
gotoxy(25,10);textcolor(9);printf("menu de modification");
gotoxy(15,12);textcolor(14);printf("age : ");
gotoxy(15,14);printf ("adresse : ");
gotoxy(15,16);printf ("no_tel : ");
gotoxy(22,12);scanf("%s",age);
gotoxy(25,14);scanf("%s",adresse);
gotoxy(26,16);scanf("%s",tel);

}



void menu_supp()
{        clrscr();char nom[100],prenom[100];
//textcolor (9);sous_cadre(8,8,9,55);

gotoxy(25,10);textcolor(9);printf("menu de suppression");
gotoxy(15,12);textcolor(14);printf("nom : ");
gotoxy(15,14);printf ("prenom : ");



     gotoxy(21,12);scanf("%s",nom);
     gotoxy(26,14);scanf("%s",prenom);



}


int menu(){
	system("cls");	printf("\nETUDIANTS ESISA:");
	 textcolor(15);gotoxy(30,11);printf("****MENU PRINCLIPAL****");
	textcolor(14);gotoxy(16,14);printf("Ajout d un enregistrement-----------------------[1]");
	textcolor(14);gotoxy(16,17);printf("Modification d un enregistrement----------------[2]");
	textcolor(14);gotoxy(16,20);printf("Supression d un enregistrement------------------[3]");
	textcolor(14);gotoxy(16,23);printf("Lister des Enregistrement-----------------------[4]");
	textcolor(14);gotoxy(16,26);printf("Sortire-----------------------------------------[5]");
	textcolor(14);gotoxy(16,29);printf("Donnez votre choix [1-5]: ");
	textcolor(14);gotoxy(43,29);int choix = getchar();
	choix = choix - '0';
	return choix;
}










void ajouterEtudiant(trec x[], int &nbFiche){
	system("cls");
	textcolor(14);gotoxy(20,15);printf("Nom: ");
	textcolor(14);gotoxy(29,15);scanf("%s", &x[nbFiche].nom);

	textcolor(14);gotoxy(20,17);printf("Prenom: ");
	textcolor(14);gotoxy(29,17);scanf("%s", &x[nbFiche].prenom);

	textcolor(14);gotoxy(20,19);printf("No_Ins: ");
	textcolor(14);gotoxy(29,19);scanf("%s", &x[nbFiche].no_ins);

	textcolor(14);gotoxy(20,21);printf("Age: ");
	textcolor(14);gotoxy(29,21);scanf("%d", &x[nbFiche].age);

	textcolor(14);gotoxy(20,23);printf("No_Rue: ");
	textcolor(14);gotoxy(29,23);scanf("%d", &x[nbFiche].no_rue);

	textcolor(14);gotoxy(20,25);printf("Rue: ");
	textcolor(14);gotoxy(29,25);scanf("%s", &x[nbFiche].rue);

	textcolor(14);gotoxy(20,27);printf("Code Postal: ");
	textcolor(14);gotoxy(32,27);scanf("%s", &x[nbFiche].code_postal);

	textcolor(14);gotoxy(20,29);printf("Ville: ");
	textcolor(14);gotoxy(29,29);scanf("%s", &x[nbFiche].ville);

	textcolor(14);gotoxy(20,31);printf("No_Tel: ");
	textcolor(14);gotoxy(29,31);scanf("%s", &x[nbFiche].no_tel);
	nbFiche++;
}





int chercherEtudiant(trec x[], int nbFiche, char nom_cherch[40])
{
	int i = 0;
	for(int i = 0;i<nbFiche;i++){
		if(!strcmp(x[i].nom, nom_cherch)){
			return i;
		}
	}
	return -1;
}







void modifierEtudiant(trec x[], int nbFiche)
{
	system("cls");
	printf("Nom: ");
	char nom_modif[30];int i;
	scanf("%s", &nom_modif);
	i = chercherEtudiant(x, nbFiche, nom_modif);
	if(i != -1)ajouterEtudiant(x, i);
}






void supprimerEtudiant(trec x[], int &nbFiche)
{
	system("cls");
	printf("Nom: ");
	char nom_suppr[30];int a;
	scanf("%s", &nom_suppr);
    a = chercherEtudiant(x, nbFiche, nom_suppr);
	for(int i = a;i<nbFiche;i++){
		x[i] = x[i + 1];
	}
	nbFiche--;
}






void afficherEtudiant(trec etudiant)
{
	system("cls");
	textcolor(15);gotoxy(20,18);printf("Nom: %s\n", etudiant.nom);
	textcolor(15);gotoxy(20,20);printf("Prenom: %s\n", etudiant.prenom);
	textcolor(15);gotoxy(20,22);printf("No_Ins: %s\n", etudiant.no_ins);
	textcolor(15);gotoxy(20,24);printf("Age: %d\n", etudiant.age);
	textcolor(15);gotoxy(20,26);printf("No_Rue: %d\n", etudiant.no_rue);
	textcolor(15);gotoxy(20,28);printf("Rue: %s\n", etudiant.rue);
	textcolor(15);gotoxy(20,30);printf("Code Postal: %s\n", etudiant.code_postal);
	textcolor(15);gotoxy(20,32);printf("ville: %s\n", etudiant.ville);
	textcolor(15);gotoxy(20,34);printf("Tel: %s\n", etudiant.no_tel);
	textcolor(15);gotoxy(20,36);textcolor(15);printf("\tAppuyer sur F1 pour revenir au menu principal\n");
	textcolor(15);gotoxy(20,38);textcolor(14);printf("\t Appuyer sur ->: suivant  ou  <-: precedebt\n");
}




void lister(trec x[], int nbFiche)
{
	int m = 0;
	char c = 0;
	if(nbFiche > 0){
		do{
			c = getch();
			if(c == 77)m++;
			if(c == 75)m--;
			if(m < 0)m = 0;
			else if(m >= nbFiche) m= nbFiche - 1;
			afficherEtudiant(x[m]);
		}while(c != 59);
	}
	else {
		system("cls");
		printf("Liste Vide");
		getch();
	}
}



int chargement(trec tab[], const char* filename)
{
  FILE* ptr = fopen(filename, "rb");
  if (!ptr)
    return 0;
  fread(tab, sizeof(trec), nbFiche, ptr);

  fclose(ptr);
  return 1;
}


int sauvegarde(trec tab[], const char* filename)
{
  FILE* help = fopen(filename, "wb");
  if (!help)
    return 0;

  fwrite(tab, sizeof(trec), nbFiche, help);


  fclose(help);
  return 1;
}


int main()
{
	trec x[100];

	int choix;




	do{ //dessiner_Cadre_principale(7,9,66,27);
		choix = menu();
		switch(choix){
			case 1:
				ajouterEtudiant(x, nbFiche);sauvegarde(x,"etudiant.txt");
				break;
			case 2:
				modifierEtudiant(x, nbFiche);
				break;
			case 3:
				supprimerEtudiant(x, nbFiche);
				break;
			case 4:
				chargement(x,"etudian.txt");lister(x, nbFiche);
				break;
		}
	}while(choix != 5);
	sauvegarde(x,"etudiant.txt");
	getch ();
	return 0;


}
A voir également:

1 réponse

juventino110 Messages postés 134 Statut Membre 2
 
l'erreur né pa specifier !! desolé
0