bonjours, voila j'ai un exercice sur lequel je bloque depuis hiere matin,
je dois dans la finalité crée un traducteur de chiffre arabe romains romains arabe:
dans la premiere question il faut faire un programme qui test la saisie , et qui voit si , la saisie et en chiffre arabe , ou romaine, et renvoie une erreur dans tout les autre cas:
j'ai un pas d'érreur a la compilation mais le programme plante à l'exec, je pense que l'érreur ce fait au niveau du while le reste est normalement fonctionnel:
- include <cini.h>
int main(){
int j=1;
int i=1;
int r=0;
int a=0;
char romain[]= {'I', 'V', 'X', 'L', 'C', 'D', 'M', '\0'};
char arabe[]= {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '\0'};
char* saisie;
int recherche_arabe(char tab_langue[], int x,char tab_saisie[], int j){
if(tab_langue[x]!='\0'){
return 1;
}
else{
if(tab_langue[x]==tab_saisie[j]){
return 0;
}
else{
return (recherche_arabe(tab_langue, x+1, tab_saisie, j));
}
}
}
int recherche_romain(char tab_langue[], int x,char tab_saisie[], int j){
if(tab_langue[x]!='\0'){
return 1;
}
else{
if(tab_langue[x]==tab_saisie[j]){
return 0;
}
else{
return (recherche_romain(tab_langue, x+1, tab_saisie, j));
}
}
}
scanf("%s",saisie);
while(saisie[j]!='\0'){
if(r==0){
if(recherche_romain(romain, i, saisie, j)!=0){
r=1;
}
}
if(a==0){
if(recherche_arabe(arabe, i, saisie, j)!=0){
a=1;
}
}
j++;
}
if(a==0){
printf("arabe->romain ");
printf("\n");
}
else{
if(r==0){
printf("romain->arabe ");
printf("\n");
}
else{
printf("erreur fatale de saisie ");
return -1;
}
}
return 0;
}