Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-09-2005, 19:56   #1
progC__
Member
 
Iscritto dal: Sep 2005
Messaggi: 39
CREAZIONE FILE BINARIO IN C...

...sono di nuovo qui,con un altra inedita difficoltà:

devo scrivere un programma che crea ed aggiorna un file binario "studente" contenete le seguenti informazioni:

*cognome e nome (30char)
*matricola(ccc/cccc)
*numero esami superati (short)
*media aritmetica esami
*crediti acquisiti

il programmino che ho abbozzato io è il seguente:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
short day;
short month;
short year;
char cognome[15];
char nome [15];
int matricola;
short n_esamisup;
float media_ar_esami;
short cred_acqui;
}studente;
FILE *fp; /*puntatore a FILE dichiarato come variabile globale*/

studente legg_infor (studente student);
void creafile (char nomefile[]);
void trasfer_infile (studente student,char nomefile[]);
void main ()
{
studente STUDENTE;
char name[8];
STUDENTE.cred_acqui = 0;
STUDENTE.day = 0;
STUDENTE.matricola = 0;
STUDENTE.media_ar_esami = 0;
STUDENTE.month = 0;
STUDENTE.n_esamisup = 0;
STUDENTE.year = 0;
printf ("inserisci il nome che vuoi attribuire al file (max 8 caratteri)\n");
scanf ("%s",&name);
creafile (name);
legg_infor (STUDENTE);
trasfer_infile (STUDENTE,name);
}


studente legg_infor (studente student)
{
printf ("inserisci la data (gg/mm/aaaa)\n");
scanf ("%d%c%d%c%d", &student.day,&student.month,&student.year);
printf ("inserisci il cognome dello studente (max 15 caratteri)\n");
scanf ("%s",&student.cognome);
printf ("Inserisci il nome dello studente (max 15 caratteri)\n");
scanf ("%s",&student.nome);
printf ("inserisci la matricola dello studente\n");
scanf ("%d",&student.matricola);
printf ("inserisci gli esami che ha superato\n");
scanf ("%d",&student.n_esamisup);
printf ("inserisci la media aritmetica degli esami\n");
scanf ("%f",&student.media_ar_esami);
printf ("inserisci i crediti acquisiti\n");
scanf ("%d",&student.cred_acqui);
return student;
}
/*function crea file*/
void creafile (char nomefile[])
{
FILE *fp;
strcat(nomefile,".txt");
fp = fopen(nomefile,"wb");
if (fp == NULL){
puts ("ERRORE NELLA CREAZIONE DEL FILE");
exit(1);
}
fclose(fp);
}
/*function che trasferisce le informazioni immesse nel file creato*/
void trasfer_infile (studente student,char *nomefile)
{
fp = fopen(nomefile,"rb");
if (fp == NULL){
puts ("ERRORE NEL TRASFERIMENTO DEI DATI NEL FILE: IMPOSSIBILE APRIRE IL FILE!");
exit(1);}
fwrite (&student,sizeof (studente),100,fp);
fclose (fp);
}


AIUTATEMI...
progC__ è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2005, 01:27   #2
leomagic
Senior Member
 
L'Avatar di leomagic
 
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
ma hai un problema oppure vuoi che ti controlliamo il problema?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13"

Concluso affari con: bottoni,skino,semmy83,alex_
leomagic è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2005, 07:55   #3
progC__
Member
 
Iscritto dal: Sep 2005
Messaggi: 39
Quote:
Originariamente inviato da leomagic
ma hai un problema oppure vuoi che ti controlliamo il problema?
...Una controllotina al programma perchè non funziona....
progC__ è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2005, 10:34   #4
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16213
Ci aiuteresti ad aiutarti se ci dicessi come il programma non funziona.
Ossia: se non stampa il risultato corretto su schermo, se termina improvvisamente, quali messaggi di errore vangono forniti dal compilatore, eccetera.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2005, 10:58   #5
progC__
Member
 
