Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 09-06-2017, 21:58   #1
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
[C] Come estrarre dati da file.txt con stringhe separate dal carattere + ("più") ?

Sono disperato! Sto svolgendo questo esercizio in C e devo prelevare i dati, come nell'esempio che vedete, ma vi è quel + in mezzo ai piedi. Avevo pensato ad una fscanf o carattere per carattere, ma non sono come fare. Qualcuno potrebbe farmi un esempio basato sull'esercizio che vi ho postato? Le funzioni le dovrei saper svolgere, il mio problema è prelevare correttamente i dati e salvarli nella struttura dati (LISTA).

Ecco l'esercizio: https://www.dropbox.com/s/8gjtdxm6fb...cizio.jpg?dl=0

P.S. Sono veramente disperato e ringrazio di cuore chiunque mi possa dare una mano, grazie!
Disperato7 è offline  
Old 10-06-2017, 08:06   #2
gianmpu
Senior Member
 
Iscritto dal: Oct 2010
Messaggi: 1609
Ciao e benvenuto nel forum di hwupgrade.
Come ti spiegheranno anche altri, da regolamento è vietato risolvere completamente gli esercizi dati ad altri.
Al massimo si può correggere quello che hai già scritto tu.
Comunque, se il tuo problema è la lettura dal file skippando il +, la prima cosa che mi viene in mente è un semplice ciclo del tipo
Codice:
do
{
   leggo un carattere dal file
   IF carattere <> + lo aggiungo ad una stringa
}
while carattere <> +
__________________
Trattative nel mercatino: IronHead - fybpeppe - xcavax
Utenti assolutamente DA EVITARE: devilred
"Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian
gianmpu è offline  
Old 10-06-2017, 20:44   #3
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Studiando online ho trovato la funzione strtok che mi spezzetta le stringhe dai + (più).
Adesso devo acquisire dal file "liste.txt" i dati e faccio così
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 30
#define MAX_LINE 512

struct candidato {
       char cognome [MAX];
       char nome[MAX];
       char partito[MAX];
       int voti;   
       struct candidato *pun;       };
                    
                         

int main(int argc, char *argv[])
{
    int scelta,i,j,n,righe,uscita; char buff[900]; int elettori; char k;
    struct candidato*candidati; struct fittizia*buf; int*p;
    FILE *fp;
    fp=fopen("liste.txt", "r");if(fp==NULL){            //uscita con exit() segnalando al s.o. con exit(1) che è avvenuto un errore
    printf("\n\nsi e' verificato un errore relativo al file----errore---clicca un pulsante per uscire");
    scanf("%d", &uscita);
    exit(1);}
    
       
    
    
    

    char buffer[MAX_LINE];
    for (n = 1; fgets(buffer, MAX_LINE, fp); n++) {
        printf("Linea %d => %s", n, buffer);

        char *str = strtok(buffer, "+");
        do {
            printf ("%s\n", str);
        } while (str = strtok(NULL, "+"));
    }
Come faccio ad inserire il tutto nella lista struct candidato? Grazie a chiunque mi aiuti
Disperato7 è offline  
Old 12-06-2017, 09:04   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
A questo punto il problema non è più come splittare una stringa per il carattere '+', ma studiare come funziona lo scope delle variabili, l'allocazione di memoria del C e la gestione delle liste.
Una volta studiati questi 3 elementi è banale risolvere l'esercizio.
tomminno è offline  
Old 13-06-2017, 12:14   #5
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
A questo punto il problema non è più come splittare una stringa per il carattere '+', ma studiare come funziona lo scope delle variabili, l'allocazione di memoria del C e la gestione delle liste.
Una volta studiati questi 3 elementi è banale risolvere l'esercizio.
Ho studiato quanto tu dici, ma ho difficoltà ad applicarlo. Visto che dici che è così banale potresti farmi un esempio su questo esercizio? Grazie.
Disperato7 è offline  
Old 13-06-2017, 14:33   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Ho studiato quanto tu dici, ma ho difficoltà ad applicarlo. Visto che dici che è così banale potresti farmi un esempio su questo esercizio? Grazie.
Quindi visto che sai come si alloca la memoria in C devi:
1)allocare il primo elemento della lista.
2)copiare le stringhe lette in input sulle relative variabili della struct
3)Allocare il secondo elemento della lista
4)copiare le stringhe ...
...

Quindi rispondi a queste domande:
1)Come alloco il primo elemento della lista?
2)come faccio la copia di una stringa in C?

