Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    ecco, questo potrebbe essere un modo....
    come dire però di riscrivere solo quelle che ho elencato prima?

  2. #12
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Originariamente inviato da moritzplatz
    nel caso specifico devo eliminarle tutte tranne le:
    1,4,8,9,14,15,16,17!
    quindi non dovrei dover dare dei criteri....
    Veramente è questo il criterio.
    Potresti risolvere con qualcosa del tipo:
    codice:
    	int counterLine(1);
            string what="";
    	while(getline(in,what)){
                    if (counterLine == 1) {
    		    cout<<what<<endl;
                    } else if (counterLine == 4) {
    		    cout<<what<<endl;
                    } else if ( etc.. ) {}
                    counterLine++;
    	}
    Oppure:
    codice:
    	int counterLine(0);
            string what="";
    	while(getline(in,what)){
                    switch (counterLine) {
                         case 1:
                         case 4:
                         case 8:
                         ... 
                         case 17:
                   		    cout<<what<<endl;
                         break;       
                    }
                    counterLine++;
    	}

  3. #13
    grazie

    ora compare solo la parte dove ci sono i dati utili....
    la posso salvare in un altro file?

    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    #include "giocatore.h"
    using namespace std;
    
    int main() {
    	fstream in("file.txt");
    	if(in.is_open()){
    		cout<<"";
    	}
    	else{
    		cerr<<"error opening file";
    		return -1;
    	}
    	int counterLine(1);
            string what="";
    	while(getline(in,what)){
                    if (counterLine == 1) {
    		    cout<<what<<endl;
                    } else if (counterLine == 4) {
    		    cout<<what<<endl;
                    } else if ( counterLine==8) {
                        cout<<what<<endl;
                    } else if (counterLine == 9) {
    		    cout<<what<<endl;
                    } else if ( counterLine==14) {
                        cout<<what<<endl;
                    } else if (counterLine == 15) {
    		    cout<<what<<endl;
                    } else if ( counterLine==16) {
                        cout<<what<<endl;
                    } else if (counterLine == 17) {
    		    cout<<what<<endl;
                    }
    
                counterLine++;
    	}
    	}
    siamo un pezzo avanti!
    ora bisogna riempire la classe....
    in pratica devo solo scrivere il costruttore!

  4. #14
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Basta aprire uno stream di scrittura e salvare la linea modificata (se ti interessa solo quella).
    Se vuoi salvare anche tutte le linee non modificate, basta decommentare la linea finale.
    Questo in linea di principio. Le ottimizzazioni le lascio a te
    codice:
            ofstream ofs("filemodificato.txt")
    	while(getline(in,what)){
                    if (counterLine == 1) {
                        // modifico la linea
    		    ofs<<what<<endl;
                    } else if (counterLine == 4) {
    		    ofs<<what<<endl;
                    } else if ( counterLine==8) {
                        ofs<<what<<endl;
                    } else if (counterLine == 9) {
    		    ofs<<what<<endl;
                    } else if ( counterLine==14) {
                        ofs<<what<<endl;
                    } else if (counterLine == 15) {
    		    ofs<<what<<endl;
                    } else if ( counterLine==16) {
                        ofs<<what<<endl;
                    } else if (counterLine == 17) {
    		    ofs<<what<<endl;
                    }
         	    // ofs<<what<<endl;
    
                counterLine++;
    	}
    }

  5. #15
    ok grazie mille!

    ora come faccio a dirgi di prendere la parola dopo, ad esempio, "difesa" che sarà "buono" e dirgli di leggerla come fosse un 7?

  6. #16
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Cioè trasformare Cross: scarso Difesa: buono in Cross: scarso Difesa: 7?
    Qui ci sono esempi su come fare.
    http://www.cplusplus.com/reference/s...ring/find.html

  7. #17
    in realtà non è necessario trasformarlo.....
    io vorrei che, quando vede che dopo la parola difesa: c'è buono in una variabile int chiamata difesa lui ci metta 7!

  8. #18
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Sempre con la funzione find di std::string.
    codice:
    string str ="Cross: scarso Difesa: buono";
    int buono(0);
    if (str.find("Difesa:") != string::npos) {
       if (str.find("buono") != string::npos) {
           buono = 7;
       }
    }
    e via di seguito.

  9. #19
    grazie mille!
    ora vedrò di scriverlo tutto!
    grazie e ancora auguri!

  10. #20
    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <sstream>
    #include <map>
    using namespace std;
    
    int main() {
    	fstream in("file.txt");
    	if(in.is_open()){
    		cout<<"";
    	}
    	else{
    		cerr<<"error opening file";
    		exit(-1);
    	}
    
    
     map<string,int> scalaValori;
    scalaValori["inesistente"]   =  0;
    scalaValori["disastroso"]    =  1;
    scalaValori["tremendo"]      =  2;
    scalaValori["scarso"]        =  3;
    scalaValori["debole"]        =  4;
    scalaValori["insufficiente"] =  5;
    scalaValori["accettabile"]   =  6;
    scalaValori["buono"]         =  7;
    scalaValori["eccellente"]    =  8;
    scalaValori["formidabile"]   =  9;
    scalaValori["straordinario"] = 10;
    scalaValori["splendido"]     = 11;
    scalaValori["magnifico"]     = 12;
    scalaValori["fuoriclasse"]   = 13;
    scalaValori["sovrannaturale"]= 14;
    scalaValori["titanico"]      = 15;
    scalaValori["extraterrestre"]= 16;
    scalaValori["mitico"]        = 17;
    scalaValori["magico"]        = 18;
    scalaValori["utopico"]       = 19;
    scalaValori["divino"]        = 20;
    	string buffer;
            int id;
            int TSI;
            int STIPENDIO;
            int percentuale;
            int valoreInteroTsi;
            int valoreInteroStipendio;
            int intcross;
            int intregia;
            int intforma;
            int intresistenza;
            int intparate;
            int intpassaggi;
            int intdifesa;
            int intattacco;
            int intcalcipiazzati;
            string nome;
            string cognome;
            string forma;
            string resistenza;
            string parate;
            string tsi;
            string stipendio;
            string regia;
            string passaggi;
            string cross;
            string difesa;
            string attacco;
            string calcipiazzati;
            size_t trovato;
            size_t trovato1;
    
           getline(in, nome, ' '); //legge il nome
           getline(in, cognome, ' '); //legge il cognome
           getline(in, buffer, '('); //salta fino alla '('
           in >> id; //legge l'id
           getline(in,buffer,' ');//ignora la seconda riga
           getline(in,buffer);//ignora la terza riga
           getline(in,forma,' ');//legge la forma
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,resistenza,' ');//legge la resistenza
           getline(in,buffer);
           getline(in,buffer);    //ignoro tre righe
           getline(in,buffer);
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,buffer,':');
           getline(in,tsi);
           tsi.erase(0,1);
           trovato=tsi.find_first_of(' ');
           tsi = tsi.erase(trovato,1);
           istringstream temp(tsi);
           temp >> valoreInteroTsi;
           getline(in,buffer,' ');
           getline(in,stipendio,'€');
           stipendio.erase(0,1);
           trovato1=stipendio.find_first_of(' ');
           stipendio= stipendio.erase(trovato1,1);
           istringstream temp1(stipendio);
           temp1 >> valoreInteroStipendio;
           getline(in,buffer,'o');
           in >> percentuale;
           getline(in,buffer);
           getline(in,buffer);
           getline(in,buffer);
           getline(in,buffer);
           getline(in,buffer);
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,parate);
           parate=parate.erase(0,1);
           getline(in,buffer,' ');
           getline(in,regia,' ');
           regia=regia.erase(0,1);
           getline(in,buffer,' ');
           getline(in,passaggi);
           passaggi= passaggi.erase(0,1);
           getline(in,buffer,' ');
           getline(in,cross,' ');
           cross = cross.erase(0,1);
           getline(in,buffer,' ');
           getline(in,difesa);
           difesa = difesa.erase(0,1);
           getline(in,buffer,' ');
           getline(in,attacco,' ');
           attacco=attacco.erase(0,1);
           getline(in,buffer,' ');
           getline(in,buffer,' ');
           getline(in,calcipiazzati);
           calcipiazzati=calcipiazzati.erase(0,1);
           forma=forma.erase(0,1);
           resistenza=resistenza.erase(0,0);
           intcross=scalaValori[cross];
           intdifesa=scalaValori[difesa];
           intattacco=scalaValori[cross];
           intcalcipiazzati=scalaValori[calcipiazzati];
           intforma=scalaValori[forma];
           intresistenza=scalaValori[resistenza];
           intparate=scalaValori[parate];
           intpassaggi=scalaValori[passaggi];
           intregia=scalaValori[regia];
           cout<<nome<<endl;
           cout<<cognome<<endl;
           cout<<id<<endl;
           cout<<"Forma: "<<forma<<endl;
           cout<<"Resistenza: "<<resistenza<<endl;
           cout<<"Tsi: "<<valoreInteroTsi<<endl;
           cout<<"Stipendio: "<<stipendio;
           if (percentuale == 20) cout<<" incluso bonus"<<endl; //c'è o no il bonus??
           else cout<<endl;
           cout<<"Parate: "<<parate<<endl;
           cout<<"Regia: "<<regia<<endl;
           cout<<"Passaggi: "<<passaggi<<endl;
           cout<<"Cross: "<<cross<<endl;
           cout<<"Difesa: "<<difesa<<endl;
           cout<<"Attacco: "<<attacco<<endl;
           cout<<"Calci Piazzati: "<<calcipiazzati<<endl;
    
    
    
    
    }

    il programma è arrivato a buon punto!!

    ho variabili int per tutte le skill e l'id e stringhe per il nome e il cognome!
    ora vorrei fare una classe giocatore...

    qualche idea?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.