Ir ao conteúdo
  • Cadastre-se

Ajuda em char


Gps

Posts recomendados

estou com problema para apagar e ler char e tambem usar o gets.

Nao consegui usar o gets, logo pus scanf no prog, mas agora ele nao quer ler ou deletar o char :/

Alguem poderia me ajudar?

(ainda falta termina-lo, mas ja me ajudando nesses erros agradeço ^^)

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<string.h>

void opmenu()

{

system("cls");

printf("#########################################\n");

printf("# PROGRAMA DE CONTROLE DO CLIENTE #######\n");

printf("#########################################\n");

printf("\n-------------MENU-----------------------\n");

printf(" 1- Adicionar contato\n 2- Exibir contato\n 3- Excluir contato\n 4-Sair");

printf("\n----------------------------------------\n");

printf("Escolha uma opcao:");

}

int main()

{

int contatos,op,c;

fflush(stdin);

printf("Digite o numero de contatos a cadastrar:\n");

scanf("%d",&contatos);

while (contatos<=0)

{

printf("Digite um número maior que zero:");

scanf("%d",&contatos);

system("cls");

}

char pessoas[contatos][50], endereco[contatos][100], email[contatos][80];

char excluir[50],result;

int dadospessoais[contatos][6], i=0,ex=0;

do

{

opmenu();

scanf("%d",&op);

while (op!=1 && op!=2 && op!=3 && op!=4)

{

printf("Opcao nao valida, digite 1, 2, 3 ou 4:\n");

scanf("%d",&op);

}

switch (op)

{

case 1: if (ex!=0)

{

printf("Digite o nome do contato:\n");

scanf(" %[^\n]",pessoas[ex]);

printf("Digite o endereco:\n");

scanf(" %[^\n]", endereco[ex]);

printf("Digite o e-mail:\n");

scanf(" %[^\n]", email[ex]);

printf("Digite o telefone celular do contato (apenas os números):\n- ");

scanf("%d",&dadospessoais[ex][0]);

printf("Digite o telefone residencial do contato (apenas os números):\n- ");

scanf("%d",&dadospessoais[ex][1]);

ex=0;

}

if (i<contatos)

{

printf("Digite o nome do contato:\n");

scanf(" %[^\n]",pessoas);

printf("Digite o endereco:\n");

scanf(" %[^\n]", endereco);

printf("Digite o e-mail:\n");

scanf(" %[^\n]", email);

printf("Digite o telefone celular do contato (apenas os números):\n- ");

scanf("%d",&dadospessoais[0]);

printf("Digite o telefone residencial do contato (apenas os números):\n- ");

scanf("%d",&dadospessoais[1]);

} else

{

printf("Numero limite de clientes atingido");

}

i++;

break;

case 2: system("cls");

printf("Digite o nome do contato que queira excluir:\n");

scanf(" %[^\n]", excluir);

for (c=0;c<i;c++)

{

result = strcmp(excluir, pessoas);

if(result==0)

{

pessoas=(" ");

endereco=(" ");

email=(" ");

dadospessoais[0]=0;

dadospessoais[1]=0;

ex=i;

}

}

system("pause");

break;

case 3:

printf("Digite o nome do contato que queira ver os dados:\n");

scanf(" %[^\n]", excluir);

for (c=0;c<i;c++)

{

result = strcmp(excluir, pessoas);

if(result==0)

{

printf("%c" ,pessoas);

printf("%c" ,endereco);

printf("%c" ,email);

printf("%d" ,dadospessoais[0]);

printf("%d" ,dadospessoais[1]);

}

}

system("pause");

break;

}

}while(op!=3);

return 0;

}

Link para o comentário
Compartilhar em outros sites

Ola GPS, quando for postar seu código coloque ele entre

 

assim a identação dele não será destruída.

Outra coisa, em c você sempre declara todas as variáveis que for usar no começo da função, logo os vetores pessoas, endereco, contatos (...) deveriam ser declarados antes de você ler o número de contatos. E quando você declara esses vetores eles tem que ter um tamanho constante, ou seja, não pode usar uma variável como você está fazendo para declarar o tamanho deles, ou você declara eles com um tamanho superior a qualquer número que o usuário possa digitar (logo coloca um limite para o usuário digitar) ou você usa alocação dinâmica para armazenar isso.

E quanto ao que você quer fazer para limpar as strings o correto é colocar um '\0' na primeira posição da string. Ai você terá um string nulo. E você também pode tirar esse include <conio.h> dai.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!