You are on page 1of 5

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

h> char adn[8]; int i,j;

void aff_base(void) { printf("\n les bases qui composent ce brin sont : \n"); for(i=0; i< strlen(adn)+1; i++) switch(adn[i]) { case 'A' : printf("\nAdenine");break; case 'T' : printf("\nThymine");break; case 'G' : printf("\nGuanine");break; case 'C' : printf("\nCytosine");break; } } char *compl_brin(void) { int x; char *comp; char inv[8]; x=strlen(adn); comp=(char*)malloc((x+1)*sizeof(char)); for(i=0; i<x; i++) {fflush(stdin); inv[i]=adn[x-1-i]; }

inv[x]='\0';

for(i=0; i<x; i++) { switch(inv[i]) { case 'A' : comp[i]='T';break; case 'T' : comp[i]='A';break; case 'G' : comp[i]='C';break; case 'C' : comp[i]='G';break; } } comp[x]='\0';

return(comp); } int *calcul(void) { int *p; p=(int*)malloc(4*sizeof(int)); for(i=0; i<4; i++) p[i]=0; for(i=0; i<strlen(adn); i++) switch(adn[i]) { case 'A' : p[0]++; break; case 'T' : p[1]++; break; case 'G' : p[2]++; break; case 'C' : p[3]++; break; } /* for(i=0; i<4; i++)

printf(" \np[%d]= %d ",i, p[i]);*/ return(p); }

int palindrome(void) { int i=0 , j,l, test=1; l=strlen(adn); j=l-1; for(i=0 ; i< l/2 ; i++) { if(adn[i]==adn[j]) j--; else { test=0; break; } } return test; }

int main() { int choix; int m, z; int *q; char y[8], rep; q=(int*)malloc(4*sizeof(int));

do { printf("\n entrer le brin adn desire : "); scanf("%s", adn); do{z=1;

printf(" \n\n\n-----Faites votre choix----------\n\n\n"); printf(" -1-\tAffichage de la liste des bases \n"); printf(" -2-\tBrin ADN complementaire\n"); printf(" -3-\tNombres des differentes bases du brin\n"); printf(" -4-\tTest du palindrome\n"); printf(" -0-\tQuitter\n"); printf("\n\n\t\t\t CHOIX : "); scanf("%d",&choix); switch(choix) { case 1 : aff_base(); break; case 2 : { strcpy(y,compl_brin());

printf("\nle brin complementaire de %s est : %s\n",adn, y); }break; case 3 : { q=calcul(); printf("\n\nDans le brin, il y a :\n\t\t%d adenine\n\t\t%d thymine",q[0],q[1]); printf("\n\t\t%d guamine\n\t\t%d cytosine\n",q[2],q[3]); }break; case 4 : { m= palindrome(); if (m==0) printf("\n\n ce brin : %s n est pas un palindrome.\n\n ", adn); else printf("\n\n ce brin : %s est un palindrome.\n\n ", adn); } break; case 0 : z=0; break; } }while(z!=0);

printf("\n\n voulez vous saisir un autre brin ? ( o/n) "); fflush(stdin); scanf("%c", &rep); }while(rep!='n'); getch(); return 0; }

You might also like