giacomo17011998
28-04-2018, 10:15
salve ragazzi, sono giorno che scrivo codice su codice ma non vengo a capo per queste 2 richieste, essendo novizio nel c sto incontrando molte difficolta'. in pratica ho caricato in memoria la struct , la stampo su un file e la visualizzo in output , adesso vi posto il codice.. mi servirebbe capire come fare la ricerca o un ordinamento in base a un paramentro immesso dall utente, se qualcuno e' cosi' gentile da sistemare il codice solo per quella parte ne sarei immensamente grato :help: :D , o almeno a farmi capire come agire :)
Vi posto la parte che serve per farvi capire come sto operando riguardante la struct cantanti
Il resto mi funziona tutto , vorrei solo capire questo ordinamento e questa ricerca
#include <stdlib.h>
#include <string.h>
#define maxcaratteri 25
//definisco la struttura cantanti come segue
struct cantanti
{
int id;
char nome[maxcaratteri];
char cognome[maxcaratteri];
char nazionalita[maxcaratteri];
char sesso[2];
char genere[maxcaratteri];
};
.....
....
case 1: //la scelta 1 e' la scrittura dei cantanti su file
{system("cls");//ripulisce lo schermo
FILE *outfile;//puntatore a file
//****************************************************************************************
//lista dei cantanti dichiarati come "input"
struct cantanti input1 = {1, "bob ", "sinclair ","francese","m","house\0"};
struct cantanti input2 = {2, "michael ", "jackson ","americana","m","pop\0"};
struct cantanti input3 = {3, "loredana ", "berte' ","italiana","f","rock\0"};
struct cantanti input4 = {4, "albano ", "carrisi ","italiana","m","leggera\0"};
struct cantanti input5 = {5, "tim ", "bergling ","svedese","m","house\0"};
struct cantanti input6 = {6, "tiziano ", "ferro ","italiana","m","pop\0"};
struct cantanti input7 = {7, "fabrizio ", "tarducci ","italiana","m","rap\0"};
struct cantanti input8 = {8, "david ", "guetta ","francese","m","elettronica\0"};
struct cantanti input9 = {9, "sfera ", "ebbasta ","italiana","m","trap\0"};
struct cantanti input10 = {10, "gue' ", "pequeno ","italiana","m","rap\0"};
struct cantanti input11 = {11, "vittorio", "dimango ","italiana","m","house\0"};
struct cantanti input12 = {12, "eros ", "ramazzotti","italiana","m","pop\0"};
struct cantanti input13 = {13, "antonello", "venditti","italiana","m","leggera\0"};
struct cantanti input14 = {14, "fabrizio", "deandre' ","italiana","m","leggera\0"};
struct cantanti input15 = {15, "capo ", "plaza ","italiana","m","trap\0"};
struct cantanti input16 = {16, "dark ", "pologang ","italiana","m","trap\0"};
struct cantanti input17 = {17, "sonny ", "skrillex ","americano","m","elettronica\0"};
struct cantanti input18 = {18, "boys ", "noize ","tedesco","m","elettronica\0"};
struct cantanti input19 = {19, "fabio ", "marracash","italiana","m","rap\0"};
struct cantanti input20 = {20, "roger ", "waters ","inglese","m","rock\0"};
struct cantanti input21 = {21, "jimi ", "hendrix ","inglese","m","rock\0"};
//******************************************************************************************************************
//apre il file cantanti.dat in modalita' write
outfile = fopen ("cantanti.dat", "w");
if (outfile == NULL)
{
fprintf(stderr, "\nErrore apertura file\n");//non riesce ad aprire il file e segna un messaggio di errore
exit (1); //errore di uscita 1
}
Vi posto la parte che serve per farvi capire come sto operando riguardante la struct cantanti
Il resto mi funziona tutto , vorrei solo capire questo ordinamento e questa ricerca
#include <stdlib.h>
#include <string.h>
#define maxcaratteri 25
//definisco la struttura cantanti come segue
struct cantanti
{
int id;
char nome[maxcaratteri];
char cognome[maxcaratteri];
char nazionalita[maxcaratteri];
char sesso[2];
char genere[maxcaratteri];
};
.....
....
case 1: //la scelta 1 e' la scrittura dei cantanti su file
{system("cls");//ripulisce lo schermo
FILE *outfile;//puntatore a file
//****************************************************************************************
//lista dei cantanti dichiarati come "input"
struct cantanti input1 = {1, "bob ", "sinclair ","francese","m","house\0"};
struct cantanti input2 = {2, "michael ", "jackson ","americana","m","pop\0"};
struct cantanti input3 = {3, "loredana ", "berte' ","italiana","f","rock\0"};
struct cantanti input4 = {4, "albano ", "carrisi ","italiana","m","leggera\0"};
struct cantanti input5 = {5, "tim ", "bergling ","svedese","m","house\0"};
struct cantanti input6 = {6, "tiziano ", "ferro ","italiana","m","pop\0"};
struct cantanti input7 = {7, "fabrizio ", "tarducci ","italiana","m","rap\0"};
struct cantanti input8 = {8, "david ", "guetta ","francese","m","elettronica\0"};
struct cantanti input9 = {9, "sfera ", "ebbasta ","italiana","m","trap\0"};
struct cantanti input10 = {10, "gue' ", "pequeno ","italiana","m","rap\0"};
struct cantanti input11 = {11, "vittorio", "dimango ","italiana","m","house\0"};
struct cantanti input12 = {12, "eros ", "ramazzotti","italiana","m","pop\0"};
struct cantanti input13 = {13, "antonello", "venditti","italiana","m","leggera\0"};
struct cantanti input14 = {14, "fabrizio", "deandre' ","italiana","m","leggera\0"};
struct cantanti input15 = {15, "capo ", "plaza ","italiana","m","trap\0"};
struct cantanti input16 = {16, "dark ", "pologang ","italiana","m","trap\0"};
struct cantanti input17 = {17, "sonny ", "skrillex ","americano","m","elettronica\0"};
struct cantanti input18 = {18, "boys ", "noize ","tedesco","m","elettronica\0"};
struct cantanti input19 = {19, "fabio ", "marracash","italiana","m","rap\0"};
struct cantanti input20 = {20, "roger ", "waters ","inglese","m","rock\0"};
struct cantanti input21 = {21, "jimi ", "hendrix ","inglese","m","rock\0"};
//******************************************************************************************************************
//apre il file cantanti.dat in modalita' write
outfile = fopen ("cantanti.dat", "w");
if (outfile == NULL)
{
fprintf(stderr, "\nErrore apertura file\n");//non riesce ad aprire il file e segna un messaggio di errore
exit (1); //errore di uscita 1
}