Jump to content
Fórum Script Brasil

Search the Community

Showing results for tags 'strcpy'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 1 result

  1. Olá pessoal, estou trabalhando em programa de lista técnica de celulares. Falta apenas uma função, que a função alterar dados de um celular. Já tentei fazer isso utilizando fseek, utilizando algo como renomear arquvos mas não deu certo, meu professor deu uma dica para dividir sub-menus e depois usar o strcpy, também tentei mas não consegui... Penso que strcpy seria uma boa maneira, mas sério não consigo utilizar, se vocês puderem me ajudar fico grata. Abaixo colocarei o código a titulo de informação, vocês talvez encontraram erros nele... Mas minha maior preocupação é sobre como alterar esses benditos dados de um celular. [code] #define MAX 100 #include <stdio.h> #include <stdlib.h> #include <string.h> struct celular { char marca[15]; char modelo[25]; char processador[10]; char memoria [8]; char tela [4]; char inter [4]; char sisopera [15]; char valor [10]; }; typedef struct celular TCelular; struct listaDeCelulares { unsigned ncel; // Número de celulares na lista TCelular celulares[MAX]; }; typedef struct listaDeCelulares TListaCelulares; void mostreCelular(TCelular cel) { printf("%-12s",cel.marca); printf("%-15s",cel.modelo); printf("%-8s",cel.processador); printf("%-7s",cel.memoria); printf("%-4s",cel.tela); printf("%-4s",cel.inter); printf("%-15s",cel.sisopera); printf("%-9s",cel.valor); printf("\n"); } void mostreListaDeCelulares(TListaCelulares *lis) { int i; printf("\n\n ---------------------- Lista de Celulares ----------------------------\n"); printf("\n"); printf(" MARCA-------MODELO---------PROCES.-MEM.--TELA-NET-S.O.-----------VALOR\n"); printf("\n"); for(i=0; i<lis->ncel; i++) { printf(" "); mostreCelular(lis->celulares); printf("\n"); } printf("\n\n"); } int buscaCelular(TListaCelulares *lis, TCelular cel) { int i; for(i=0; i<lis->ncel; i++) if(strcmp(cel.modelo,lis->celulares.modelo) == 0) printf("\n"); return i; return -1; } int buscaCelularmodelo(TListaCelulares *lis, TCelular cel) { int i; for(i=0; i<lis->ncel; i++) if(strcmp(cel.modelo,lis->celulares.modelo) == 0) mostreCelular(lis->celulares); printf("\n"); return i; return -1; } int buscaCelularmarca(TListaCelulares *lis, TCelular cel) { int i; for(i=0; i<lis->ncel; i++) if(strcmp(cel.marca,lis->celulares.marca) == 0) mostreCelular(lis->celulares); printf("\n\n"); return i; return -1; } int buscaCelularinternet(TListaCelulares *lis, TCelular cel) { int i; for(i=0; i<lis->ncel; i++) if(strcmp(cel.inter,lis->celulares.inter) == 0) mostreCelular(lis->celulares); printf("\n\n"); return i; return -1; } void insereCelular(TListaCelulares *lis, TCelular cel) { lis->celulares[lis->ncel] = cel; lis->ncel++; } int ordenaMarca(const void *a, const void *b) { TCelular *ca = (TCelular *) a; TCelular *cb = (TCelular *) b; return strcmp(ca->marca,cb->marca); } int ordenaValor(const void *a, const void *b) { TCelular *ca = (TCelular *) a; TCelular *cb = (TCelular *) b; return strcmp(ca->valor,cb->valor); } int ordenaProcessador(const void *a, const void *b) { TCelular *ca = (TCelular *) a; TCelular *cb = (TCelular *) b; return strcmp(ca->processador,cb->processador); } TCelular removeCelular(TListaCelulares *lis, int ind) { int i; TCelular res = lis->celulares[ind]; for(i=ind; i<lis->ncel-1; i++) lis->celulares = lis->celulares[i+1]; lis->ncel--; return res; } char menu() { printf("******************************\n"); printf("* Ficha T%ccnica de Celulares *\n",130); printf("******************************\n\n"); printf(" 1 - BUSCAR celular pela Marca\n"); printf(" 2 - BUSCAR pela Tecnologia de Internet (3G ou 4G)\n"); printf(" 3 - INSERIR celular\n"); printf(" 4 - APAGAR celular\n"); printf(" 5 - MOSTRAR celulares ordenados pela Marca\n"); printf(" 6 - MOSTRAR celulares ordenados pelo Valor\n"); printf(" 7 - MOSTRAR celulares ordenados pelo Processador\n"); printf(" 8 - EDITAR dados de um celular"); printf("\n 0 - SAIR do aplicativo\n"); printf("\n Escolha uma op%c%co: ",135,198); fflush(stdin); return getchar(); } int main() { TListaCelulares liscel; liscel.ncel = 0; TCelular cel; int rb; int alterado = 0; char op2 = 'A'; char op = 'A'; FILE *fp; fp = fopen("Celulares.arq","rb"); if(fp != NULL) { fread(&liscel.ncel,sizeof(unsigned),1,fp); fread(liscel.celulares,sizeof(TCelular),liscel.ncel,fp); //fread(&liscon,sizeof(TListaContatos),1,fp); } fclose(fp); while(op != '0') { op = menu(); switch(op) { fflush(stdin); case '1': printf("\n\n **** Filtrar celulares pela marca ****\n"); printf("\n Marca: "); fflush(stdin); gets(cel.marca); printf("\n\n-------------Lista de Celulares Filtrados pela Marca--------------\n"); printf("MARCA-------MODELO---------PROCES.-MEM.--TELA-NET-S.O.-----------VALOR\n"); rb = buscaCelularmarca(&liscel,cel); if(rb < 0) printf("\n **** Celular com esta marca n%co existe ****\n",198); printf("\n\n"); break; case '2': printf("\n\n **** Filtrar celulares pela Tecnologia de Iternet (3G ou 4G) ****\n"); printf("\n Tecnologia de Internet: "); fflush(stdin); gets(cel.inter); printf("\n\n------------Lista de Celulares Filtrados pela Internet------------\n"); printf("MARCA-------MODELO---------PROCES.-MEM.--TELA-NET-S.O.-----------VALOR\n"); rb = buscaCelularinternet(&liscel,cel); if(rb < 0) printf("\n **** Celular com esta tecnologia de internet n%co existe ****\n",198); printf("\n\n"); break; case '3': fflush(stdin); printf("\n\n --- Cria novo celular ---\n"); printf(" Modelo: "); gets(cel.modelo); rb = buscaCelular(&liscel,cel); // if(rb >= 0) // printf("\n **** Celular existente ****\n\n"); // else { printf("\n\n"); printf(" Marca : "); gets(cel.marca); printf(" Modelo : "); gets(cel.modelo); printf(" Processador : "); fflush(stdin); gets(cel.processador); printf(" Memoria : "); gets(cel.memoria); printf(" Tela : "); gets(cel.tela); printf(" Tecnologia de Internet: "); gets(cel.inter); printf(" Sistema Operacional : "); gets(cel.sisopera); printf(" Valor : "); gets(cel.valor); while(op2!='s' && op2!='S' && op2!='n' && op2!='N') { printf("\n Salvar celular? (s/n): "); fflush(stdin); op2 = getchar(); if(op2=='S' || op2=='s') { alterado = 1; insereCelular(&liscel,cel); printf("\n\n **** Celular criado ****\n\n"); } else if(op2!='N' && op2!='n') printf("\n\n **** Pressione S ou N ****\n\n"); } } op2 = 'A'; break; case '4': fflush(stdin); printf("\n\n **** Apagar celular ****\n"); printf(" Modelo: "); gets(cel.modelo); rb = buscaCelular(&liscel,cel); if(rb < 0) printf("\n **** Celular n%co existe ****\n",198); else { printf(" Excluir %s? (S/N): ",cel.modelo); op2 = getchar(); if(op2=='s' || op2=='S') { removeCelular(&liscel,rb); alterado = 1; } } printf("\n\n"); break; case '5': qsort(liscel.celulares,liscel.ncel,sizeof(TCelular),ordenaMarca); mostreListaDeCelulares(&liscel); break; case '6': qsort(liscel.celulares,liscel.ncel,sizeof(TCelular),ordenaValor); mostreListaDeCelulares(&liscel); break; case '7': qsort(liscel.celulares,liscel.ncel,sizeof(TCelular),ordenaProcessador); mostreListaDeCelulares(&liscel); break; case '8': printf("\n\n"); case '0': break; default: printf("\n\n **** Entrada invalida ****\n\n"); } } if(alterado) { printf("\n\n Arquivo alterado. Deseja salvar as altera%c%ces? (S/N): ",135,228); fflush(stdin); op2 = getchar(); if(op2=='S' || op2=='s') { fp = fopen("Celulares.arq","wb"); fwrite(&liscel.ncel,sizeof(unsigned),1,fp); fwrite(liscel.celulares,sizeof(TCelular),liscel.ncel,fp); //fwrite(&liscon,sizeof(TListaContatos),1,fp); fclose(fp); printf("\n **** O arquivo foi salvo ****\n"); } } printf("\n"); return 0; } [/code]
×
×
  • Create New...