struct{
char nome[30],rua [50],bairro [20],cidade [30],se [3] ;
int na, exc, numero;
long int CEP;
}typedef endereco;
main(){
endereco agenda[20];
int i, j, opc, opc1=0, opc2, eopc ;
char pnome[30], pbairro[20], pcidade[30], enome[30];
while (opc!=4){
system("cls");
printf("Agenda facs, digite a opção: \n|\t1-incluir\t|\n|\t2-Consultar\t|\n|\t3-excluir\t|\n|\t4-sair\t |\nDigite a opção ");
scanf("%d",&opc);
fflush(stdin);
switch (opc){
case 1:
system("cls");
printf("Digite os Dados a seguir para incluir no # %d :\n",opc1+1);
agenda[opc1].na=opc1+1;
agenda[opc1].exc=0;
printf("Digite o nome: ");
gets(agenda[opc1].nome);
printf("Digite a Rua: ");
gets(agenda[opc1].rua);
printf("Digite o Bairro: ");
gets(agenda[opc1].bairro);
printf("Digite o numero: ");
fflush(stdin);
scanf("%d",&agenda[opc1].numero);
fflush(stdin);
printf("Digite a Cidade: ");
gets(agenda[opc1].cidade);
printf("Digite a Sigla do Estado: ");
gets(agenda[opc1].se);
printf("Digite o CEP: ");
fflush(stdin);
scanf("%d",&agenda[opc1].CEP);
fflush(stdin);
opc1++;
break;
case 2:
system("cls");
printf("\n|\t1-Nome\t|\n|\t2-Bairro\t|\n|\t3-Cidade\t|\n|\tDigite a opção ");
scanf("%d",&opc2);
printf("\t|\n");
fflush(stdin);
switch (opc2){
case 1:
system("cls");
printf("Qual o nome a procurar? ");
gets(pnome);
for(i=0;i<20;i++){
if(strcmp(pnome,agenda[i].nome)==0){
printf("\n\tNumero Agenda: ");
puts(agenda[i].na); printf("\n\tNome: ");
printf("\n\tNome: ");
puts(agenda[i].nome);
printf("\n\tRua: ");
puts(agenda[i].rua);
printf("\n\tBairro: ");
puts(agenda[i].bairro);
printf("\n\tNumero: ");
puts(agenda[i].numero);
printf("\n\tCidade: ");
puts(agenda[i].cidade);
printf("\n\tEstado: ");
puts(agenda[i].se);
printf("\n\tCEP: ");
puts(agenda[i].CEP);
printf("\n\t______________");}}
break;
case 2:
system("cls");
printf("Qual o Bairro a procurar? ");
gets(pbairro);
for(i=0;i<20;i++){
if(strcmp(pbairro,agenda[i].bairro)==0){
printf("\n\tNumero Agenda: ");
puts(agenda[i].na); printf("\n\tNome: ");
printf("\n\tNome: ");
puts(agenda[i].nome);
printf("\n\tRua: ");
puts(agenda[i].rua);
printf("\n\tBairro: ");
puts(agenda[i].bairro);
printf("\n\tNumero: ");
puts(agenda[i].numero);
printf("\n\tCidade: ");
puts(agenda[i].cidade);
printf("\n\tEstado: ");
puts(agenda[i].se);
printf("\n\tCEP: ");
puts(agenda[i].CEP);
printf("\n\t______________");}}
break;
case 3:
system("cls");
printf("Qual a Cidade a procurar? ");
gets(pcidade);
for(i=0;i<20;i++){
if(strcmp(pbairro,agenda[i].cidade)==0){
printf("\n\tNumero Agenda: ");
puts(agenda[i].na);
printf("\n\tNome: ");
puts(agenda[i].nome);
printf("\n\tRua: ");
puts(agenda[i].rua);
printf("\n\tBairro: ");
puts(agenda[i].bairro);
printf("\n\tNumero: ");
puts(agenda[i].numero);
printf("\n\tCidade: ");
puts(agenda[i].cidade);
printf("\n\tEstado: ");
puts(agenda[i].se);
printf("\n\tCEP: ");
puts(agenda[i].CEP);
printf("\n\t______________");}}
break;}
case 3:
system("cls");
printf("Digite o Numero da Agenda que deseja excluir");
gets(enome);
for(i=0;i<20;i++){
if(strcmp(enome,agenda[i].nome)==0){
printf("\n\tNumero Agenda: ");
puts(agenda[i].na);
printf("\n\tNome: ");
puts(agenda[i].nome);
printf("\n\tRua: ");
puts(agenda[i].rua);
printf("\n\tBairro: ");
puts(agenda[i].bairro);
printf("\n\tNumero: ");
puts(agenda[i].numero);
printf("\n\tCidade: ");
puts(agenda[i].cidade);
printf("\n\tEstado: ");
puts(agenda[i].se);
printf("\n\tCEP: ");
puts(agenda[i].CEP);
printf("\n\t______________");}}
printf("\n\tDigite o Numero Agenda do Nome na qual voce quer excluir: ");
fflush(stdin);
scanf("%d",&i);
fflush(stdin);
if(agenda[i].exc==0){
printf("\n\t%d . %s \n\tDeseja excluir esse contato?\n\t1-Sim\n\t2-Nao\n\tOpcao: ",agenda[i].na,agenda[i].nome);
fflush(stdin);
scanf("%d",&eopc);
fflush(stdin);
switch (eopc){
case 1:
agenda[i].exc=1;
printf("\t\nNumero excluido !");
break;
case 2:
printf("\t\nNumero nao excluido !");
break;}}}}
system("PAUSE");
return 0;
}
Hello :D This program was build, or trying to, be a notebook that you can save contacts. But i'm getting this warning, and when the 'puts' come in the program, it crashes. Someone can help ?
[Warning] passing arg 1 of `puts' makes pointer from integer without a cast
Thanks.
In your code
agenda[i].na
is anint
. You can't print it withputs
, tryprintf
:You are tricking
puts
into using a random integer as a pointer.