Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Snapdragon Soung Gen 2 è la piattaforma Qualcomm per i dispositivi audio sempre più integrati nel mondo dell'intelligenza artificiale: al prorpio interno tanta potenza elaborativa per gestire al meglio le necessità d'uso dell'agentic AI
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-09-2005, 18: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, 00: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, 06: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, 09:34   #4
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
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, 09: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, 10: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


Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Una smartband senza display per monitora...
Offerte Ninja: friggitrici ad aria da 69...
Disney+ aumenta ancora i prezzi, per il ...
Xiaomi 18 Pro e Pro Max, la grande novit...
C'è un motivo se OpenAI non chiede un eu...
11 novità rilevanti nella nostra ...
Il tempo non è mai stato misurato...
Le auto elettriche sono più longe...
Stardock Snipboard: il dock che vuole ma...
Logitech G PRO X SUPERLIGHT 2 e SE, mous...
Supporto Linux in arrivo anche per i not...
Ninja MAX, la friggitrice ad aria da 6,2...
Poche scorte rimaste: Mini PC con Ryzen ...
Adobe Premiere è disponibile anche su An...
Sorpresa su Amazon: ora sono 2 le e-bike...
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: 10:13.


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