Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kelvin Dules

[Resolvido] Menus

Recommended Posts

Olha eu aqui denovo =p

Dessa vez é para tirar uma dúvida sobre um menu que estou fazendo...

 

Segue o menu, logo após as dúvidas...

 

#include <stdio.h>
#include <stdlib.h>
int main()
{
void cadastrar(FILE*registro);
FILE *registro;
 char st[50];
 char st2[50];
 char st3[50];
 char id[25];
 char rank[10];
 char stat[10];
 char nficha[30];
 int funcao;
 
 //Menu
 printf("\n==============================");
 printf("\n|  VGS Member Gerenciator  2.0 ||");
 printf("\n==============================");
 printf("\n				by [VGS]Kelvin");
 printf("\n||");
 printf("\n====================||||");
 printf("\n[1] Cadastrar Membro||||");
 printf("\n[2] Editar Cadastro ||||");
 printf("\n[3] Remover Cadastro||||");
 printf("\n[4] Ajuda		   ||||");
 printf("\n||				  ||||");
 printf("\n====================||||");
 printf("\nDigite o numero referente a funcao!");
 printf("\n------------------------------------\n\n");
 scanf("%d",&funcao);
 switch(funcao){

 


 //Cadastrar Membros
 case 1:
 printf("Digite o Nome da Ficha: ");
 gets(nficha);  
 
 if (registro = fopen(nficha,"w"))   /* Arquivo !*/
 if(!registro)
 
	printf( "Impossivel abrir esse arquivo!");
	exit(0);
 
 //Dados de Entrada*
 printf("Nome: ");
 scanf("%s",st);
 printf("Idade: ");
 scanf("%s",id);
 printf("Cidade/Estado: ");
 scanf("%s",st2);
 printf("Nickname: ");
 scanf("%s",st3);
 printf("RANK: ");
 scanf("%s",rank);
 printf("Status: ");
 scanf("%s",stat);
 //Dados de Saída*
	fprintf(registro,"===== Ficha do Membro ======");
	fprintf(registro,"\n||-");
	fprintf(registro,"\nNome: %s",st);
	fprintf(registro,"\nIdade: %s",id);
	fprintf(registro,"\nCidade/Estado: %s",st2);
	fprintf(registro,"\nNickname: %s",st3);
	fprintf(registro,"\nRank: %s",rank);
	fprintf(registro,"\nStatus: %s",stat,"]");
	fprintf(registro,"\n==============================-|");
	fclose(registro);
	system("pause");
	return (0);
 }
 }

Seguinte, não estou conseguindo fazer ele escolher a opçao e executar os comandos que vem à frente...

depois dessa opçao vai vir a 2 "Editar" que ainda vou criar...

 

Dá uma luz ai de como fazer issuu

 

Vlw! http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas dicas pra você.

Estruture melhor o seu programa, não deixe todo o código em uma função apenas (no caso, main).

quebre isso em outras funções. ficará muito mais fácil ler o seu código.

 

 

o seu problema é que falta um break ai...

a estrutura do switch é:

switch (var) {
	 case 1:
		  //codigo aqui
		  break;
	  case 2:
		  //codigo aqui
		  break;
	  default:
		  //codigo aqui
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudei a estrutura do código olhando por uma na net... não tive bons resultados (8 erros)

 

#include <stdio.h>
#include <stdlib.h>

int main()
{

FILE *registro;
 
 char st[50];
 char st2[50];
 char st3[50];
 char id[25];
 char rank[10];
 char stat[10];
 char nficha[30];
 int funcao;
 
 //Menu
 system("cls");
 printf("\n==============================");
 printf("\n|  VGS Member Gerenciator  2.0 ||");
 printf("\n==============================");
 printf("\n				by [VGS]Kelvin");
 printf("\n||");
 printf("\n====================||||");
 printf("\n[1] Cadastrar Membro||||");
 printf("\n[2] Editar Cadastro ||||");
 printf("\n[3] Remover Cadastro||||");
 printf("\n[4] Ajuda		   ||||");
 printf("\n[5] Sair			||||");
 printf("\n||				  ||||");
 printf("\n====================||||");
 printf("\nDigite o numero referente a funcao!");
 printf("\n------------------------------------\n\n");
 scanf("%d",&funcao);
 switch(funcao){
					case 1:cadastrar();break;
					case 2:editar();break;
					case 3:remover();break;
					case 4:ajuda();break;
					case 5:return 0;break;
					default:printf("Essa opcao não existe!");break;
 }

 


 //Remover Cadastros
 void remover(){
	 printf("Digite o nome do cadastro:\n");
	 gets(nficha);
	 printf("Você tem certeza disso?\n");
	 scanf("%c",&confirm);
	 if(confirm == "S")
	 if(remove(nficha)
	 {
		 prinft("Erro ao tentar apagar cadastro!");
		 exit(1);
	 }
	 else
		 printf("Cadastro removido com sucesso!");
		return(0);
 }
 
 
 
 //Cadastrar Membros
 void cadastrar(){ 

 printf("Digite o nome do cadastro: ");
 gets(nficha);  
 if (registro = fopen(nficha,"w"))   /* Arquivo !*/
 if(!registro)
 printf( "Impossivel abrir esse arquivo!");
 exit(0);{ 
 //Dados de Entrada*
 system("cls");
 printf("===== Ficha de Cadastro =====");
 printf("Nome: ");
 scanf("%s",st);
 printf("Idade: ");
 scanf("%s",id);
 printf("Cidade/Estado: ");
 scanf("%s",st2);
 printf("Nickname: ");
 scanf("%s",st3);
 printf("RANK: ");
 scanf("%s",rank);
 printf("Status: ");
 scanf("%s",stat);
 //Dados de Saída*
	fprintf(registro,"===== Ficha do Membro ======");
	fprintf(registro,"\n||-");
	fprintf(registro,"\nNome: %s",st);
	fprintf(registro,"\nIdade: %s",id);
	fprintf(registro,"\nCidade/Estado: %s",st2);
	fprintf(registro,"\nNickname: %s",st3);
	fprintf(registro,"\nRank: %s",rank);
	fprintf(registro,"\nStatus: %s",stat,"]");
	fprintf(registro,"\n==============================-|");
	fclose(registro);
	system("pause");
	return (0);
 }
 }

Queria usar essa, mas não consigo fazer funcionar... alguma luz pra esse aki?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes:

 

1) Na função int main()

- Você não fechou a função.

 

2) Na função void remover()

- Não estão declarado as variaveis: nficha,confirm e eu não entendi esse seu if(remove(nficha)).

 

2) Na função void cadastrar()

- Todas as variaveis não foram declaradas.

- Nem o ponteiro FILE.

- O seu segundo if está errado, falta abri-lo e fecha-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você alterou a estrutura do código, mas esqueceu das variáveis...lembre-se que variáveis locais são vistas apenas pela função a que pertencem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a entaum era você q eu tava ajudando no msn HFUADS..

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.