-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Dener Andrade
-
-
@devair1010 Oi Devair boa noite, eu executei o código que você enviou e na paste de Listar todos, quando eu aperto a tecla 2 pra listar, aparece na tela bem rápido e depois some, vi que pra isso é utilizado o break, mas mesmo assim não esta funcionando..
1 hora atrás, Dener Andrade disse:@arfnetomuito obrigado pela ajuda e pelo feedback! , vou me atentar e melhorar tudo isso que você mencionou, sei que estou no começo da programação e toda ajuda e conselho são sempre bem vindos.
Valeu mesmo !- 2
-
@arfnetomuito obrigado pela ajuda e pelo feedback! , vou me atentar e melhorar tudo isso que você mencionou, sei que estou no começo da programação e toda ajuda e conselho são sempre bem vindos.
Valeu mesmo !15 horas atrás, devair1010 disse:@Dener Andrade não se pode excluir os dados , apenas substituir o que estiver nas posições da memória , então use om laço de repetição que pode ser o For mesmo e percorra os vetores Que você quiser remover os dados e preencha tais vetores com outro valor , e assim quando for pesquisar e encontrando esse novo valor inserido nos vetores saberá que não tem nenhum dados cadastrado , e o cpf e ra pode ser do tipo char , para não usar esse double , pois não irá usar esses dados para fazer nenhum cálculo , e seu código com algumas modificações ficou assim :
#define _WIN32_WINNT 0x0500 // tem ficar aqui na primeira linha #define _CRT_SECURE_NO_WARNINGS // para usar scanf e outras funcoes no visual studio #include <stdio.h> #include <windows.h> #include <ctype.h> // para usar funcoes toupper e outras #include <conio.h> // biblioteca antiga para usar o comandô getch #include <string.h> // faltou esse include #include <stdlib.h> #define cls system("cls"); // Limpa a Tela #define getch() _getch() // para usar comandô getch() no visual studio #define SIZE 200 char nome [SIZE][50]; char sobrenome[SIZE][50]; char email [SIZE][50]; char cpf [SIZE][50]; char ra [SIZE][50]; int cadastro ( int ); void pesquisa (); void listar (); void remover (); int pesqui ( char* , char[200][50] ); int main(void) { int op=0,c=0; do { cls printf("\n----CADASTRAR ALUNO----\n\n\n\ \r 1 - Cadastrar \n\ \r 2 - Listar todos \n\ \r 3 - Pesquisar \n\ \r 4 - ReMover todoS \n\ \r 5 - Sair " ); printf("\n"); op = getch() - 48; switch (op) { case 1: c = cadastro( c ); // c eh contador de Linhas break; case 2: listar(); break; case 3: pesquisa(); break; case 4: remover(); break; case 5: printf("\n\n\nSaindo de Programa . . . !\n\n\n");; system("exit"); // fechar janela e voltar pro Windows // menu break; default: printf("Opcao invalida"); } } while ( op != 5 ); return 0; } void listar() { int i; for (i = 0; i < SIZE; i++) { if (cpf[i] > 0) { printf("\n Nome -------: %s\n\ \r Sobrenome --: %s\n\ \r Email ------: %s\n\ \r CPF --------: %s\n\ \r ra ---------: %s\n", nome[i], sobrenome[i], email[i],cpf[i], ra[i]); } else { printf("\tTecle\n"); getch(); break; } } } int cadastro(int linha ) { char aux[50]; do { // printf permite apresentar na tela os valores de qualquer tipo de dado printf(" o nome --: "); fgets( aux, 50, stdin );; aux[ strlen(aux) - 1] = '\0'; strcpy( nome[linha], aux ); printf(" o sobrenome --: "); fgets( aux, 50, stdin );; aux[ strlen(aux) - 1] = '\0'; strcpy( sobrenome[linha], aux ); //scanf É utilizada para fazer a leitura de dados formatados via teclado. printf(" o email: "); fgets( aux, 50, stdin );; aux[ strlen(aux) - 1] = '\0'; strcpy( email[linha], aux ); printf(" o cpf ---: "); fgets( aux, 50, stdin );; aux[ strlen(aux) - 1] = '\0'; strcpy( cpf[linha], aux ); printf(" o RA -----: "); fgets( aux, 50, stdin );; aux[ strlen(aux) - 1] = '\0'; strcpy( ra[linha], aux ); printf("\ncontinuar S/N "); // para o programa continuar na linha seguinte, e conter os dados anteriomente digitados salvos linha++; } while (toupper((char)getch()) != 'N'); return linha; } // fim da função cadastrô void pesquisa() { char aux[51]; int op; do { printf("\n\tPara fazer a busca digite umas das opções abaixo:\n\n\ \r\t 1 - para pesquisar por Nome \n\ \r\t 2 - para pesquisar por Sobrenome\n\ \r\t 3 - para pesquisar por Email \n\ \r\t 4 - para pesquisar por CPF \n\ \r\t 5 - para pesquisar por Ra \n\ \r\t escolha "); op = getch() - 48; /*Utilizamos SWICTH quando queremos comparar a mesma variável ou expressão com várias opções. SWITCH é um comando em C que serve para fazer testes condicionais, testando igualdades, onde podemos usar várias opções de comparações*/ switch ( op ) { case 1: printf("\nDigite o NOME: "); fgets(aux, 50, stdin);; aux[strlen(aux) - 1] = '\0'; pesqui(aux, nome); break; case 2: printf("\nDigite o SOBRENOME: "); fgets(aux, 50, stdin);; aux[strlen(aux) - 1] = '\0'; pesqui(aux, sobrenome); break; case 3: printf("\nDigite o E-mail: "); fgets(aux, 50, stdin);; aux[strlen(aux) - 1] = '\0'; pesqui(aux, email); break; case 4: printf("\nDigite o CPF: "); fgets(aux, 50, stdin);; aux[strlen(aux) - 1] = '\0'; pesqui(aux, cpf); break; case 5: printf("\nDigite o Ra: "); fgets(aux, 50, stdin);; aux[strlen(aux) - 1] = '\0'; pesqui(aux, nome); break; } printf("\nContinuar S/N\n"); } while (toupper((char)getch()) != 'N' ); } int pesqui(char* a, char b[200][50] ) { int i=0,flg=0; for (i == 0; i < SIZE; i++) { if (strcmp( a , b[i] ) == 0) // strcmp vai comparar se o dado pesquizado é igual ao que esta no vetor { flg = 1; printf("\n Nome--------: %s\n\ \r Sobrenome --: %s\n\ \r Email ------: %s\n\ \r CPF --------: %s\n\ \r RA ---------: %s\n", nome[i], sobrenome[i], email[i], cpf[i], ra[i]); break; } } if (!flg) printf("\nNao tem naDa Cadastrado . . . !\n\n"); return 0; } void remover() { int i,c=200; printf("\n\nremovendo . . . ! \tTecle\n"); for (i = 0; i < SIZE; i++) { strcpy( nome[i] , "0" ); strcpy( sobrenome[i] , "0" ); strcpy( email[i] , "0" ); strcpy( cpf[i] , "0" ); strcpy( ra[i] , "0" ); } getch(); }
- 1
-
oi pessoal tudo bem, eu estou no 2 semestre de Análise e Desenvolvimento de sistema,
e estou tendo que fazer um programa de cadastro de alunos, estou com dificuldade para colocar a função EXCLUIR TODOS..
se alguém souber pode me dar um help.#include<stdio.h>
#include <stdlib.h>
#define SIZE 200
char nome[SIZE][50];
char sobrenome[SIZE][50];
char email[SIZE][50];
double cpf[SIZE];
int op;
double ra[SIZE];
void cadastro();
void pesquisa();
void lista();void remover();
int main(void){
//cadastro();
//lista();
//pesquisa();
do{
system("cls");//
printf("\n----CADASTRAR ALUNO----\n\n\n1 - Cadastrar\n2 - Listar todos\n3 - Pesquisar\n4 - Sair\n ");
scanf("%d", &op);
switch(op){
case 1:
cadastro();
break;
case 2:
lista();
break;
case 3:
pesquisa();
break;
case 4:
system("exit"); // fechar janela e voltar pro menu
break;
default:
printf("Opcao invalida");
getchar();
getchar();
break;
}
}while(op!=4);
}
void lista(){
int i;
for(i=0;i<SIZE;i++){
if(cpf[i]> 0){
printf("\nNome: %s \nSobrenome: %s \nEmail: %s \nCPF: %.0lf \nra: %.0lf ", nome[i], sobrenome[i], email[i], cpf[i], ra[i]);
} else{
break;
}
}
getchar();
getchar();
}
void cadastro(){
static int linha;
do{
// printf permite apresentar na tela os valores de qualquer tipo de dado
printf("\nDigite o seu nome: ");
scanf("%s", &nome[linha] );
printf("\nDigite seu sobrenome: ");
scanf("%s", &sobrenome[linha]);
//scanf É utilizada para fazer a leitura de dados formatados via teclado.
printf("\nDigite o seu email: ");
scanf("%s", &email[linha] );
printf("\nDigite o seu cpf: ");
scanf("%lf", &cpf[linha] );
printf("\nDigite o seu RA: ");
scanf("%lf", &ra[linha]);
printf("\nDigite 1 para continuar ou outro valor para para sair: ");
scanf("%d", &op );
// para o programar continuar na linha seguinte, e conter os dados anteriomente digitados salvos
// opção 1
linha++;
//opção 2 linha=linha+1;
}while(op==1);
} // fim da função cadastro
void pesquisa(){
double cpfPesquisa;
char emailPesquisa[50];
char nomePesquisa[50];
char sobrenomePesquisa[50];
double raPesquisa;
int i;
do{
printf("\n\tPara fazer a busca digite umas das opções abaixo:\n\n ");
printf("\n\t1 - para pesquisar por Nome\n ");
printf("\t2 - para pesquisar por Sobrenome\n ");
printf("\t3 - para pesquisar por Email\n ");
printf("\t4 - para pesquisar por CPF\n ");
printf("\t5 - para pesquisar por Ra\n ");
scanf("%d", &op);
/*Utilizamos SWICTH quando queremos comparar a mesma variável ou expressão com várias opções.
SWITCH é um comando em C que serve para fazer testes condicionais, testando igualdades,
onde podemos usar várias opções de comparações*/
switch(op){
case 1:
printf("\nDigite o NOME: ");
scanf("%s", &nomePesquisa);
for(i==0;i<SIZE;i++){
if(strcmp(nome[i], nomePesquisa)==0){ // strcmp vai comparar sem o emial[i] é igual o que esta no emailPesquisa)){
printf("\nNome: %s\nSobrenome: %s\nEmail: %s\nCPF: %.lf\nRA: %lf", nome[i], sobrenome[i], email[i], cpf[i], ra[i]);
}
}
break;
case 2:
printf("\nDigite o SOBRENOME: ");
scanf("%s", &sobrenomePesquisa);
for(i==0;i<SIZE;i++){
if(strcmp(sobrenome[i], sobrenomePesquisa)==0){ // strcmp vai comparar sem o emial[i] é igual o que esta no emailPesquisa)){
printf("\nNome: %s\nSobrenome: %s\nEmail: %s\nCPF: %lf\nRA: %lf", nome[i], sobrenome[i], email[i], cpf[i], ra[i]);
}
}
break;
case 3:
printf("\nDigite o E-mail: ");
scanf("%s", &emailPesquisa);
for(i==0;i<SIZE;i++){
if(strcmp(email[i], emailPesquisa)==0){ // strcmp vai comparar sem o emial[i] é igual o que esta no emailPesquisa)){
printf("\nNome: %s\nSobrenome: %s\nEmail: %s\nCPF: %lf\nRA: %lf", nome[i], sobrenome[i], email[i], cpf[i], ra[i]);
}
}
break;
case 4:
printf("\nDigite o CPF: " );
scanf("%lf", &cpfPesquisa);
for(i=0 ;i<SIZE; i++ ) {
if(cpf[i]==cpfPesquisa){
printf("\nNome: %s\nSobrenome: %s\nEmail: %s\nCPF: %lf\nRA: %lf", nome[i], sobrenome[i], email[i], cpf[i], ra[i]);
}
}
break;
case 5:
printf("\nDigite o Ra: " );
scanf("%lf", &cpfPesquisa);
for(i=0 ;i<SIZE; i++ ) {
if(ra[i]==raPesquisa){
printf("\nNome: %s\nSobrenome: %s\nEmail: %s\nCPF: %lf\nRA: %lf", nome[i], sobrenome[i], email[i], cpf[i], ra[i]);
}
}
break;
default:
printf("\n Opção invalida");
break;
}
printf("\nDigite 1 para continuar pesquisando ");
scanf("%d", &op);
}while(op==1);
}- 1
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
linguagem c, inserir o maior e menor nome cadastrado.
em C/C#/C++
Postado
Olá boa noite, estou tentando inserir uma função para exibir o Maior e Menor nome cadastrado, não estou conseguindo chamar aqueles nome que já foram cadastrados, tentei por horas porém não obtive sucesso, alguém poderia me dar um Help? por gentileza.
#define SIZE 200
char nome [SIZE][50];
char sobrenome[SIZE][50];
char email [SIZE][50];
char cpf [SIZE][50];
char ra [SIZE][50];
int cadastro ( int );
void pesquisa ();
void listar ();
void remover ();
int pesqui ( char* , char[200][50] );
int main(void)
{
int op=0,c=0;
do
{
cls
printf("\n-----PROGRAMA CADASTRO DE ALUNO-----\n\n\n\
\r 1 - Cadastrar \n\
\r 2 - Listar todos \n\
\r 3 - Pesquisar \n\
\r 4 - Remover todos \n\
\r 5 - Sair " );
printf("\n");
op = getch() - 48;
switch (op)
{
case 1:
c = cadastro( c ); // c eh contador de Linhas
break;
case 2:
listar();
break;
case 3:
pesquisa();
break;
case 4:
remover();
break;
case 5:
printf("\n\n\nSaindo de Programa . . . !\n\n\n");;
system("exit"); // fechar janela e voltar pro Windows // menu
break;
default:
printf("Opcao invalida");
}
} while ( op != 5 );
return 0;
}
void listar()
{
int i;
for (i = 0; i < SIZE; i++)
{
if (cpf[i] > 0)
{
printf("\n Nome -------: %s\n\
\r Sobrenome --: %s\n\
\r Email ------: %s\n\
\r CPF --------: %s\n\
\r ra ---------: %s\n",
nome[i], sobrenome[i],
email[i],cpf[i], ra[i]);
getchar();
getchar();
break;
}
else
{
printf("\tTecle\n");
getch();
break;
}
}
}
int cadastro(int linha )
{
char aux[50];
do
{
// printf permite apresentar na tela os valores de qualquer tipo de dado
printf("\n Nome --:");
fgets( aux, 50, stdin );;
aux[ strlen(aux) - 1] = '\0';
strcpy( nome[linha], aux );
printf(" Sobrenome --: ");
fgets( aux, 50, stdin );;
aux[ strlen(aux) - 1] = '\0';
strcpy( sobrenome[linha], aux );
//scanf É utilizada para fazer a leitura de dados formatados via teclado.
printf(" Email--:");
fgets( aux, 50, stdin );;
aux[ strlen(aux) - 1] = '\0';
strcpy( email[linha], aux );
printf(" CPF--: ");
fgets( aux, 50, stdin );;
aux[ strlen(aux) - 1] = '\0';
strcpy( cpf[linha], aux );
printf(" RA--: ");
fgets( aux, 50, stdin );;
aux[ strlen(aux) - 1] = '\0';
strcpy( ra[linha], aux );
printf("\ncontinuar S/N ");
// para o programa continuar na linha seguinte, e conter os dados anteriomente digitados salvos
linha++;
} while (toupper((char)getch()) != 'N');
return linha;
} // fim da função cadastrô
void pesquisa()
{
char aux[51];
int op;
do
{
printf("\n\tPara fazer a busca digite umas das opções abaixo:\n\n\
\r\t 1 - para pesquisar por Nome \n\
\r\t 2 - para pesquisar por Sobrenome\n\
\r\t 3 - para pesquisar por Email \n\
\r\t 4 - para pesquisar por CPF \n\
\r\t 5 - para pesquisar por Ra \n\
\r\t escolha ");
op = getch() - 48;
/*Utilizamos SWICTH quando queremos comparar a mesma variável ou expressão com várias opções.
SWITCH é um comando em C que serve para fazer testes condicionais, testando igualdades,
onde podemos usar várias opções de comparações*/
switch ( op )
{
case 1:
printf("\nDigite o NOME: ");
fgets(aux, 50, stdin);;
aux[strlen(aux) - 1] = '\0';
pesqui(aux, nome);
break;
case 2:
printf("\nDigite o SOBRENOME: ");
fgets(aux, 50, stdin);;
aux[strlen(aux) - 1] = '\0';
pesqui(aux, sobrenome);
break;
case 3:
printf("\nDigite o E-mail: ");
fgets(aux, 50, stdin);;
aux[strlen(aux) - 1] = '\0';
pesqui(aux, email);
break;
case 4:
printf("\nDigite o CPF: ");
fgets(aux, 50, stdin);;
aux[strlen(aux) - 1] = '\0';
pesqui(aux, cpf);
break;
case 5:
printf("\nDigite o Ra: ");
fgets(aux, 50, stdin);;
aux[strlen(aux) - 1] = '\0';
pesqui(aux, ra);
break;
}
printf("\nContinuar S/N\n");
} while (toupper((char)getch()) != 'N' );
}
int pesqui(char* a, char b[200][50] )
{
int i=0,flg=0;
for (i == 0; i < SIZE; i++)
{
if (strcmp( a , b[i] ) == 0) // strcmp vai comparar se o dado pesquizado é igual ao que esta no vetor
{
flg = 1;
printf("\n Nome--------: %s\n\
\r Sobrenome --: %s\n\
\r Email ------: %s\n\
\r CPF --------: %s\n\
\r RA ---------: %s\n",
nome[i], sobrenome[i],
email[i], cpf[i], ra[i]);
break;
}
}
if (!flg)
printf("\nNao tem naDa Cadastrado . . . !\n\n");
return 0;
}
void remover()
{
int i,c=200;
printf("\n\nremovendo . . . ! \tTecle\n");
for (i = 0; i < SIZE; i++)
{
strcpy( nome[i] , "0" );
strcpy( sobrenome[i] , "0" );
strcpy( email[i] , "0" );
strcpy( cpf[i] , "0" );
strcpy( ra[i] , "0" );
}
getch();
}