Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-12-2003, 13:20   #1
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
un aiuto per c++...

salve ragazzi...
ho cominciato da qualche mese a programmare in c++ per l'uni, ora sto facendo un programmino che possa gestire le funzioni di carico e scarico di un magazzino... (per ora solo carico ed aggiornamento)
il problema (vd allegato) è che non riesco a far funzionare il ciclo while per l'estrazione dei campi... qualcuno mi può dare una mano?

grazie a tutti per la disponibilità e la gentilezza...
Allegati
File Type: rar magazzino2.rar (2.6 KB, 25 visite)
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2003, 09:36   #2
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
PERFAVORE... dammi quattromila euro...
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2003, 11:14   #3
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
proprio nessuno?
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 28-12-2003, 16:30   #4
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
aiuto...
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2003, 11:57   #5
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Quote:
Originariamente inviato da rastaivory
PERFAVORE... dammi quattromila euro...
???

perchè non posti la parte del codice che non ti funge? (oltre a spiegarci la storia dei 4000 euri!!)
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 01-01-2004, 13:18   #6
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
questo è tutto il codice...
per i quattromila euro, non vedi colorado cafè?(era un modo per uppare...)


#include <iostream.h>
#include <string.h>
#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>

//struttura dati





struct Data {

};


typedef struct articolo {

char nomearticolo [41];
char kg [6];


}ARTICOLO;

//variabili gestione files

ifstream fin;
ofstream fout;
char nomefile[100];

/////////////////////////////////////////////////////////////////////////////////////

int aggiungispazi (char stringa[], int caratteri);
int cancellaspazi (char stringa[]);

void main () {
char buffer[47];
int i=0;//varaibile di verifica aggiornamento
ARTICOLO newdato;
ARTICOLO olddato;

cout<<"inserisci il nome articolo: ";
cin >>newdato.nomearticolo;
cout<<endl;

cout<<"inserisci i kg: ";
cin >>newdato.kg;
cout<<endl;

//apertura file
strcpy (nomefile,"dati.txt");
fin.open(nomefile);
fout.open(nomefile,ios::out);

if(fin.fail() || fout.fail()){
cout<<"errore";
}

//esecuzione

while (fin.getline(buffer,46)) {

//estrazione campi da articolo
strncpy (olddato.nomearticolo , buffer ,40);
olddato.nomearticolo[40]='\0';
strncpy (olddato.kg ,buffer +41,5);
olddato.kg[5]='\0';
//cancella spazi
cancellaspazi (olddato.nomearticolo);
cancellaspazi (olddato.kg);
//converti kg in int
double oldkg;
oldkg=atof(olddato.kg);
double newkg;
newkg=atof(newdato.kg);
double totkg;
if (strcmp(olddato.nomearticolo,newdato.nomearticolo) == 0) {
totkg=oldkg+newkg;
i=1;
sprintf ( olddato.kg , "%i", totkg );
cout<<"ciao2";
}//fine if

//aggiungi spazi

aggiungispazi (olddato.nomearticolo, 40);
aggiungispazi (olddato.kg, 5);


fout << olddato.nomearticolo << olddato.kg <<endl;

}//fine while


//chiusura file
fin.close();
fout.close();

if (i!=1) {
fout.open(nomefile,ios::app);
//aggiungi spazi

aggiungispazi (newdato.nomearticolo, 40);
aggiungispazi (newdato.kg, 5);

fout << newdato.nomearticolo << newdato.kg <<endl;
fout.close();
}//fine if di aggiunta


}//fine main


//********************************************************
/*
CANCELLA SPAZI
*/

int cancellaspazi (char stringa[]) {

int i;


for(i=strlen( stringa ); i > 0 ; i--){
if (stringa[i] == ' ')
stringa[i] = '\0';

}
return 0;
}

//********************************************************


/*
AGGIUNGI SPAZI
*/


int aggiungispazi (char stringa[], int caratteri) {
int i;

for (i=strlen(stringa); i<caratteri;i++) {
stringa [i]=' ';
stringa[caratteri] = '\0';


}
return 0;
}
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2004, 08:11   #7
pinzi
Member
 
L'Avatar di pinzi
 
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
Non ho ben capito il funzionamento del tuo programma ad ogni modo il ciclo while non verrà mai eseguito perchè l'istruzione:

fin.open(nomefile);

cancella tutti i dati presenti nel file dati.txt . Se vuoi far si che i dati non vengano cancellati devi aggiungere il flag ios::app oppure aprire il file all' interno del ciclo while.
Inoltre ho nontato che dichiari delle variabili all' interno del ciclo e questo potrebbe crearti dei problemi (una variabile deve essere dichiarata una sola volta).
pinzi è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2004, 11:09   #8
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
l'ho modificato come dici ma non funziona...
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2004, 10:54   #9
pinzi
Member
 