E' tutto quello che ti serve per risolvere l'esercizio, se veramente l'hai studiato è semplice.
tomminno è offline  
Old 13-06-2017, 17:47   #7
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Guarda ti invio il codice per l'inserimento ordinato di un intero in una lista
Codice:
struct elemento *inserimento(struct elemento *p)
{
struct elemento *p0, *p1;
int posizione;
/* Creazione elemento */
p0 = (struct elemento *)malloc(sizeof(struct elemento));
printf("\nInserire l'informazione (un numero intero): ");
scanf("%d", &p0->inf);
if(p==NULL) { /* se la lista è vuota, l'elemento */
p = p0; /* diventa il primo e unico della lista */
p->pun = NULL;
}
else {
if(p->inf > p0->inf) { /* se il valore dell'elemento è */
p0->pun = p; /* inferiore al primo l'elemento */
p = p0; /* diventa il primo della lista */
}
else { /* ricerca della posizione di inserimento */
p1 = p;
posizione = 0;
while(p1->pun!=NULL && posizione!=1) {
if(p1->pun->inf < p0->inf)
p1 = p1->pun; /* scorre in avanti p1 */
else
posizione = 1; /* interrompe lo scorrimento */
}
p0->pun = p1->pun; /* connessione all'elemento successivo */
p1->pun = p0; /* connessione dall'elemento precedente */
}
}
return(p); /* ritorno del puntatore all'inizio della lista */
}
Ed infine ti dico che copiare una stringa lo si fa con strcpy che si trova in string.h
Ma non so andare avanti perchè se hai visto l'esercizio, poi mi perdo quando devo scansionare tutta la lista alla ricerca dei voti o dei partiti da conteggiare per le funzioni da creare per l'esercizio. Come devo fare?
Disperato7 è offline  
Old 13-06-2017, 21:01   #8
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Risolvi un problema alla volta, prima costruisci la lista e solo poi vedremo il problema della ricerca.

Quel codice di inserimento in lista non è sufficientemente generico da essere applicato senza modifiche al tuo caso.

Scrivi del codice attinente al tuo esercizio invece di copiare pezzi di codice a caso
tomminno è offline  
Old 15-06-2017, 15:17   #9
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Ma una curiosità? Ma voi vi divertite a perculare chi vi chiede un cavolo di aiuto? Perchè ho notato che nei forum, preferiscono tirarla per le lunghe o insultare come hai fatto tu con il "Codice a caso" o con il classico tono "Io sono Bill Gates, quindi ti tratterò come una scimmia".
Un piffero di aiuto cercavo ed invece sempre che il brodo si allunga e mi devo sorbire pure gli insulti.
Disperato7 è offline  
Old 15-06-2017, 16:13   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Ma una curiosità? Ma voi vi divertite a perculare chi vi chiede un cavolo di aiuto? Perchè ho notato che nei forum, preferiscono tirarla per le lunghe o insultare come hai fatto tu con il "Codice a caso" o con il classico tono "Io sono Bill Gates, quindi ti tratterò come una scimmia".
Un piffero di aiuto cercavo ed invece sempre che il brodo si allunga e mi devo sorbire pure gli insulti.
Non è perculare, ti stavo guidando nella risoluzione dell'esercizio. Ti ho illustrato l'algoritmo da applicare per risolverlo, dato che hai dichiarato tu stesso di aver studiato tutti gli argomenti necessari a risolverlo.
Invece rispondi con un pezzo di codice copiato da qualche altro esercizio che non è applicabile al caso in questione. Potevi almeno fare uno sforzo e modificarlo in modo che facesse un inserimento in una lista di "candidato" invece che di "elemento"

In realtà pare proprio che tu non abbia studiato granchè e qui gli esercizi non si risolvono come da regolamento.
tomminno è offline  
Old 15-06-2017, 19:47   #11
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
no, tu cercavi qualcuno che ti risolvesse l'esercizio e ti desse il codice con cui fare copia e incolla. e' gia' tanto che qualcuno ti abbia risposto dato che questo non e' un help desk, non e' CEPU, non e' grandi scuole, non e' qualcuno che ti faccia ripetizioni a gratis.

se sei cosi' disperato apri il libro e studia.
Vaffancetera ho studiato una dozzina di manuali, ma affrontano tutto con array o cretinate simili, fenomeno quindi prima di parlare aziona il cervello!
Disperato7 è offline  
Old 15-06-2017, 19:49   #12
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Non è perculare, ti stavo guidando nella risoluzione dell'esercizio. Ti ho illustrato l'algoritmo da applicare per risolverlo, dato che hai dichiarato tu stesso di aver studiato tutti gli argomenti necessari a risolverlo.
Invece rispondi con un pezzo di codice copiato da qualche altro esercizio che non è applicabile al caso in questione. Potevi almeno fare uno sforzo e modificarlo in modo che facesse un inserimento in una lista di "candidato" invece che di "elemento"

In realtà pare proprio che tu non abbia studiato granchè e qui gli esercizi non si risolvono come da regolamento.
Algoritmo?
A voce pure io lo so dire cosa devo fare, e l'avrei saputo dire anche senza studiare il C o altri linguaggi, ma usando solo il cervello.
Mi avete stufato, fancetera, vi credete fenomeni ma non lo sapete fare neanche voi.
Disperato7 è offline  
Old 15-06-2017, 19:51   #13
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
no, tu cercavi qualcuno che ti risolvesse l'esercizio e ti desse il codice con cui fare copia e incolla. e' gia' tanto che qualcuno ti abbia risposto dato che questo non e' un help desk, non e' CEPU, non e' grandi scuole, non e' qualcuno che ti faccia ripetizioni a gratis.

