Olá pessoal, estou fazendo um trabalho para a faculdade, bem estou entrando na programação agora e aprendendo C.
Estou fazendo um programa para Cadastrar alunos, mas não consigo achar os meus erros. Por enquanto o programa possui as opções de Cadastrar, Listar e Pesquisar, mas somente a cadastrar funciona corretamente =( .
//Variáveis globais
char nome;
int cpf;
int rg;
char curso;
int telefone;
int op;
void cadastro();
void lista();
void pesquisa();
//Função principal
int main(void){
//Menu
do{
printf("\t\t\t\t--------");
printf("\n\t\t\t\t| Menu |");
printf("\n\t\t\t\t--------");
printf("\n\t\t Bem-vindo. Escolha o que deseja executar.");
printf("\n----------------");
printf("\n 1 - Cadastrar |"); //Layout menu
printf("\n 2 - Listar |");
printf("\n 3 - Pesquisar |");
printf("\n 4 - Sair |\n");
printf("----------------\n");
scanf("%d", &op);
switch(op){
case 1:
cadastro();
break;
case 2:
lista();
break;
case 3:
pesquisa();
break;
case 4:
system("exit");
break;
default:
printf("\nOpcao invalida.\n");
break;
}
}while(op!=4);
}
//Função cadastro
void cadastro(){
static int linha;
do{
printf("============================================");
printf(" \nDigite o Nome: ");
scanf("%s", &nome[linha]);
printf(" \nDigte o CPF: ");
scanf("%d", &cpf[linha]);
printf(" \nDigite o RG: ");
scanf("%d", &rg[linha]);
printf(" \nDigite o Curso: ");
scanf("%s", &curso[linha]);
printf(" \nDigite o Telefone: ");
scanf("%d", &telefone[linha]);
printf("\n Digite 1 para continuar cadastrando ou outro valor para voltar ao menu.\n");
scanf("%d", &op);
linha++;
}while(op==1);
} //Fim da função cadastro
//Função pesquisa
void pesquisa(){
printf("============================================");
int i;
int cpfPesquisa;
char nomePesquisa;
do{
printf(" \nDigite 1 para pesquisar por Nome ou 2 para pesquisar por CPF.\n");
scanf("%d", &op);
switch(op){
case 1:
printf(" \nDigite o Nome que procura: ");
scanf("%s", &nomePesquisa);
for(i=0; i<SIZE; i++){
if(strcmp(nome, nomePesquisa)==0);
printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome, cpf, rg, curso, telefone);
}
break;
case 2:
printf(" \nDigite o CPF que procura: ");
scanf("%d", &cpfPesquisa);
for(i=0; i<SIZE; i++){
if(cpf==cpfPesquisa);
printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome, cpf, rg, curso, telefone);
}
break;
default:
printf("\nOpcao invalida.");
break;
}
printf ("\n Digite 1 para continuar pesquisando ou outro valor para voltar ao menu.");
scanf("%d", &op);
}while(op==1);
} //Fim função pesquisa
Pergunta
Guzaop
Olá pessoal, estou fazendo um trabalho para a faculdade, bem estou entrando na programação agora e aprendendo C.
Estou fazendo um programa para Cadastrar alunos, mas não consigo achar os meus erros. Por enquanto o programa possui as opções de Cadastrar, Listar e Pesquisar, mas somente a cadastrar funciona corretamente =( .
Se puderem ajudar agradeço.
#include <stdio.h>
#include <stdlib.h>
#define SIZE 50
//Variáveis globais
char nome;
int cpf;
int rg;
char curso;
int telefone;
int op;
void cadastro();
void lista();
void pesquisa();
//Função principal
int main(void){
//Menu
do{
printf("\t\t\t\t--------");
printf("\n\t\t\t\t| Menu |");
printf("\n\t\t\t\t--------");
printf("\n\t\t Bem-vindo. Escolha o que deseja executar.");
printf("\n----------------");
printf("\n 1 - Cadastrar |"); //Layout menu
printf("\n 2 - Listar |");
printf("\n 3 - Pesquisar |");
printf("\n 4 - Sair |\n");
printf("----------------\n");
scanf("%d", &op);
switch(op){
case 1:
cadastro();
break;
case 2:
lista();
break;
case 3:
pesquisa();
break;
case 4:
system("exit");
break;
default:
printf("\nOpcao invalida.\n");
break;
}
}while(op!=4);
}
//Função cadastro
void cadastro(){
static int linha;
do{
printf("============================================");
printf(" \nDigite o Nome: ");
scanf("%s", &nome[linha]);
printf(" \nDigte o CPF: ");
scanf("%d", &cpf[linha]);
printf(" \nDigite o RG: ");
scanf("%d", &rg[linha]);
printf(" \nDigite o Curso: ");
scanf("%s", &curso[linha]);
printf(" \nDigite o Telefone: ");
scanf("%d", &telefone[linha]);
printf("\n Digite 1 para continuar cadastrando ou outro valor para voltar ao menu.\n");
scanf("%d", &op);
linha++;
}while(op==1);
} //Fim da função cadastro
//Função lista
void lista(){
int i;
for(i=0; i>SIZE; i++){
if(cpf>0){
printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome, cpf, rg, curso, telefone);
}else{
break;
}
}getchar();
getchar();
}
//Fim da função lista
//Função pesquisa
void pesquisa(){
printf("============================================");
int i;
int cpfPesquisa;
char nomePesquisa;
do{
printf(" \nDigite 1 para pesquisar por Nome ou 2 para pesquisar por CPF.\n");
scanf("%d", &op);
switch(op){
case 1:
printf(" \nDigite o Nome que procura: ");
scanf("%s", &nomePesquisa);
for(i=0; i<SIZE; i++){
if(strcmp(nome, nomePesquisa)==0);
printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome, cpf, rg, curso, telefone);
}
break;
case 2:
printf(" \nDigite o CPF que procura: ");
scanf("%d", &cpfPesquisa);
for(i=0; i<SIZE; i++){
if(cpf==cpfPesquisa);
printf("\nNome: %s\nCPF: %d\nRG: %d\nCurso: %s\nTelefone: %d", nome, cpf, rg, curso, telefone);
}
break;
default:
printf("\nOpcao invalida.");
break;
}
printf ("\n Digite 1 para continuar pesquisando ou outro valor para voltar ao menu.");
scanf("%d", &op);
}while(op==1);
} //Fim função pesquisa
Link para o comentário
Compartilhar em outros sites
4 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.