christian110
25-10-2007, 15:20
innanzitutto ciao ragazzi....vi ringrazio dell'attenzione...
ho da sottoporvi un mio programma che deve simulare molto semplicemente l'archiviazione di alunni e relativi voti scolastici insomma si ritorna a scuola ihih
allora vi mostro quello che ho fatto..
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <iostream>
char name[20];
int risposta;
int confronto;
struct Dati_alunno
{char nome[20];
char cognome[20];
int sistemi;
int informatica;
}
char scelta;
FILE *f;
int main(int argc, char *argv[])
{ struct Dati_alunno alunno
do {
printf("MENU");
printf("1.inserisci nuovo alunno");
printf("2.visualizza dati alunni");
printf("3.cerca alunno e modifica dati");
printf("4.esci");
scanf("%d",scelta);
switch (scelta)
{
case '1':printf("inserisci nome \n");
gets(alunno.nome);
printf("inserisci cognome \n");
gets(alunno.cognome);
printf("inserisci voto di sistemi \n");
scanf("%d",&alunno.sistemi);
printf("inserisci voto d'informatica \n");
scanf("%d",&alunno.informatica);
system("cls");
fwrite(&alunno,sizeof alunno,1,f);
fflush(f);
break;
case '2':rewind(f);
system("cls");
fflush(f);
do
{if (feof(f))
printf("registro vuoto");
else
{printf("nome: %s \n",alunno.nome);
printf("cognome: %s \n",alunno.cognome);
printf("voto sistemi: %d \n",alunno.sistemi);
printf("voto informatica: %d \n",alunno.informatica);
printf("////////////////////////// \n");
}
case '3':remove(*p);
break;
/*
printf("dammi nominativo: ");
scanf("%s", nominativoCerca);
for (int b=0; b<indice01; b++)
{
flag=0;
if (strcmp(nominativoCerca, Alunno[b].nominativo) == 0){
printf("BRAVO, nominativo trovato !!!\n");
printf("nominativo: %s \n", Alunno[b].nominativo);
printf("votoInformatica: %d \n", Alunno[b].votoInformatica);
printf("votoSistemi: %d \n", Alunno[b].votoSistemi);
printf("*********** \n\n");
flag=1;
break;
}
}
if (flag==0)
printf("SBAGLIATO, nominativo inesistente !!!\n");
break;*/
case '4':return 0;
default:system("cls");
printf("SCELTA ERRATA \n");
}while (scelta='4');
fclose(f);
}
bhe in pratica il mio grande casino risulta nella ricerca dove io inpratica vorrei dare in input un nome da cercare visualizzare e dare la possibilita di modificare i campi..non so come fare huffi...mi potreste aiutare?o cmq darmi dei consigli...
se trovate anche quelche errore ditemelo che ho tutto da imparare
grazie della cortese attenzione davvero
ho da sottoporvi un mio programma che deve simulare molto semplicemente l'archiviazione di alunni e relativi voti scolastici insomma si ritorna a scuola ihih
allora vi mostro quello che ho fatto..
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <iostream>
char name[20];
int risposta;
int confronto;
struct Dati_alunno
{char nome[20];
char cognome[20];
int sistemi;
int informatica;
}
char scelta;
FILE *f;
int main(int argc, char *argv[])
{ struct Dati_alunno alunno
do {
printf("MENU");
printf("1.inserisci nuovo alunno");
printf("2.visualizza dati alunni");
printf("3.cerca alunno e modifica dati");
printf("4.esci");
scanf("%d",scelta);
switch (scelta)
{
case '1':printf("inserisci nome \n");
gets(alunno.nome);
printf("inserisci cognome \n");
gets(alunno.cognome);
printf("inserisci voto di sistemi \n");
scanf("%d",&alunno.sistemi);
printf("inserisci voto d'informatica \n");
scanf("%d",&alunno.informatica);
system("cls");
fwrite(&alunno,sizeof alunno,1,f);
fflush(f);
break;
case '2':rewind(f);
system("cls");
fflush(f);
do
{if (feof(f))
printf("registro vuoto");
else
{printf("nome: %s \n",alunno.nome);
printf("cognome: %s \n",alunno.cognome);
printf("voto sistemi: %d \n",alunno.sistemi);
printf("voto informatica: %d \n",alunno.informatica);
printf("////////////////////////// \n");
}
case '3':remove(*p);
break;
/*
printf("dammi nominativo: ");
scanf("%s", nominativoCerca);
for (int b=0; b<indice01; b++)
{
flag=0;
if (strcmp(nominativoCerca, Alunno[b].nominativo) == 0){
printf("BRAVO, nominativo trovato !!!\n");
printf("nominativo: %s \n", Alunno[b].nominativo);
printf("votoInformatica: %d \n", Alunno[b].votoInformatica);
printf("votoSistemi: %d \n", Alunno[b].votoSistemi);
printf("*********** \n\n");
flag=1;
break;
}
}
if (flag==0)
printf("SBAGLIATO, nominativo inesistente !!!\n");
break;*/
case '4':return 0;
default:system("cls");
printf("SCELTA ERRATA \n");
}while (scelta='4');
fclose(f);
}
bhe in pratica il mio grande casino risulta nella ricerca dove io inpratica vorrei dare in input un nome da cercare visualizzare e dare la possibilita di modificare i campi..non so come fare huffi...mi potreste aiutare?o cmq darmi dei consigli...
se trovate anche quelche errore ditemelo che ho tutto da imparare
grazie della cortese attenzione davvero