Ce l'ho fatta.Adesso c'è un altro problema, inserendo il pezzo che stampa la riga, essendo che il mio programma dovrebbe essere un convertitore da basi dell'RNA a corrispondenti amminoacidi, lo fa solo una volta, quando se per esempio inserisco UCACAU, lui dovrebbe dividerlo in UCA e CAU e dirmi i corrispondenti.QUesto procedimento lo effettua solo una volta, dopo di che si ferma.Riport il codice qui di seguito:
#include<iostream>
#include<fstream>
#include <string>
#include <cstring>
using namespace std;
ifstream FileSearch;
main(void){
string DNA ;
cout << " Inserisci sequenza di DNA: " ;
cin >> DNA ;
int LENGTHDNA;
LENGTHDNA=DNA.length();
string RNA ;
string COMPLEMENTARYDNA;
for( size_t i = 0 ; i < DNA.size() ; ++i )
{
switch( DNA[i] )
{
case 'A' : RNA += 'U' ;COMPLEMENTARYDNA+='T';break ;
case 'G' : RNA += 'C' ;COMPLEMENTARYDNA+='C';break ;
case 'C' : RNA += 'G' ;COMPLEMENTARYDNA+='G';break ;
case 'T' : RNA += 'A' ;COMPLEMENTARYDNA+='A';break ;
default : cerr << "Errore in input " << DNA[i] << '\n' ;
}
}
cout<<"DNA: "<<DNA<<"\n\n\n"<<"RNA: "<<RNA<<"\n\n\n"<<"DNA COMPLEMENTARE: "<<COMPLEMENTARYDNA<<"\n\n\n";
for(int j=0;j<RNA.length()/3;j++){
j=j*3;
string letters=RNA.substr(j,3),line;
FileSearch.open("Corr Cod-Amm.txt");
if(FileSearch.is_open())
{
while (getline(FileSearch, line)) {
if (line.find(letters)!=string::npos) {
cout << line << endl;
}
}
}
}
}


Rispondi quotando