Ari202 Postado Novembro 3, 2022 Denunciar Share Postado Novembro 3, 2022 Estou fazendo um projeto e é preciso cadastrar e excluir um usuário porém não consigo de forma alguma fazer funcionar a parte de excluir #include <stdio.h> #include <string.h> #include <locale.h> #include <stdlib.h> int main (){ int i=0, id[10]; char nome[10][5], email[10][5], sexo[10][5], endereco[10][5], emailBusca[10][5]; //tipo %s double altura[10]; //%lf char vacina [10][5]; //%s int menu; int j, x; char excluir[10]; do { printf("Digite a opcao desejada do menu:\n"); printf ("1 - Cadastrar \n"); printf ("2 - Editar \n"); printf ("3 - Excluir \n"); printf ("4 - Buscar pelo email \n"); printf ("5 - Imprimir todos usuarios cadastrados \n"); printf ("6 - Realizar backup \n"); printf ("7 - Fechar o programa \n"); fflush(stdin); scanf("%i", &menu); switch (menu){ case 1: id[i] = rand() %10; printf("Usuario:%d\n ID:%d\n", i +1,id[i]); // i+1 para saber em qual cadastro estar. printf("Digite seu nome: \n"); fflush(stdin); fgets(nome[i],10,stdin); //usa-se para uma string onde o usuario vai digitar nome composto; printf("Digite seu email: \n"); scanf("%s", email[i]); getchar(); if(strchr(email[i], '@') == 0){ printf("Email invalido\n"); printf("Forneca o email:"); fflush(stdin); fgets(email[i],10,stdin); } else{ printf("Email valido\n"); } printf(" Digite seu endereço: \n"); fflush(stdin); fgets(endereco[i],10,stdin); printf("Digite seu sexo: feminino, masculino ou não declarar: \n"); fflush(stdin); scanf("%s", &sexo[i]); if(strcmp(sexo[i], "feminino")== 0 || strcmp(sexo[i], "masculino")==0 || strcmp(sexo[i], "não declarar")==0){ printf("Sexo valido\n");//não esta imprimindo valido mesmo a condição sendo verdadeira*arrumor*. } else{ printf("Sexo invalido\n"); } printf("Digite a altura: \n"); scanf("%lf", &altura[i]); if(altura[i] > 1.00 && altura[i] < 2.00){ printf("Altura valida\n"); } else{ printf("Altura invalida\n"); } printf("Digite sim se voce foi vacinado ou não: \n"); fflush(stdin); scanf("%s", &vacina[i]); if (strcmp(vacina[i], "sim")==0){// o strcmp é utilizado para comparar uma string. "string comper" printf("voce tomou a vacina.\n"); } else{ printf("voce não tomou a vacina.\n"); } i++; break; switch (menu){ case 3://incompleto Printf ("qual usuario sera excluido? "); Scanf("%d", &excluir); for(j = excluir; j != 10; j++){ id[j] = id[j + 1]; strcpy(nome[j], nome[j + 1]); strcpy(email[j], email[j + 1]); strcpy(sexo[j], sexo[j + 1]); strcpy(endereco[j], endereco[j + 1]); altura[j] = altura[j + 1];} Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ari202
Estou fazendo um projeto e é preciso cadastrar e excluir um usuário porém não consigo de forma alguma fazer funcionar a parte de excluir
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <stdlib.h>
int main (){
int i=0, id[10];
char nome[10][5], email[10][5], sexo[10][5], endereco[10][5], emailBusca[10][5]; //tipo %s
double altura[10]; //%lf
char vacina [10][5]; //%s
int menu;
int j, x;
char excluir[10];
do {
printf("Digite a opcao desejada do menu:\n");
printf ("1 - Cadastrar \n");
printf ("2 - Editar \n");
printf ("3 - Excluir \n");
printf ("4 - Buscar pelo email \n");
printf ("5 - Imprimir todos usuarios cadastrados \n");
printf ("6 - Realizar backup \n");
printf ("7 - Fechar o programa \n");
fflush(stdin);
scanf("%i", &menu);
switch (menu){
case 1:
id[i] = rand() %10;
printf("Usuario:%d\n ID:%d\n", i +1,id[i]); // i+1 para saber em qual cadastro estar.
printf("Digite seu nome: \n");
fflush(stdin);
fgets(nome[i],10,stdin); //usa-se para uma string onde o usuario vai digitar nome composto;
printf("Digite seu email: \n");
scanf("%s", email[i]);
getchar();
if(strchr(email[i], '@') == 0){
printf("Email invalido\n");
printf("Forneca o email:");
fflush(stdin);
fgets(email[i],10,stdin);
}
else{
printf("Email valido\n");
}
printf(" Digite seu endereço: \n");
fflush(stdin);
fgets(endereco[i],10,stdin);
printf("Digite seu sexo: feminino, masculino ou não declarar: \n");
fflush(stdin);
scanf("%s", &sexo[i]);
if(strcmp(sexo[i], "feminino")== 0 || strcmp(sexo[i], "masculino")==0 || strcmp(sexo[i], "não declarar")==0){
printf("Sexo valido\n");//não esta imprimindo valido mesmo a condição sendo verdadeira*arrumor*.
}
else{
printf("Sexo invalido\n");
}
printf("Digite a altura: \n");
scanf("%lf", &altura[i]);
if(altura[i] > 1.00 && altura[i] < 2.00){
printf("Altura valida\n");
}
else{
printf("Altura invalida\n");
}
printf("Digite sim se voce foi vacinado ou não: \n");
fflush(stdin);
scanf("%s", &vacina[i]);
if (strcmp(vacina[i], "sim")==0){// o strcmp é utilizado para comparar uma string. "string comper"
printf("voce tomou a vacina.\n");
}
else{
printf("voce não tomou a vacina.\n");
}
i++;
break;
switch (menu){
case 3://incompleto
Printf ("qual usuario sera excluido? ");
Scanf("%d", &excluir);
for(j = excluir; j != 10; j++){
id[j] = id[j + 1];
strcpy(nome[j], nome[j + 1]);
strcpy(email[j], email[j + 1]);
strcpy(sexo[j], sexo[j + 1]);
strcpy(endereco[j], endereco[j + 1]);
altura[j] = altura[j + 1];}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.