L'Avatar di pinzi
 
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
Il programma per come era perima non avrebbe mai funzionato e come ti ho detto non mi è ben chiaro cosa accade dentro il ciclo while. Potresti essere più dettagliato sul perchè non funziona il programma?
pinzi è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2004, 11:25   #10
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
dovrebbe essere un piccolo programma per la gestione carico\scaico di un magazzino....
per ora ho implementato solo il carico: in pratica il prg chiede all'utente quale è la merce che deve caricare (cin), controlla che non sia gia presente in magazzino (ciclo while), se è presente aggiorna la quantità (somma), se no crea un nuovo record (fout).
il problema è che non entra nel ciclo while...
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2004, 11:26   #11
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
dimenticavo...
grazie per l'aiuto
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2004, 15:24   #12
pinzi
Member
 
L'Avatar di pinzi
 
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
Usando le modifiche che ti ho suggerito nella precedente risposta il programma entra nel ciclo while purchè esista un file non vuoto chiamato dati.txt( Per come è scritto il tuo programma sembrebbe che sia necessario avere gia questo file).
pinzi è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2004, 17:25   #13
rastaivory
Senior Member
 
L'Avatar di rastaivory
 
Iscritto dal: Oct 2001
Messaggi: 1179
scusa se sono un po' ottuso ma a me non funziona...
a te funziona?

non è che puoi postare il codice?
rastaivory è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 16:40   #14
pinzi
Member
 
L'Avatar di pinzi
 
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
Di seguito troverai il listato corretto però ricorda di creare il file dati.txt non vuoto è opportunamente formattato(nelle prime 40 colonne i nomi e nelle seguenti 5 i pesi):

#include <iostream.h>
#include <string.h>
#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>

//struttura dati





struct Data {

};


typedef struct articolo {

char nomearticolo [41];
char kg [6];


}ARTICOLO;

//variabili gestione files

ifstream fin;
ofstream fout;
char nomefile[100];

/////////////////////////////////////////////////////////////////////////////////////

int aggiungispazi (char stringa[], int caratteri);
int cancellaspazi (char stringa[]);

int main () {
char buffer[47];
int i=0;//varaibile di verifica aggiornamento
ARTICOLO newdato;
ARTICOLO olddato;

cout<<"inserisci il nome articolo: ";
cin >>newdato.nomearticolo;
cout<<endl;

cout<<"inserisci i kg: ";
cin >>newdato.kg;
cout<<endl;

//apertura file
strcpy (nomefile,"dati.txt");
fin.open(nomefile);
fout.open(nomefile,ios::app);

if(fin.fail() || fout.fail()){
cout<<"errore";
}

//esecuzione
double oldkg;
double newkg;
double totkg;
while (fin.getline(buffer,46)) {
//estrazione campi da articolo
strncpy (olddato.nomearticolo , buffer ,40);
olddato.nomearticolo[40]='\0';
strncpy (olddato.kg ,buffer +41,5);
olddato.kg[5]='\0';
//cancella spazi
cancellaspazi (olddato.nomearticolo);
cancellaspazi (olddato.kg);
//converti kg in int

oldkg=atof(olddato.kg);
newkg=atof(newdato.kg);

if (strcmp(olddato.nomearticolo,newdato.nomearticolo) == 0) {
totkg=oldkg+newkg;
i=1;
sprintf ( olddato.kg , "%i", totkg );
cout<<"\n"<<"ciao2"<<"\n";
}//fine if

//aggiungi spazi

aggiungispazi (olddato.nomearticolo, 40);
aggiungispazi (olddato.kg, 5);
cout <<olddato.nomearticolo << olddato.kg <<endl;

}//fine while


//chiusura file
fin.close();
fout.close();

if (i!=1) {
fout.open(nomefile,ios::app);
//aggiungi spazi

aggiungispazi (newdato.nomearticolo, 41);
aggiungispazi (newdato.kg, 5);

fout <<newdato.nomearticolo << newdato.kg <<endl;
fout.close();
}//fine if di aggiunta


}//fine main


//********************************************************
/*
CANCELLA SPAZI
*/

int cancellaspazi (char stringa[]) {

int i;


for(i=strlen( stringa ); i > 0 ; i--){
if (stringa[i] == ' ')
stringa[i] = '\0';

}
return 0;
}

//********************************************************


/*
AGGIUNGI SPAZI
*/


int aggiungispazi (char stringa[], int caratteri) {
int i;

for (i=strlen(stringa); i<caratteri;i++) {
stringa [i]=' ';
stringa[caratteri] = '\0';


}
return 0;
}
pinzi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
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: 18:42.


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