Well, I did this test with vectors, but I'm having a problem with bool, which never fakes and displays the message not found.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
int main() {
char *palavras[] = {"maca", "uva", "pera"};
int tamanho = sizeof(palavras) / sizeof(char *);
int tam = tamanho;
char nome[100];
bool achou = false;
while(true) {
if(tam > 0) {
printf("[ ");
for(int i=0; i<tam - 1; i++) {
printf("%s, ", palavras[i]);
}
printf("%s ]\n", palavras[tam - 1]);
}
printf("Deseja excluir qual fruta? ");
fgets(nome, 20, stdin);
nome[strlen(nome) - 1] = '#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
int main() {
char *palavras[] = {"maca", "uva", "pera"};
int tamanho = sizeof(palavras) / sizeof(char *);
int tam = tamanho;
char nome[100];
bool achou = false;
while(true) {
if(tam > 0) {
printf("[ ");
for(int i=0; i<tam - 1; i++) {
printf("%s, ", palavras[i]);
}
printf("%s ]\n", palavras[tam - 1]);
}
printf("Deseja excluir qual fruta? ");
fgets(nome, 20, stdin);
nome[strlen(nome) - 1] = '%pre%';
if(tam == 0) { puts("Sem frutas disponiveis"); break; }
for(int i=0; i<tam; i++) {
achou = false;
if(!strcmp(nome, palavras[i])) {
printf("Fruta: %s, excluida.\n\n", nome);
for(int j=i; j<tam - 1; j++) {
palavras[j] = palavras[j + 1];
}
tam--;
achou = true;
break;
}
if(achou) { //se falso
printf("Fruta: %s, nao encontrada.\n\n", nome);
} } }
return 0;
}
';
if(tam == 0) { puts("Sem frutas disponiveis"); break; }
for(int i=0; i<tam; i++) {
achou = false;
if(!strcmp(nome, palavras[i])) {
printf("Fruta: %s, excluida.\n\n", nome);
for(int j=i; j<tam - 1; j++) {
palavras[j] = palavras[j + 1];
}
tam--;
achou = true;
break;
}
if(achou) { //se falso
printf("Fruta: %s, nao encontrada.\n\n", nome);
} } }
return 0;
}
I can not resolve this.