Eae pessoal, estou tentando fazer um exercicio aqui estou tendo vários problemas, dúvidas, então por enquanto só vou mandar uma.
É o seguinte tem a função mostraTela que chama um menuzinho, ela executa de boa quando se executa o programa, mas ai começa os problemas, eu define que pode ser no maximo dois registros, depois de dois ele exibe banco cheio e chama a função do menu, o programa esta chamando a função, mas se eu escolho a opção 0, ou 2 ele esta fazendo a opção 1 que é de inserir porque isso esta acontecendo?
Outra problema com essa função, ao inserir um registro no final pergunta se quer inserir outro, se escolher não ele chama a função do menu, ele é chamada, mas eu digito uma opção mas nada acontece, alguém sabe porque? Vlw pessoal, segue o código
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define MAX 2
//typedef struct aluno {
int ra[10];
char nome[20];
char curso[20];
int idade;
float mensalidade;
int *p = &ra;
//} aluno;
// Menu
int mostraTela(){
int op;
printf("+--------------------------+\n");
printf("+ Escolha a opcao +\n");
printf("+ 1= Inserir 2=Listar +\n");
printf("+ 0= Sair +\n");
printf("+--------------------------+\n");
scanf("%d", &op);
// system("CLS");
return op;
}
// Funçaõ inserir
int inserir (){
int nreg;
char opcao;
system("CLS");
printf("Digite seu RA...:");
scanf("%i", &ra);
printf("Digite seu Nome.:");
scanf("%s", &nome);
printf("Digite seu Curso:");
scanf("%s", &curso);
printf("Digite sua Idade:");
scanf("%d", &idade);
printf("Digite o valor da sua mensalidade:");
scanf("%f", &mensalidade);
printf("Cadastro inserido com sucesso \n");
nreg++;
printf("Deseja cadastrar outro aluno? (s /n) \n");
scanf("%s", &opcao);
if (nreg >MAX){
printf("Banco cheio\n");
mostraTela();
system("CLS");
}
if (opcao =='s'){
inserir();}
if (opcao ='n'){
system("CLS");
mostraTela();
}
// listar();
}
// Função Listar
int listar(){
int nreg;
int i;
for(i=0;i<nreg;i++){
printf("RA...:%d",*p);
}
}
main (){
int op;
op = mostraTela();
switch(op)
{
case 1: {
inserir();
getch();
}
case 2: {
listar();
getch();
}
}
while(op != 0);
return (0);
}
Question
†h!@gø
Eae pessoal, estou tentando fazer um exercicio aqui estou tendo vários problemas, dúvidas, então por enquanto só vou mandar uma.
É o seguinte tem a função mostraTela que chama um menuzinho, ela executa de boa quando se executa o programa, mas ai começa os problemas, eu define que pode ser no maximo dois registros, depois de dois ele exibe banco cheio e chama a função do menu, o programa esta chamando a função, mas se eu escolho a opção 0, ou 2 ele esta fazendo a opção 1 que é de inserir porque isso esta acontecendo?
Outra problema com essa função, ao inserir um registro no final pergunta se quer inserir outro, se escolher não ele chama a função do menu, ele é chamada, mas eu digito uma opção mas nada acontece, alguém sabe porque? Vlw pessoal, segue o código
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.