Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void calcul_mole()
- {
- char *str = NULL;
- char *p=str;
- char characts[20]={'\0'};
- short i;
- float result=0, masse;
- const char buffer[50]={0};
- Bdisp_AllClr_DDVRAM();
- PrintMini(1,1,"Entrez votre formule : ",0);
- EI_init();
- EI_manage_config(EI_SET_COLUMN, 1);
- EI_manage_config(EI_SET_ROW, 3);
- EI_manage_config(EI_SET_START_MODE, EI_NORMAL);
- str=EI_input_string(13,(const char*)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
- while(*str) // on va jusqu'a la fin de la chaine
- {
- for(i=0;i<20;++i)
- characts[i]='\0';
- i=0;
- while(!isdigit(*str)) // on prends seulement les lettres
- {
- characts[i]=*str; // on copie la lettre dans characts
- ++i;
- str++;
- }
- characts[0]=toupper(characts[0]); // on met le 1er caractère en majuscule
- for (i = 1 ; characts[i] ; i++)
- {
- characts[i] = tolower(characts[i]); // on met certains caractères en minuscule pour la recherche
- }
- for(i=0;i<118;i++) // on se déplace dans les éléments de la structure
- {
- if(!strcmp(characts,elements[i].symbol))
- {
- masse=elements[i].masse_mol; // on a notre masse molaire
- break;
- }
- }
- for(i=0;i<4;++i)
- characts[i]='\0';
- i=0;
- while(isdigit(*str)) // on prends seulement les chiffres
- {
- characts[i]=*str; // on copie la lettre dans characts
- ++i;
- str++;
- }
- result += atoi(characts)*masse;
- }
- free(p);
- sprintf(buffer,"masse molaire %.3f g/mol",result);
- PrintMini(1,40,buffer,0);
- GetKey(&key);
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment