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-incluirt|n|t2-Consultart|n|t3-excluirt|n|t4-sairt |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-Nomet|n|t2-Bairrot|n|t3-Cidadet|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("ntNumero Agenda: ");
puts(agenda[i].na); printf("ntNome: ");
printf("ntNome: ");
puts(agenda[i].nome);
printf("ntRua: ");
puts(agenda[i].rua);
printf("ntBairro: ");
puts(agenda[i].bairro);
printf("ntNumero: ");
puts(agenda[i].numero);
printf("ntCidade: ");
puts(agenda[i].cidade);
printf("ntEstado: ");
puts(agenda[i].se);
printf("ntCEP: ");
puts(agenda[i].CEP);
printf("nt______________");}}
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("ntNumero Agenda: ");
puts(agenda[i].na); printf("ntNome: ");
printf("ntNome: ");
puts(agenda[i].nome);
printf("ntRua: ");
puts(agenda[i].rua);
printf("ntBairro: ");
puts(agenda[i].bairro);
printf("ntNumero: ");
puts(agenda[i].numero);
printf("ntCidade: ");
puts(agenda[i].cidade);
printf("ntEstado: ");
puts(agenda[i].se);
printf("ntCEP: ");
puts(agenda[i].CEP);
printf("nt______________");}}
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("ntNumero Agenda: ");
puts(agenda[i].na);
printf("ntNome: ");
puts(agenda[i].nome);
printf("ntRua: ");
puts(agenda[i].rua);
printf("ntBairro: ");
puts(agenda[i].bairro);
printf("ntNumero: ");
puts(agenda[i].numero);
printf("ntCidade: ");
puts(agenda[i].cidade);
printf("ntEstado: ");
puts(agenda[i].se);
printf("ntCEP: ");
puts(agenda[i].CEP);
printf("nt______________");}}
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("ntNumero Agenda: ");
puts(agenda[i].na);
printf("ntNome: ");
puts(agenda[i].nome);
printf("ntRua: ");
puts(agenda[i].rua);
printf("ntBairro: ");
puts(agenda[i].bairro);
printf("ntNumero: ");
puts(agenda[i].numero);
printf("ntCidade: ");
puts(agenda[i].cidade);
printf("ntEstado: ");
puts(agenda[i].se);
printf("ntCEP: ");
puts(agenda[i].CEP);
printf("nt______________");}}
printf("ntDigite o Numero Agenda do Nome na qual voce quer excluir: ");
fflush(stdin);
scanf("%d",&i);
fflush(stdin);
if(agenda[i].exc==0){
printf("nt%d . %s ntDeseja excluir esse contato?nt1-Simnt2-NaontOpcao: ",agenda[i].na,agenda[i].nome);
fflush(stdin);
scanf("%d",&eopc);
fflush(stdin);
switch (eopc){
case 1:
agenda[i].exc=1;
printf("tnNumero excluido !");
break;
case 2:
printf("tnNumero nao excluido !");
break;}}}}
system("PAUSE");
return 0;
}
你好:D该程序是构建的,或试图成为可以保存联系人的笔记本。但是我收到此警告,当"看跌"进入程序时,它会崩溃。有人可以帮忙吗?
[警告] 传递 'puts' 的参数 1 会使指针从整数中没有 投
谢谢。
puts(agenda[i].na);
在您的代码中,agenda[i].na
是一个int
。您无法用puts
打印,请尝试printf
:
printf("%dn", agenda[i].na);
当"看跌"进入程序时,它会崩溃。
您正在诱骗puts
使用随机整数作为指针。