我有这段代码我想变成一个函数,我无法弄清楚如何去做,这段代码从文件中读取作者,并将它们放在一个数组中。我注意到主文件太大了所以我必须简化它。 nartisti是文件中实际包含的艺术家数量。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
#define max 30
#define maxu 20
#define sessomu 6
#define sessom 6
struct cantanti
{
int id;
char nome[max],cognome[max],nazionalita[max],sesso[sessom],genere[max];
};
struct cantanti arrayc[100];
case 1:
{
system("cls");//pulisco lo schermo
FILE *fp;//puntatore a file
int nartisti;//variabile per contare quanti artisti ci sono nel file
fp=fopen("artisti.dat","r");//apro il file artisti in modalita' lettura
fscanf(fp,"%d",&nartisti);//leggo da file il numero degli artisti presenti
int i=0;//azzero la variabile per ciclare il contatore
printf(" _____________________________________________________________________________________\n");
printf("|| %-5s || %-12s || %-12s || %-15s || %-4s || %-12s ||\n","<ID>","<NOME>","<COGNOME>","<NAZIONALITA'>","<SESSO>","<GENERE>");
printf("||_______||______________||______________||_________________||_________||______________||\n");
while(i!=nartisti)
{
//scansioni gli artisti da file, gli inserisco in un array di cantanti e li visualizzo a schermo
fscanf(fp,"%d %s %s %s %s %s",&arrayc[i].id,arrayc[i].nome,arrayc[i].cognome,arrayc[i].nazionalita,arrayc[i].sesso,arrayc[i].genere);
printf("||%-6d || %-12s || %-12s || %-15s || %-7s || %-12s ||\n",arrayc[i].id,arrayc[i].nome,arrayc[i].cognome,arrayc[i].nazionalita,arrayc[i].sesso,arrayc[i].genere);
printf("||_______||______________||______________||_________________||_________||______________||\n");
i++ ;
}
//mi dice quanti cantanti sono stati letti
printf("**************************| Sono stati letti %d autori dal file |****************\n",nartisti);
printf("***************************\\___________________________________________/ ****************\n\n");
fclose(fp);//chiudo il file
system("pause");
system("cls");//pulisce lo schermo
}
break;
答案 0 :(得分:-1)
首先需要声明函数
void readAuthors()
或返回数组
struct readAuthors()
然后只需将函数写为正常
void/struct readAuthors(){
<code>
}
之后你可以调用函数
readAuthors()
or
array = readAuthors
我希望这有帮助