se sei cosi' disperato apri il libro e studia.
Sei talmente ignorante che scrivi "a gratis", si scrive solo "gratis". Studia tu piuttosto, CAPRA !!!
Disperato7 è offline  
Old 16-06-2017, 08:48   #14
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Algoritmo?
A voce pure io lo so dire cosa devo fare, e l'avrei saputo dire anche senza studiare il C o altri linguaggi, ma usando solo il cervello.
Mi avete stufato, fancetera, vi credete fenomeni ma non lo sapete fare neanche voi.
Allora se l'algoritmo lo sai, sai come si inserisce un elemento in lista, sai come si copia una stringa in C, come mai non sai fare quello che dici di saper fare???

Facciamo così prima posta la tua soluzione corretta dell'esercizio che poi io ti posto la mia, vediamo chi non lo sa fare
tomminno è offline  
Old 17-06-2017, 14:25   #15
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da Bellaz89 Guarda i messaggi
LOL. . Quindi fammi capire, la gente ti aiuta e perde il suo tempo per te gratuitamente e tu la mandi a quel paese? Proprio una strategia perfetta per farsi aiutare in futuro...
Ti auguro 3 anni di disgrazie!
Disperato7 è offline  
Old 17-06-2017, 14:26   #16
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Allora se l'algoritmo lo sai, sai come si inserisce un elemento in lista, sai come si copia una stringa in C, come mai non sai fare quello che dici di saper fare???

Facciamo così prima posta la tua soluzione corretta dell'esercizio che poi io ti posto la mia, vediamo chi non lo sa fare
Ti auguro 3 anni di disgrazie!
Disperato7 è offline  
Old 17-06-2017, 14:28   #17
Disperato7
Bannato
 
Iscritto dal: Jun 2017
Messaggi: 11
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
bravo, si vede che sei portato per le lettere ma non per l'informatica allora.

PS per approfondire, con i tuoi amici dell'accademia della crusca: http://www.accademiadellacrusca.it/i...rittura-gratis
Ti auguro 3 anni di disgrazie!
Disperato7 è offline  
Old 17-06-2017, 14:52   #18
FreeMan
Senior Member
 
L'Avatar di FreeMan
 
Iscritto dal: Jul 1999
Città: Black Mesa
Messaggi: 72456
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Ma una curiosità? Ma voi vi divertite a perculare chi vi chiede un cavolo di aiuto? Perchè ho notato che nei forum, preferiscono tirarla per le lunghe o insultare come hai fatto tu con il "Codice a caso" o con il classico tono "Io sono Bill Gates, quindi ti tratterò come una scimmia".
Un piffero di aiuto cercavo ed invece sempre che il brodo si allunga e mi devo sorbire pure gli insulti.
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Vaffancetera ho studiato una dozzina di manuali, ma affrontano tutto con array o cretinate simili, fenomeno quindi prima di parlare aziona il cervello!
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Algoritmo?
A voce pure io lo so dire cosa devo fare, e l'avrei saputo dire anche senza studiare il C o altri linguaggi, ma usando solo il cervello.
Mi avete stufato, fancetera, vi credete fenomeni ma non lo sapete fare neanche voi.
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Sei talmente ignorante che scrivi "a gratis", si scrive solo "gratis". Studia tu piuttosto, CAPRA !!!
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Ti auguro 3 anni di disgrazie!
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Ti auguro 3 anni di disgrazie!
Quote:
Originariamente inviato da Disperato7 Guarda i messaggi
Ti auguro 3 anni di disgrazie!
Hai anche lacune di educazione e rispetto oltre che di programmazione ed uso di un forum nel rispetto delle sue regole

utente ovviamente bannato

CLOSED!!

>bYeZ<
__________________
REGOLAMENTO & update1/update2 | IO C'ERO | Realme X3 SZ 12/256 - History | GTi is BACK

"Non sorridete.......gli spari sopra.....sono per VOI!"
FreeMan è offline  
 Discussione Chiusa


Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
La Corea del Sud vorrebbe costruire una ...
Rilasciati i primi risultati delle anali...
Robot umanoidi low cost? Unitree ci prov...
Non solo Rocket Lab, anche Avio potrebbe...
Chips Act UE: 41,5 milioni di euro a Eph...
Ryzen Threadripper 9000 al debutto il 31...
Nuovi coupon nascosti Amazon (aggiorname...
Chatbot e salute mentale: nascono i prim...
Prezzi in ribasso su Amazon su tante com...
Eureka J15 Ultra spiazza la concorrenza ...
Stufi di tagliare il prato? Questi robot...
Anche Dyson si adegua: sconti fino a 200...
Mi sono rotto un dito, e le avventure gr...
Tutto vero: costa solo 899€ il portatile...
Lefant M330Pro da 5.000Pa a 104€ o i due...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:17.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v