DeePqcK Posté(e) le 17 mai 2010 Partager Posté(e) le 17 mai 2010 Bonjour a tous. Je suis actuellement en train d'apprendre le C, et je désire me faire un petit repertoire en C, histoire d'avoir une copie de mes contact autre que sur mon téléphone ... Je bloque malheureusement ... Je suis débutant, merci de votre indulgence !! Voici mon code .. #include <stdio.h> #include <stdlib.h> #include "ajouter_un_contact.h" int main() { personne information = {"","","",0,0}; int choixMenu; printf ("Que voulez vous faire?\n\n"); printf ("1. Ajouter un nouveau contact\n\n"); printf ("2. Consulter les donnees des contacts\n\n"); printf ("3. Rechercher un contact\n\n"); printf ("4. Fermer le programme\n\n"); printf ("\nVotre Choix\n"); scanf ("%d" , &choixMenu); printf ("\n"); while (choixMenu > 4) { printf ("Le choix est incorrect\n"); scanf ("%d" , &choixMenu); break; } switch (choixMenu) { case 1: printf ("Vous avez choisi d'ajouter un contact.\n\n"); FILE* fichier = NULL; // Va creer le fichier contenant les contacts. // Je cree le fichier contact.txt, creer le dossier avant !!!!! // a+ pour creer le fichier pourvoir lire/ecrire, ecrire en ajout en partant de la fin ! fichier = fopen("Contact/contact.txt" , "a+"); if (fichier != NULL) // != different de { printf("Quel est votre nom? \n"); gets(information.nom); gets(information.nom); printf("Quel est votre prenom? \n"); gets(information.prenom); printf("Quel est votre numero de voie? \n"); scanf("%d" , &information.voie); printf("Quel est le nom de votre rue, avenue ?\nEx: rue Colbert , Avenue Fosh\n"); gets(information.rue); gets(information.rue); printf("Quel est le nom de votre ville? \n"); gets(information.ville); printf("Quel est votre code postal? Ex: 83470\n"); scanf("%d" , &information.code); printf("Quel est votre sexe\nM = Masculin; F = Feminin \n"); gets(information.sexe); gets(information.sexe); printf("Quel est votre age? \n"); scanf("%d" , &information.age); printf("Quel est votre numero de telephone? \nEx: 0601020304\n"); scanf("%s" , &information.telephone); printf("Quel est votre adresse mail?\nEx : Monadresse@orange.fr \n"); scanf("%s" , &information.mail); // on ecrit dans le fichier contact les informations. fprintf(fichier , "Nom : %s\nPrenom : %s\nAdresse : %d %s\nVille : %s \nCode Postal : %d \nSexe : %s \nAge : %d ans\nTelephone %s\nMail: %s\n\n" , information.nom , information.prenom , information.voie , information.rue , information.ville , information.code , information.sexe , information.age , information.telephone , information.mail); fclose(fichier); // on ferme le fichier test.txt en tous les cas ! C'est une obligation. } printf("Le contact a ete ajoute avec succes"); // ICI JE VOUDRAIS DONNER LE CHOIX DE RETOURNE AU MENU PRINCIPAL OU DE QUITTER break; case 2: printf ("Vous avez choisi de consulter les contacts."); break; case 3: printf ("Vous avez choisi de rechercher un contact."); break; case 4: printf ("Vous avez choisi de fermer le programme."); exit(0); break; default: printf ("Votre choix est incorrect"); break; } printf ("\n\n"); return 0; } Voila ... Pour certain cela va parraitre dérisoire à faire ... pour moi c'est un vrai casse tête ... Merci d'avance pour votre aide .. Lien vers le commentaire Partager sur d’autres sites More sharing options...
DeePqcK Posté(e) le 17 mai 2010 Auteur Partager Posté(e) le 17 mai 2010 Bonsoir à tous, Grâce à un ami j'ai pu comprendre comment faire, je vous poste le code. #include <stdio.h> #include <stdlib.h> #include "ajouter_un_contact.h" int main() { personne information = {"","","",0,0}; int choixMenu; do // lance une fois la boucle, et la relance tant que la valeur n'est pas = 5 { printf ("Que voulez vous faire?\n\n"); printf ("1. Ajouter un nouveau contact\n\n"); printf ("2. Consulter les donnees des contacts\n\n"); printf ("3. Rechercher un contact\n\n"); printf ("4. Fermer le programme\n\n"); printf ("\nVotre Choix\n"); scanf ("%d" , &choixMenu); printf ("\n"); switch (choixMenu) { case 1: printf ("Vous avez choisi d'ajouter un contact.\n\n"); FILE* fichier = NULL; // Va creer le fichier contenant les contacts. // Je cree le fichier contact.txt, creer le dossier avant !!!!! // a+ pour creer le fichier pourvoir lire/ecrire, ecrire en ajout en partant de la fin ! fichier = fopen("Contact/contact.txt" , "a+"); if (fichier != NULL) // != different de { printf("Quel est votre nom? \n"); gets(information.nom); gets(information.nom); printf("Quel est votre prenom? \n"); gets(information.prenom); printf("Quel est votre numero de voie? \n"); scanf("%d" , &information.voie); printf("Quel est le nom de votre rue, avenue ?\nEx: rue Colbert , Avenue Fosh\n"); gets(information.rue); gets(information.rue); printf("Quel est le nom de votre ville? \n"); gets(information.ville); printf("Quel est votre code postal? Ex: 83470\n"); scanf("%d" , &information.code); printf("Quel est votre sexe\nM = Masculin; F = Feminin \n"); gets(information.sexe); gets(information.sexe); printf("Quel est votre age? \n"); scanf("%d" , &information.age); printf("Quel est votre numero de telephone? \nEx: 0601020304\n"); scanf("%s" , &information.telephone); printf("Quel est votre adresse mail?\nEx : Monadresse@orange.fr \n"); scanf("%s" , &information.mail); // on ecrit dans le fichier contact les informations. fprintf(fichier , "Nom : %s\nPrenom : %s\nAdresse : %d %s\nVille : %s \nCode Postal : %d \nSexe : %s \nAge : %d ans\nTelephone %s\nMail: %s\n\n" , information.nom , information.prenom , information.voie , information.rue , information.ville , information.code , information.sexe , information.age , information.telephone , information.mail); fclose(fichier); // on ferme le fichier test.txt en tous les cas ! C'est une obligation. } printf("Le contact a ete ajoute avec succes\n\n"); break; case 2: printf ("Vous avez choisi de consulter les contacts."); break; case 3: printf ("Vous avez choisi de rechercher un contact."); break; case 4: printf ("Vous avez choisi de fermer le programme."); exit(0); break; default: printf ("Votre choix est incorrect"); break; } printf ("\n\n"); } while(choixMenu != 4); // Reviens au "do" et ralance la boucle, le programme ce fermera alors si la valeur est = 5 system("pause"); // Empeche la fenêtre DOS de ce fermer return 0; } Le changement concret qui permet de réaliser ce que je voulais faire, et le do { au début et le while(choixMenu != 4) ; Je garde le post ouvert au cas ou j'ai besoin d'une aide a venir ce qui est fortement possible. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cedrix Posté(e) le 5 juillet 2010 Partager Posté(e) le 5 juillet 2010 Bonsoir à tous,Grâce à un ami j'ai pu comprendre comment faire, je vous poste le code. #include <stdio.h> #include <stdlib.h> #include "ajouter_un_contact.h" int main() { personne information = {"","","",0,0}; int choixMenu; do // lance une fois la boucle, et la relance tant que la valeur n'est pas = 5 { printf ("Que voulez vous faire?\n\n"); printf ("1. Ajouter un nouveau contact\n\n"); printf ("2. Consulter les donnees des contacts\n\n"); printf ("3. Rechercher un contact\n\n"); printf ("4. Fermer le programme\n\n"); printf ("\nVotre Choix\n"); scanf ("%d" , &choixMenu); printf ("\n"); switch (choixMenu) { case 1: printf ("Vous avez choisi d'ajouter un contact.\n\n"); FILE* fichier = NULL; // Va creer le fichier contenant les contacts. // Je cree le fichier contact.txt, creer le dossier avant !!!!! // a+ pour creer le fichier pourvoir lire/ecrire, ecrire en ajout en partant de la fin ! fichier = fopen("Contact/contact.txt" , "a+"); if (fichier != NULL) // != different de { printf("Quel est votre nom? \n"); gets(information.nom); gets(information.nom); printf("Quel est votre prenom? \n"); gets(information.prenom); printf("Quel est votre numero de voie? \n"); scanf("%d" , &information.voie); printf("Quel est le nom de votre rue, avenue ?\nEx: rue Colbert , Avenue Fosh\n"); gets(information.rue); gets(information.rue); printf("Quel est le nom de votre ville? \n"); gets(information.ville); printf("Quel est votre code postal? Ex: 83470\n"); scanf("%d" , &information.code); printf("Quel est votre sexe\nM = Masculin; F = Feminin \n"); gets(information.sexe); gets(information.sexe); printf("Quel est votre age? \n"); scanf("%d" , &information.age); printf("Quel est votre numero de telephone? \nEx: 0601020304\n"); scanf("%s" , &information.telephone); printf("Quel est votre adresse mail?\nEx : Monadresse@orange.fr \n"); scanf("%s" , &information.mail); // on ecrit dans le fichier contact les informations. fprintf(fichier , "Nom : %s\nPrenom : %s\nAdresse : %d %s\nVille : %s \nCode Postal : %d \nSexe : %s \nAge : %d ans\nTelephone %s\nMail: %s\n\n" , information.nom , information.prenom , information.voie , information.rue , information.ville , information.code , information.sexe , information.age , information.telephone , information.mail); fclose(fichier); // on ferme le fichier test.txt en tous les cas ! C'est une obligation. } printf("Le contact a ete ajoute avec succes\n\n"); break; case 2: printf ("Vous avez choisi de consulter les contacts."); break; case 3: printf ("Vous avez choisi de rechercher un contact."); break; case 4: printf ("Vous avez choisi de fermer le programme."); exit(0); break; default: printf ("Votre choix est incorrect"); break; } printf ("\n\n"); } while(choixMenu != 4); // Reviens au "do" et ralance la boucle, le programme ce fermera alors si la valeur est = 5 system("pause"); // Empeche la fenêtre DOS de ce fermer return 0; } Le changement concret qui permet de réaliser ce que je voulais faire, et le do { au début et le while(choixMenu != 4) ; Je garde le post ouvert au cas ou j'ai besoin d'une aide a venir ce qui est fortement possible. Sinon, tu fais une "simple" méthode "AfficherMenu(void)" et tu l'appelles au moment voulu. ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.