Iscritto dal: Sep 2005
Messaggi: 39
il file studente sono riuscito a crearlo...adesso ho problemi con la funzione che aggiorna il file... questo algoritmo mi segnala 4 warning e 2 errori che mi stanno facendo impazzire

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

typedef struct{
short day;
short month;
short year;
char cognome[15];
char nome [15];
int matricola;
// parametri che verranno aggiornati ad ogni data
short n_esamisup; // parametro che verrà aggiornato ad ogni data
float media_ar_esami;
short cred_acqui;
}studente;


FILE *fp,*fpupdate;
//prototipo funzione aggiorna studente
studente update (studente STUDENTE);
void main ()
{
studente STUDENTE;
char nome[10];
//apro il file dati
if ((fp = fopen("Michele.dat","rb")) == NULL)
{
puts ("ERRORE NELL'APERTURA DEL FILE");
exit(1);
}
//creo il nuovo file aggiornata
printf ("Inserisci il nome del nuovo file aggiornato:\n");
fflush(stdin);
scanf ("%s",&nome);
strcat(nome,".dat");
if ((fpupdate = fopen (nome,"wb")) == NULL)
{
puts ("ERRORE NELL'APERTURA DEL FILE");
exit(1);
}
//leggo il primo record creato nel file precedente
fread(&STUDENTE,sizeof(studente),1,fp);

while (!feof(fp)) /*fino a quando il file "vecchio" non è finito*/
{
//richiama la funzione per aggiornare il file
STUDENTE = update (STUDENTE);

/*scrivo le informazioni aggiornate nel nuovo file*/
fwrite = (STUDENTE,sizeof(studente),1,fpupdate);
//legge record successivo nel file dati precedente
fread = (STUDENTE,sizeof(studente),1,fp);
}
fclose(fp);
fclose(fpupdate);
}

studente update (studente STUDENTE)
{
printf ("Inserisci la data (gg/mm/aaaa):\n");
scanf ("%d%c%d%c%d", &STUDENTE.day,&STUDENTE.month,&STUDENTE.year);
printf ("Inserisci il cognome dello studente (max 15 caratteri)\n");
scanf ("%s",&STUDENTE.cognome);
printf ("Inserisci il nome dello studente (max 15 caratteri)\n");
scanf ("%s",&STUDENTE.nome);
printf ("Inserisci la matricola dello studente\n");
scanf ("%d",&STUDENTE.matricola);
printf ("Inserisci gli esami che ha superato\n");
scanf ("%d",&STUDENTE.n_esamisup);
printf ("Inserisci la media aritmetica degli esami\n");
scanf ("%f",&STUDENTE.media_ar_esami);
printf ("Inserisci i crediti acquisiti\n");
scanf ("%d",&STUDENTE.cred_acqui);
return (STUDENTE);
}

Gli errori e warning stanno tutti dove il carattere è rosso...
progC__ è offline   Rispondi citando il messaggio o parte di esso
Old 24-09-2005, 11:06   #6
progC__
Member
 
Iscritto dal: Sep 2005
Messaggi: 39
...OK...già ho risolto...i due uguali non ci dovevano stare
progC__ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Ford: l'elettrico genera una perdita di ...
Ayaneo Next 2: la console portatile Wind...
Il WiFi può vederti senza telecam...
Linux sotto assedio: SSHStalker riporta ...
Stellantis: dopo il crollo di venerd&igr...
Combat Liquid 360 HUD: raffreddamento AI...
Tornano le EVO Sessions della Formula E:...
Moltbook, il social network per AI: i po...
Cina: eseguito il test della navicella M...
Mistral, il rivale europeo di OpenAI, in...
Libri piratati, allarme rosso: 722 milio...
Ayaneo svela quasi tutte le specifiche d...
Sony chiude definitivamente con i regist...
Renault Twingo E-Tech Electric sotto i 2...
Auto elettriche, il freddo non fa pi&ugr...
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: 07:27.


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