Eve et Adam en C

Résolu/Fermé
-
 sindal -
Bonjour tt le monde,
c'est la 1ere fois que je viens sur ce forum et vraiment je le trouve très enrichissant pour les gens comme moi qui ne comprennent rien à l'info et tt ce qu'a une relation avec .
Bon je commence à vous exposer mon probleme.
J'ai un projet C à faire et j'ai essayé de commencé ms je suis bloquée.
mon projet consiste à créer 2 individus Adam et Eve puis essayer de faire des Fontions Mariage, Naissance, Deces, Separation et Affichage. la fonction Naissance doit permettre à ces deux individus à donner naissance à nouveaux enfants. je vous montre ce que j'ai commencé à faire et c'est à vous de me remettre dans la bonne route.
Merci à vous et toute correction ou suggestion sera la bienvenue.
voici le fichier individu.h
#include <stdio.h>
#include <stdlib.h>
#ifndef INDIVIDU_H
#define INDIVIDU_H
#define taille 3

typedef struct Individu {
char nom[64];
char sexe;
//int age;
//char mariage;
//char separation;
//char dece;
//int enfant;
} Individu,*ptr_Individu;

void affiche_Individu(Individu *);
void init_Individu(Individu * ,char *, char );
void naissance();
void init_Individu(Individu * i, char *n, char s) {
strcpy(i->nom,n);
i->sexe = s;
}
char p[64];char m[64];char e[64];char s;
void affiche_Individu(Individu * i) {
printf("nom : c%s \tsexe : %c\n", i->nom, i->sexe);
}
void naissance (){
char sh[64];
Individu * tab[taille];
printf("nom pere ? ", sh);
scanf("%s",&sh);
//Individu *sh=deNomIndividu(p);
//tab Individu [2]->nomPere=pere;
if (!sh) {
printf("pas d’homme portant ce nom.") ;
return;
}
char sf[64];
printf("nom mere ? ", sf);
scanf("%s",&sf);
//Individu * mere = deNomIndividu(m);
if (!sf) {
printf("pas de femme portant ce nom.");
return;
void nomHasard(char * s){
int l = rand() % 3;
l = l+3;
char c[32];
int i;
for (i=0; i<1; i++) {
c[i] = 'a' + (rand() % 26);
}
c[l] = '\0';
printf("nomHasard: ",c);
strcpy(s, c);
} }

void mariage()
{
char mh[64];
printf("nom de mari ?",mh);
scanf("%s",&mh);
char mf[64];
printf("nom de mariee ?",mf);
scanf("%s",&mf);
printf("&mh et &mf sont mariees");
}

}
#endif

voici le fichier societe.c

#include "individu.h"
#include <string.h>
#include <stdio.h>

#define taille 3

int main() {
//printf("Entrer la taille de votre tableau", int taille)
//scanf("%
Individu * tab[taille];
char r;
printf(" A Affichage\n");
printf(" N Naissance\n");
printf(" D Deces\n");
printf(" M Mariage\n");
printf(" S Separation\n");
printf(" Q Quitter\n");
printf("Entrer votre choix:");
scanf("%c",&r);
switch(r) {
case 'N':
naissance();
break;
//case 'D':
// mort();
// break;
//case 'M':
// mariage();
// break;
//case 'S':
// separation();
// break;
//case 'A':
// affichage();
// break;
}
scanf("%c",&r);
return r;
}
//tab[0]=(Individu *)malloc(sizeof(Individu));
//tab[1]=(Individu *)malloc(sizeof(Individu));

//init_Individu(tab[0],"Eve",'F');
//init_Individu(tab[1],"Adam",'M');
//affiche_Individu(tab[0]);
//affiche_Individu(tab[1]);
//affiche_Individu( )

//system("pause");
//return(0);

j'etai pas sur de ce que je met en commentaire.

5 réponses

je suis enchanté par cet espace , reservé pour des amis merci.
merci pour votre accueil ms est ce possible de m'aider pour mon projet?
Bonjour

Je vois que tu as mis, la définition de tes fonctions dans individu.h, ça n'est pas interdit mais ça n'est pas fait pour ça. Il ne devrait y avoir que des déclarations (prototypes) de fonctions et des #define. Le code de la fonction devrait être dans individu.c.

taille est déja défini a 3 dans individu.h, tu n'as pas à le redéfinir dans societe.c (puisque individu.h est inclus dans societe.c)
merci le pere pour ces indications je vais les changer dans mon programme
je veux signaler que je ne peut pas utiliser les listes chainées car on l'a pas fait en cours et donc le prof ne veux pas qu'on l'utilise. du coup je dois utiliser que structure.
Merci à vous
j'espère que qqn s'interesse à mon problème please