Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-06-2005, 17:09   #1
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
[C] HELP problema lettura file

devo fare, per esercizio, un programma che :
*legga da un file txt il cognome e la matricola di alcuni studenti
*legga da un secondo file la matricola, voto 1 e voto2
*scriva su un terzo file cognome, matricola e media dei voti.

questo è quello che ho fatto, qualcuno mi da una mano a capire perchè non gira? (Chiedo scusa per eventuali errori da spina, ho cominciato a programmare due settimane fa..)

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

//definisco costanti
#define FAILURE 1
#define SUCCESS 0

#define LNOME 21
#define LMATRICOLA 7
#define LMAX 50


typedef struct STUDENTI{
char cognome[LNOME];
char matricola[LMATRICOLA];
int votofinale;
}STUDENTI;

//prototipi
FILE *leggoeapro(char *nome, char *access);
int scrivofile(FILE *fp, STUDENTI vet[], int n);

int main(void){

FILE *fp;
char nome[10], end, nm;
STUDENTI vet[LMAX];
int n1, i, j, v1, v2, k;



fp=leggoeapro(nome, "r");

fscanf(fp, "%d",&n1);

i=0;

while (fscanf(fp,"%s%s",vet[i].cognome, vet[i].matricola)!=EOF){

printf("%s\t%s\n",vet[i].cognome, vet[i].matricola);
i++;
}
fclose(fp);

fp=leggoeapro(nome, "r");

while (fscanf(fp, "%s %d %d", nm, &v1, &v2)!=EOF){
for (k=0;k<=i;k++){
if (strcmp(vet[k].matricola,nm)==0){

if(v1!=30 && v2!=30){
vet[k].votofinale=((v1+v2)/2);
}else{
vet[k].votofinale=31;
}

if(vet[k].votofinale<18){
vet[k].votofinale='ins';
}else{
vet[k].votofinale='ND';
}
}
}
}
fclose(fp);

fp=leggoeapro(nome,"w");

for(k=0;k<=i;k++){
fprintf(fp,"%s %s %d",vet[k].cognome, vet[k].matricola, vet[k].votofinale);
}


scanf("%s",end);
return(SUCCESS);
}

//Legge il nome di un file e me lo apre
//mi ritorna un file pointer, e mi dice se il file esiste.
FILE *leggoeapro (char *nome, char *access)
{
FILE *fp = NULL;

printf ("Nome file: ");
scanf ("%s", nome);

fp = fopen (nome, access);
if (fp == NULL) {
fprintf (stderr, "\nErrore apertura file.\n");
}

return (fp);
}


Grazie a tutti quelli che con pazienza mi potranno aiutare
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon

Ultima modifica di kobane : 09-06-2005 alle 17:12.
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 17:11   #2
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
testo dell'esercizio

Esercizio 1
-----------

Realizzare un programma C che effettui le seguenti operazioni:
* legga un primo file avente il seguente formato:
* la prima riga indica il numero di righe successive (al massimo
50)
* ciascuna delle righe successive ha il seguente formato:
<cognome> <numero_di_matricola>
In cui:
* <cognome> e` costituito da un massimo di 20 caratteri alfabetici
* <numero_di_matricola> da un massimo 6 caratteri alfabetici e
numerici.
Nessun campo contiene degli spazi e i campi sono separati da uno
spazio singolo.
* legga un secondo file avente al massimo lo stesso numero di righe del
primo file e avente il seguente formato:
<numero_di_matricola> <voto_scritto> <voto_orale>
In cui:
* <numero_di_matricola> ha il formato precedentemente indicato
* il <voto_scritto> e il <voto_orale> sono numeri interi compresi
tra 1 e 30.
* stampi su un terzo file, per ciascun studente, le informazionei seguenti:
<numero_di_matricola> <cognome> <voto_finale>
in cui il <voto_finale> e` la media aritmetica di <voto_scritto> e
<voto_orale>.

