Ir para conteúdo
Fórum Script Brasil

Nayara Traldi

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Tudo que Nayara Traldi postou

  1. Eu gosto do Dev C++ e meu professor pediu pra ser programado lá
  2. Muito obrigada, o problema é que esse codigo tenho de entrgar até amanhã, e não estou conseguindo anexar os benditos ponteiros, e o professor pediu pra gente usar ponteiros mas acho q vou entregar assim mesmo e explicar pra ele dai eu apro eito e pego uns par de exericios para as frias porque se ão vou estar realmente acabda rs Obrigada pelas dicas.
  3. Não diria que está complicado. Veja bem: trabalhar com variáveis globais em programas pequenos não acarreta tanto problema. Agora, se o programa tem algumas milhares de linhas, variável global deixa de ser interessante, até porque é memória estática. Aí entra o ponteiro. Você poderia, por exemplo, manter essa estrutura na função principal, alocar memória dinamicamente para ela e passar esse ponteiro para a função que for manipular o cadastro, fazendo deleções, inserções, carga, descarga, etc mais facilmente. Isso pode simplificar as coisas, principalmente no quesito manutenção. Numa instância superior, temos a orientação a objetos, mas isso para manipulação de dados altamente complexos, em que se tem estruturas em vários níveis de aninhamento. Mas isso é outra história. :) Então, massabe o que acontece comigo parece que meu cerebro da um bloqueio, quando vou tentar fazer não sei parece que não entendo, e fui eu quem criou todo o programa minha logica ma eu e ponteiros não nos entendemos por enquanto prece que não sei utiliza-losdireito acho que esse é o ponto principal da minhaduvida como usar, manipular, porque usar, alis o que é exatamente uma memoria estática? E como faço para alocar utilizar todas essas funções com o bendito ponteiro? Bom, quanto a orientação a objetos vou entender um pouquinho mais, mais para frente na faculdade, vou ver alguma coisa, mas o principal por enquanto é entender como funciona o ponteiro, se não mais pra frente quando eu realmente precisar não vou saber usar, e isso é muito importante e util.
  4. Tá eu vou tentar fzer isso, então pra ver se eu entendi, parece que do jeito q fiz o programa não tá tão simples assim.
  5. Magina, o dev é bastante util pra gente ;p Precisando é só chamar.
  6. Olá pessoal, sou novata em programação em C, é meu primeiro ano de faculdade e tenho um puco de difuculdade com ponteiros, eu fiz um programa para cadastro, funciona perfeitamente e eu não achei bug algum só que preciso passar minhas funções com retorno e usando ponteiros, da maneira que fiz funciona, mas ainda não está aquado para o que preciso na faculdade de Si. Queria saber como posso melhorar meu código usando ponteiros e se tiver algum bug que não vi me avisem para eu tentar corrigir ou me passem algumas dicas, por esse motivo vou anexar o cadastro, estou programando com o dev c ++. Desde jáagradeço. CODE // //Cadastro desenvolvido a partir de um struct, para uma agenda telefonica. OBS: Necessário usar a aioria das funções ponteiros, menos a função sair. //bibliotecas #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<string.h> //prototipos de funções int cad (); int menu (); int pesquisanome(); int exibir(); int sair (); //estruturas struct cadastro { char nome [10]; int telefone; char apelido [30]; int celular; int ind; }cadas; // variaveis globais struct cadastro cdstr [100]; int vUltReg=0; int MAX=100; //inicio main() { menu (); } //FUNÇÕES //Menu int menu() { int opc; printf ("\n***************Menu Principal*****************\n\n"); printf ("----------------------------------------------\n"); printf("\n * Selecione a opcao desejada: *\n"); printf(" * *"); printf("\n * 1- Cadastrar agenda * \n * 2- Pesquisar Agenda por nome * \n * 3- Exibir Agenda *\n * 4- Sair *\n "); printf ("\n**********************************************\n\t"); scanf ("%d",&opc); switch(opc) { printf ("%d",opc); case 1: system ("cls"); printf ("\n******************Cadastro********************\n\n"); cad(); break; case 2: pesquisanome(); system ("pause"); system ("cls"); menu(); break; case 3: system ("cls"); printf("\n*********************Agenda:****************** \n"); exibir(); system ("cls"); system ("pause"); break; case 4: sair(); break; default: printf("\a\n\tOpcao invalida!\n\n"); fflush(stdin); system ("pause"); system ("cls"); menu (); } } //Cadastro int cad () { int x; int res; for (x=vUltReg; x<MAX; x++) { printf ("\n------------------Contato=%d-------------------\n",x+1); cdstr[x].ind=vUltReg+1; vUltReg = cdstr[x].ind; printf ("\nDigite o nome de seu contato:\n"); scanf("%s",&cdstr[x].nome); printf ("\nDigite um numero de telefone para seu contato:\n"); scanf ("%d",&cdstr[x].telefone); printf ("\nDigite o apelido do seu contato: \n"); scanf ("%s",&cdstr[x].apelido); printf ("\nDigite o celular de seu contato:\n"); scanf ("%d",&cdstr[x].celular); fflush(stdin); printf ("\n----------------------------------------------\n\n"); printf("\n**Deseja inserir novo cadastro na agenda? (0=Sim/1=não)**\n "); scanf("%d",&res); if (res==1){ system ("cls"); menu(); } if (x==MAX-1){ printf ("\n*****ATENCAO: Agenda atingiu limite de registros!*****\n"); system ("pause"); system ("cls"); menu(); } } } //Pesquisa Agenda por nome int pesquisanome() { char m [20]; int n; int comp; printf ("\t\n Pesquisa: Digite um nome:\n"); scanf ("%s",&m); for (n=0;n<vUltReg; n++) { comp=strcmp(cdstr[n].nome,m); if (comp==0) { printf ("\n\tContato = %d\n",cdstr[n].ind); printf ("\n\n\tContato correspondente a tal nome:\t\n"); printf ("\n \tNome do seu contato: %s\n", cdstr[n].nome); printf ("\n \tApelido de seu contato: %s\n", cdstr[n].apelido); printf ("\n \tO celular do seu contato: %d\n", cdstr[n].celular); printf ("\n \tO telefone do seu contato: %d\n", cdstr[n].telefone); } else printf (" Invalido, tente novamente!\n"); } } //Exibir Agenda de um numero n de pessoas cadastradas int exibir() { int z; for (z=0;z<vUltReg; z++) { printf ("\n----------------------------------------------\n\n"); printf ("\n\tContato = %d\n",cdstr[z].ind); printf ("\n \tNome de seu contato: %s\n", cdstr[z].nome); printf ("\n \tApelido de seu contato: %s\n", cdstr[z].apelido); printf ("\n \tO celular de seu contato: %d\n", cdstr[z].celular); printf ("\n \tO telefone de seu contato: %d\n\n\t", cdstr[z].telefone); } printf ("\n***Total de registros exibidos:%d***\n\n",z); system ("pause"); system ("cls"); menu(); } //Sair do programa int sair () { system ("cls"); printf("\n\t###Bye, bye! Foi muito bom trabalhar com voce!!!###\n\t\n"); system ("pause"); exit (1); }
  7. é simples expliquei td enquanto corrigia o programinha. #include <stdio.h> #include <stdlib.h> // biblioteca desnecessária#include<math.h> main () { int x,y,z,h; printf("\nEscreva sua idade,expressa em anos(Ex:19).\n"); scanf("%d", &x); printf("\nEscreva os meses(Ex:2).\n"); scanf("%d", &y); printf("\nEscreva agora os dias,complementando a resposta anterior).\n"); scanf("%d", &z); //seu erro estava no seu z com letra maiuscula h=x*360*24+y*24*30+24*z; printf("\nSua idade expressa em horas e: %d\n", h); system ("pause"); }
  8. #include<stdio.h> #include<conio.h> //biblioteca para o system #include<stdlib.h> char c,frase[81]; int numletras=0; int numvogal=0; int numconsoantes=0; int numespacobr=0; int main() { int i; printf("Entre com uma frase de ateh 80 caracteres:\n"); scanf("%s", &frase[c]); printf ("Retorna a frase armazenada:"); //o scanf só vai ser util quando ocê não usar espaço se for mais de uma palavra é mlehor o gets ele não dá esse erro printf("%s\n\n",frase); system ("pause"); }
  9. Nayara Traldi

    senha '*'

    é só você usar um vetor de cacteres, a biblioteca de strigs e %s, no lugar de %c vetor de cacteres ex: char vi1[15]; biblioteca e strings: #include <string.h>
  10. Nayara Traldi

    Problemas com vetor

    Bom, o que nosso aigo falou está certo mais tem que entender o porque e tambem adicionar uma bibiblioteca a mais. bom o %s serve quando você está trabalhando com strings. Strigs são caracteres com mais de uma letra digitada, palavras frases, etc. quando você trabalha com trigs você deve dicionar uma bibliteca com o nome de #include <string.h> agora voce vai ter seu programa perfeitinho qualquer duvida é so perguntar
  11. Oi, eu achei erro e agora tah funcionando certinho seu programa ficou muito legal, parabens era um erro super simples. O protótipo da sua função consultar estava faltando, faltou você anexar um prototipo, por terem nomes muito parecidos, provavelmente você não percebeu.. vou passar o codigo certinho. #include <stdio.h> #include <stdlib.h> #include <windows.h> #define clrscr() (system("CLS")) void gotoxy(int x, int y){ COORD coord; coord.X=(short)x; coord.Y=(short)y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord); } /******************************************************************************/ struct REG_CLI{ int CODIGO; char NOME[31]; char ENDERECO[100]; int CEP; int TELEFONE; char EMAIL[60]; int EXCLUIDO; }; struct REG_CLI CLIENTE; FILE *ARQCLI; int I,NR_CLI,ESCOLHA; char OPT[2]; char RESP,TECLA; char SISTEMA[33]="PROGRAMA DE CADASTRO DE CLIENTES"; /******************************************************************************/ void line(void); void center(int LINHA, char *MENSAGEM); void tela(void); void mostradados(void); int PESQUISA(int NUMERO); int cadastra(void); //prototipo "consultar" não estav xexado no seu prototipo /*Uma dica para você é a seguinte efite de por nomes parecidos, pois na hora de declarar você acaba se confundindo, isso eu prendi co meu professor, eu tinha muitos erros nos meus programas por causa disso se precisar é só falar ok!cadastrar e cadastrar sã coisas diferentes e com nomes muito parecidos só muda uma letra no final da palavra e as vezs a gente não entende isso.*/ int consultar(void); int editar(void); int cor(void); int exclusao(int NUMERO); /******************************************************************************/ void clearline(void){ printf(" "); return; } /******************************************************************************/ int main(void) { /*Verifica existencia do arquivo, se não existe, cria*/ char OPCAO; if((ARQCLI=fopen("CADCLI.DAT","rb+"))==NULL){ ARQCLI=fopen("CADCLI.DAT","wb+"); fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); } do{ system("COLOR F0"); clrscr(); line(); center(2,SISTEMA); center(3,"Menu de Opcoes"); gotoxy(26,9);printf("Cadastrar...............[1]"); gotoxy(26,11);printf("Consultar/Editar........[2]"); gotoxy(26,13);printf("Excluir.................[3]"); gotoxy(26,15);printf("Finalizar e salvar......[4]"); gotoxy(26,17);printf("Entre com a opcao:"); scanf("%c",&OPCAO);fflush(stdin); switch(OPCAO){ case '1':cadastra();break; case '2':ESCOLHA=0;consultar();break; case '3':ESCOLHA=1;consultar();break; } }while(OPCAO!='4'); fclose(ARQCLI); gotoxy(1,23); return(0); } /******************************************************************************/ /*Troca uma linha*/ void line(void){ int POSICAO; for(POSICAO=0;POSICAO<80;POSICAO++) printf("+"); return; } /*Centraliza uma mensagem no video em uma determinada linha*/ void center(int LINHA, char *MENSAGEM){ int COLUNA; COLUNA = ((80-strlen(MENSAGEM))/2); gotoxy(COLUNA,LINHA); printf(MENSAGEM); return; } /*Apresenta a tela de cadastro e consulta*/ /******************************************************************************/ void tela(void){ gotoxy(18,10);clearline(); gotoxy(18,11);clearline(); gotoxy(18,12);clearline(); gotoxy(18,13);clearline(); gotoxy(18,14);clearline(); gotoxy(18,15);clearline(); gotoxy(1,10);printf("Codigo......:"); gotoxy(1,11);printf("Nome........:"); gotoxy(1,12);printf("Endereco....:"); gotoxy(1,13);printf("CEP.........:"); gotoxy(1,14);printf("Telefone....:"); gotoxy(1,15);printf("E-Mail......:"); return; } /*Mostra os dados quando da consulta ou tentativa de cadastro*/ /******************************************************************************/ void mostradados(void){ gotoxy(18,10);printf("%d",NR_CLI); gotoxy(18,11);printf("%s",CLIENTE.NOME); gotoxy(18,12);printf("%s",CLIENTE.ENDERECO); gotoxy(18,13);printf("%d",CLIENTE.CEP); gotoxy(18,14);printf("%d",CLIENTE.TELEFONE); gotoxy(18,15);printf("%s",CLIENTE.EMAIL); return; } /******************************************************************************/ int pesquisa(int NUMERO){ int ACHOU = 0; rewind(ARQCLI); while(!feof(ARQCLI)&&ACHOU!=1){ fread(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); if(NUMERO==CLIENTE.CODIGO) ACHOU = 1; } return(ACHOU); } /******************************************************************************/ int exclusao(int NUMERO){ /*Exclusão de clientes*/ /*Nota para o professor: Achei dois modos de excluir um registro do arquivo, o primeiro foi substituir a struct dos elementos por uma struct vazia e a segunda foi o que está abaixo, que é recopiar o banco. Desse jeito eu pode ser que venha a travar pois o numero de instruções executadas é muito maior do que do outro modo, mas dessa maneira eu não comprometo a integridade do arquivo salvando arquivos com muito lixo dentro.*/ /* FILE *AUX; fclose(ARQCLI); system("copy CADCLI.DAT DADOS.DAT"); gotoxy(1,23);clearline();gotoxy(1,23); system("del CADCLI.DAT"); ARQCLI=fopen("CADCLI.DAT","wb+"); AUX=fopen("DADOS.DAT","rb+"); rewind(AUX); while(!feof(AUX)){ fread(&CLIENTE,sizeof(struct REG_CLI),1,AUX); if(NUMERO!=CLIENTE.CODIGO) fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); } fclose(AUX); system("del DADOS.DAT"); gotoxy(1,23); printf("Registro excluido! Pressione <Enter> para prosseguir "); fflush(stdin); while((TECLA = getchar())!='\n') gotoxy(33,23); return(0);*/ /*segunda maneira*/ CLIENTE.EXCLUIDO=1; fseek(ARQCLI , -(long)sizeof(struct REG_CLI), 1); fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); printf("Registro excluido! Pressione <Enter> para prosseguir "); /*Eu poderia setar um flag apontando se ele estivesse sendo excluido ou não com a data e hora da exclusão mas eu procurei fazer de um modo simples*/ } /******************************************************************************/ /*Cadastramento de dados*/ int cadastra(void){ clrscr(); line(); center(2,SISTEMA); center(3,"Modulo de Cadastramento\n"); line(); gotoxy(28,1);printf("Digite os dados abaixo"); do{ gotoxy(1,22);//clearline() gotoxy(1,23);//clearline() printf("Digite[0] para voltar ao menu "); tela(); gotoxy(18,10);fflush(stdin); scanf("%d",&NR_CLI); gotoxy(1,23);//clearline(); if(NR_CLI!=0){ if(pesquisa(NR_CLI)==1) { /*Apresenta os dados caso exista no arquivo*/ mostradados(); gotoxy(1,22); if(CLIENTE.EXCLUIDO!=1)printf("Este registro já existe "); else printf("Este registro foi excluido "); gotoxy(1,23); printf("Tecle <Enter> para nova tentativa "); fflush(stdin); while((TECLA=getchar())!='\n') gotoxy(33,23); gotoxy(1,22);clearline(); } else{ /*Localiza posicao para gravar registro*/ fseek(ARQCLI,(long)sizeof(struct REG_CLI),2); /*Grava registro*/ gotoxy(18,11); fflush(stdin);fgets(CLIENTE.NOME,31,stdin); gotoxy(18,12); fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin); gotoxy(18,13); fflush(stdin);scanf("%d",&CLIENTE.CEP); gotoxy(18,14); fflush(stdin);scanf("%d",&CLIENTE.TELEFONE); gotoxy(18,15); fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin); CLIENTE.CODIGO=NR_CLI; CLIENTE.EXCLUIDO = 0; fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); gotoxy(1,23); printf("Tecle <Enter> para nova tentativa "); fflush(stdin); while((TECLA = getchar())!='\n') gotoxy(33,23); } } } while(NR_CLI != 0); return(0); } /******************************************************************************/ /*Consulta dos dados*/ int consultar(void){ clrscr(); line(); center(2,SISTEMA); center(3,"Modulo de consulta\n"); line(); gotoxy(28,6);printf("Digite o numero do codigo:"); do{ gotoxy(1,22);//clearline(); gotoxy(1,23);//clearline(); printf("Digite [0] para voltar ao menu "); tela(); gotoxy(18,10);fflush(stdin);scanf("%d",&NR_CLI); gotoxy(1,23);//clearline(); if(NR_CLI != 0){ I=pesquisa(NR_CLI); if(I==1&&CLIENTE.EXCLUIDO==0){ /*Apresenta os dados caso exista no arquivo*/ mostradados(); alterar: gotoxy(1,23);clearline();gotoxy(1,23); if(ESCOLHA==0) { printf("Deseja editar esse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin); if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){} else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){ editar(); } else{ gotoxy(1,23);clearline();gotoxy(1,23); printf("Digite S ou N! Pressione <Enter> para continuar... "); while((TECLA=getchar())!='\n') gotoxy(33,23); goto alterar; } } else { printf("Deseja excluir esse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin); if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){} else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0) { gotoxy(1,23);clearline();gotoxy(1,23); exclusao(NR_CLI); } else{ gotoxy(1,23);clearline();gotoxy(1,23); printf("Digite S ou N! Pressione <Enter> para continuar... "); while((TECLA=getchar())!='\n') gotoxy(33,23); goto alterar; } } gotoxy(1,23); printf("Tecle <Enter> para nova tentativa "); fflush(stdin); while((TECLA=getchar())!='\n') gotoxy(33,23); } else{ gotoxy(1,22); if(CLIENTE.EXCLUIDO!=1) printf("Este registro não esta cadastrado "); else{ printf("Este registro esta excluido "); mostradados(); } gotoxy(1,23); printf("Tecle <Enter> para nova tentativa "); fflush(stdin); while((TECLA=getchar())!='\n') gotoxy(33,23); gotoxy(1,22); printf(" "); } } }while(NR_CLI!=0); return(0); } /*****************************************************************************/ /*Edição de dados*/ int editar(void){ /*Alterações e miscelenia*/ char OPCAO; int achou=2; do{ gotoxy(1,23);printf("[1]Nome|[2]Endereco|[3]CEP|[4]Telefone|[5]Email|[6]Confirma|[7]Abandona:"); fflush(stdin);OPCAO=getchar(); switch(OPCAO){ case '1': gotoxy(18,11);printf(" ");gotoxy(18,11); fflush(stdin);fgets(CLIENTE.NOME,31,stdin); break; case '2': gotoxy(18,12);printf(" ");gotoxy(18,12); fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin); break; case '3': gotoxy(18,13);printf(" ");gotoxy(18,13); fflush(stdin);scanf("%d",&CLIENTE.CEP); break; case '4': gotoxy(18,14);printf(" ");gotoxy(18,14); fflush(stdin);scanf("%d",&CLIENTE.TELEFONE); break; case '5': gotoxy(18,15);printf(" ");gotoxy(18,15); fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin); break; case '6': Confirma: gotoxy(1,23);clearline();gotoxy(1,23); printf("Confirma a edicao desse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin); if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){} else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){ achou=0; } else{ gotoxy(1,23); printf("Digite S ou N! Pressione <Enter> para continuar... "); while((TECLA=getchar())!='\n') gotoxy(33,23); goto Confirma; } break; case '7': Cancela: gotoxy(1,23);clearline();gotoxy(1,23); printf("Abandona a edicao desse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin); if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){} else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){ achou=1; } else{ gotoxy(1,23);clearline();gotoxy(1,23); printf("Digite S ou N! Pressione <Enter> para continuar... "); while((TECLA=getchar())!='\n') gotoxy(33,23); goto Cancela; } break; } gotoxy(71,23);printf(" "); }while(achou!=0&&achou!=1); gotoxy(1,23); if(achou==0){ fseek(ARQCLI , -(long)sizeof(struct REG_CLI), 1); fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI); printf("Sucesso na alteracao do registro! Pressione <Enter> para prosseguir "); } else { printf("Registro alterado! Pressione <Enter> para prosseguir "); } fflush(stdin); while((TECLA = getchar())!='\n') gotoxy(33,23); gotoxy(1,23);clearline(); return(0); }
  12. Olá pessoal, sou novata em programação em C, é meu primeiro ano de faculdade e tenho um puco de difuculdade com ponteiros, eu fiz um programa para cadastro, funciona perfeitamente e eu não achei bug algum só que preciso passar minhas funções com retorno e usando ponteiros, da maneira que fiz funciona, mas ainda não está aquado para o que preciso na faculdade de Si. Queria saber como posso melhorar meu código usando ponteiros e se tiver algum bug que não vi me avisem para eu tentar corrigir ou me passem algumas dicas, por esse motivo vou anexar o cadastro, estou programando com o dev c ++. Desde jáagradeço. // //Cadastro desenvolvido a partir de um struct, para uma agenda telefonica. OBS: Necessário usar a aioria das funções ponteiros, menos a função sair. //bibliotecas #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<string.h> //prototipos de funções int cad (); int menu (); int pesquisanome(); int exibir(); int sair (); //estruturas struct cadastro { char nome [10]; int telefone; char apelido [30]; int celular; int ind; }cadas; // variaveis globais struct cadastro cdstr [100]; int vUltReg=0; int MAX=100; //inicio main() { menu (); } //FUNÇÕES //Menu int menu() { int opc; printf ("\n***************Menu Principal*****************\n\n"); printf ("----------------------------------------------\n"); printf("\n * Selecione a opcao desejada: *\n"); printf(" * *"); printf("\n * 1- Cadastrar agenda * \n * 2- Pesquisar Agenda por nome * \n * 3- Exibir Agenda *\n * 4- Sair *\n "); printf ("\n**********************************************\n\t"); scanf ("%d",&opc); switch(opc) { printf ("%d",opc); case 1: system ("cls"); printf ("\n******************Cadastro********************\n\n"); cad(); break; case 2: pesquisanome(); system ("pause"); system ("cls"); menu(); break; case 3: system ("cls"); printf("\n*********************Agenda:****************** \n"); exibir(); system ("cls"); system ("pause"); break; case 4: sair(); break; default: printf("\a\n\tOpcao invalida!\n\n"); fflush(stdin); system ("pause"); system ("cls"); menu (); } } //Cadastro int cad () { int x; int res; for (x=vUltReg; x<MAX; x++) { printf ("\n------------------Contato=%d-------------------\n",x+1); cdstr[x].ind=vUltReg+1; vUltReg = cdstr[x].ind; printf ("\nDigite o nome de seu contato:\n"); scanf("%s",&cdstr[x].nome); printf ("\nDigite um numero de telefone para seu contato:\n"); scanf ("%d",&cdstr[x].telefone); printf ("\nDigite o apelido do seu contato: \n"); scanf ("%s",&cdstr[x].apelido); printf ("\nDigite o celular de seu contato:\n"); scanf ("%d",&cdstr[x].celular); fflush(stdin); printf ("\n----------------------------------------------\n\n"); printf("\n**Deseja inserir novo cadastro na agenda? (0=Sim/1=não)**\n "); scanf("%d",&res); if (res==1){ system ("cls"); menu(); } if (x==MAX-1){ printf ("\n*****ATENCAO: Agenda atingiu limite de registros!*****\n"); system ("pause"); system ("cls"); menu(); } } } //Pesquisa Agenda por nome int pesquisanome() { char m [20]; int n; int comp; printf ("\t\n Pesquisa: Digite um nome:\n"); scanf ("%s",&m); for (n=0;n<vUltReg; n++) { comp=strcmp(cdstr[n].nome,m); if (comp==0) { printf ("\n\tContato = %d\n",cdstr[n].ind); printf ("\n\n\tContato correspondente a tal nome:\t\n"); printf ("\n \tNome do seu contato: %s\n", cdstr[n].nome); printf ("\n \tApelido de seu contato: %s\n", cdstr[n].apelido); printf ("\n \tO celular do seu contato: %d\n", cdstr[n].celular); printf ("\n \tO telefone do seu contato: %d\n", cdstr[n].telefone); } else printf (" Invalido, tente novamente!\n"); } } //Exibir Agenda de um numero n de pessoas cadastradas int exibir() { int z; for (z=0;z<vUltReg; z++) { printf ("\n----------------------------------------------\n\n"); printf ("\n\tContato = %d\n",cdstr[z].ind); printf ("\n \tNome de seu contato: %s\n", cdstr[z].nome); printf ("\n \tApelido de seu contato: %s\n", cdstr[z].apelido); printf ("\n \tO celular de seu contato: %d\n", cdstr[z].celular); printf ("\n \tO telefone de seu contato: %d\n\n\t", cdstr[z].telefone); } printf ("\n***Total de registros exibidos:%d***\n\n",z); system ("pause"); system ("cls"); menu(); } //Sair do programa int sair () { system ("cls"); printf("\n\t###Bye, bye! Foi muito bom trabalhar com voce!!!###\n\t\n"); system ("pause"); exit (1); }
×
×
  • Criar Novo...