Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 09-06-2017, 22: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, 09: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, 21: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, 10: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, 13: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, 15: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, 18: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, 22: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, 16: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, 17: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, 20: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, 20: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, 20: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, 09: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, 15: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, 15: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, 15: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, 15:52   #18
FreeMan
Senior Member
 
L'Avatar di FreeMan
 
Iscritto dal: Jul 1999
Città: Black Mesa
Messaggi: 72457
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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Isar Aerospace si prepara al secondo lan...
Tory Bruno è entrato in Blue Orig...
Fujifilm lancia la cartuccia per archivi...
Dreame H15 Mix: la soluzione 7-in-1 per ...
AirPods Pro 3 in forte sconto su Amazon:...
36 offerte Amazon, molte appena partite:...
2 caricatori multipli eccezionali: da 28...
OLED e 360 Hz a un prezzo senza preceden...
Roborock Q10 S5+ a un prezzo molto conve...
Upgrade PC a prezzo ridotto: le migliori...
Sono i 6 smartphone migliori su Amazon: ...
Google Pixel 9a a 361€, mai così ...
Super sconti sugli spazzolini Oral-B, an...
Aspira a 6000Pa, lava bene, costa 139€: ...
Nuove scorte: torna il portatile tuttofa...
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: 19:10.


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