Si noti inoltre quanto segue:
* il secondo file non contiene informazioni su studenti NON presenti nel
primo file
* se uno studente presente nel primo file non compare nel secondo, si indichi
N/A in luogo del voto
* il <voto_finale> va approssimato per eccesso all'intero superiore
(e.g., (18+21)/2 = 19.5 -> 20).
* se il <voto_finale> e` inferiore a 18 si stampi INSUF
* se lo studente ha conseguito due 30 si stampi 30Lode.
* i nomi dei tre file vanno letti da tastiera

Osservazioni
------------

L'esercizio va risolto utilizzando un SOLO vettore di strutture.
La struttura conterra' campi per memorizzare il <cognome>, il
<numero_di_matricola> e il <voto_finale>.
Si noti che NON e' necessario memorizzare completamente in memoria centrale
anche il contenuto del secondo file.
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 19:28   #3
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
app
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 19:51   #4
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
indentalo altrimenti non ci si capisce nulla e nessuno ti risponderà..basta che copi il codice correttamente indentato tra il tag [ code ] e il tag [ /code ]
senza spazi
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2005, 20:10   #5
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
che truccone!! grazie


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

//definisco costanti
#define FAILURE 1
#define SUCCESS 0

#define LNOME 21
#define LMATRICOLA 7
#define LMAX 50


typedef struct STUDENTI{
    char cognome[LNOME];
    char matricola[LMATRICOLA];
    int votofinale;
    }STUDENTI;
    
//prototipi
FILE *leggoeapro(char *nome, char *access);
int scrivofile(FILE *fp, STUDENTI vet[], int n);

int main(void){
    
    FILE *fp;
    char nome[10], end, nm;
    STUDENTI vet[LMAX];
    int n1, i, j, v1, v2, k;
    
    
    
    fp=leggoeapro(nome, "r");

    fscanf(fp, "%d",&n1);
    
    i=0;
    
    while (fscanf(fp,"%s%s",vet[i].cognome, vet[i].matricola)!=EOF){
    
        printf("%s\t%s\n",vet[i].cognome, vet[i].matricola);
        i++;
    }
    fclose(fp);
    
    fp=leggoeapro(nome, "r");
    
    while (fscanf(fp, "%s %d %d", nm, &v1, &v2)!=EOF){
        for (k=0;k<=i;k++){
            if (strcmp(vet[k].matricola,nm)==0){
                
                if(v1!=30 && v2!=30){
                    vet[k].votofinale=((v1+v2)/2);
                }else{
                    vet[k].votofinale=31;
                }
                
                if(vet[k].votofinale<18){
                    vet[k].votofinale='ins';
                }else{
                    vet[k].votofinale='ND';
                }
            }
        }
    }
    fclose(fp);
    
    fp=leggoeapro(nome,"w");
    
    for(k=0;k<=i;k++){
        fprintf(fp,"%s %s %d",vet[k].cognome, vet[k].matricola, vet[k].votofinale);
    }
    
    
    scanf("%s",end);
    return(SUCCESS);
}

//Legge il nome di un file e me lo apre
//mi ritorna un file pointer, e mi dice se il file esiste.
FILE *leggoeapro (char *nome, char *access)
{
  FILE *fp = NULL;

  printf ("Nome file: ");
  scanf ("%s", nome);

  fp = fopen (nome, access);
  if (fp == NULL) {
    fprintf (stderr, "\nErrore apertura file.\n");
  }

  return (fp);
}
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2005, 08:30   #6
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
up
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2005, 22:02   #7
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
o, non riesco a capire l'errore... possibile che io si a così spina?
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
HP blocca anche le cartucce di inchiostr...
Acquisizione Apple: SigScalr chiude, gli...
Cooler Master HAF II 500 integra le vent...
I musulmani non dovrebbero usare le crip...
AMD Radeon 9000 pronte a sorpassare le N...
Soulframe, il nuovo gameplay chiarisce m...
La Commissione UE presenterà una ...
Niente più eliche: con due ali, i...
Waze si aggiorna con nuove funzioni IA: ...
Oltre 200 economisti ed esperti di IA la...
I migliori produttori del 2026? Facci sa...
Claude Code consuma fino a 33 mila token...
Si chiama Starfire il chip con cui Intel...
Chrome espone l'OS reale dietro ogni ric...
Intel investe altri 5 miliardi di euro p...
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: 00:26.


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