Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void funcao4(char arq[]){
- int categ, total, i, fez_troca, aux, k;
- char resp, nomecateg;
- tipoexpositor expositor;
- tipoexpositor categoria[100];
- FILE *fp;
- total=0;
- i=0;
- fp = fopen(arq, "rb");
- if(!fp) {
- printf("Arquivo inexistente\n");
- }
- else{
- do{
- printf("Digite a categoria que deseja consultar:");
- scanf("%d", &categ);
- while((categ<=0)||(categ>3)){
- printf("**ERRO** A categoria deve estar entre 1 e 3.\n");
- printf("Digite a categoria novamente:");
- scanf("%d", &categ);
- }
- while(fread(&expositor, sizeof(tipoexpositor), 1, fp)!=0){
- if (expositor.categoria==categ){
- total++;
- //categoria[i].nome = expositor.nome;
- for(k=0; k<= strlen(expositor[i].nome); k++){
- categoria[i].nome[k]=expositor.nome[k]
- }
- categoria[i].num_estande = expositor.num_estande;
- categoria[i].atuacao = expositor.atuacao;
- categoria[i].categoria = expositor.categoria;
- categoria[i].num_colaboradores = expositor.num_colaboradores;
- i++;
- }
- }
- fez_troca=1;
- while(fez_troca){
- fez_troca=0;
- for(j=0; j<=(total-2); j++){
- if(categoria[j].num_estande>categoria[j+1].num_estande){
- aux=categoria[j].num_estande;
- categoria[j].num_estande=categoria[j+1].num_estande;
- categoria[j+1].num_estande=aux;
- for(j=0;j <= strlen(categoria[i].nome); j++){
- aux1[j] = categoria[i].nome[j];
- categoria[i].nome[j] = categoria[i+1].nome[j];
- categoria[i+1].nome[j] = aux1[j];
- }
- categoria[i+1].nome[j] = '\0';
- categoria[i].nome[j] = '\0';
- for(j=0;j <= strlen(categoria[i].atuacao); j++){
- aux1[j] = categoria[i].atuacao[j];
- categoria[i].atuacao[j] = categoria[i+1].atuacao[j];
- categoria[i+1].atuacao[j] = aux1[j];
- }
- categoria[i+1].atuacao[j] = '\0';
- categoria[i].atuacao[j] = '\0';
- fez_troca=1;
- }
- }
- if(categ==1){
- nomecateg="ouro";
- }
- if (categ==2){
- nomecateg="prata";
- }
- if (categ==3){
- nomecateg="bronze";
- }
- printf("\n\nCATEGORIA: %d- %s", categ, nomecateg);
- printf("\nTOTAL DE EXPOSITORES: %d", total);
- printf("\nESTANDE\tEXPOSITOR\tRAMO\tCOLABORACAO\n");
- for(j=0; j<total; j++){
- printf("categoria[j].num_estande");
- printf("\tcategoria[j].nome");
- printf("\tcategoria[j].atuacao");
- printf("\tcategoria[j].num_colaboradores\n");
- }
- printf("\n\nDeseja consultar mais categorias?");
- scanf("%s", &resp);
- while((resp!='s')||(resp!='S')&&(resp!='n')||(resp!='N')){
- printf("**ERRO** Digite 's' para sim ou 'n' para nao:");
- scanf("%s", &resp);
- }
- }while ((resp=='s')||(resp=='S'));
- fclose(fp);
- }
- }
Add Comment
Please, Sign In to add comment