• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Neonglow

Ajuda em Linguagem C,

6 mensagens neste tópico

Preciso de fazer um programa em C para trabalho de recuperação de modular na escola, o tema e o tamanho é à minha escolha, apenas precisa de ter Arrays e Menus.

O problema é o seguinte:

- Já não trabalho com o C à muito tempo

- Estou sem ideias para o programa

Agradecia toda a ajuda que fosse possivel, seja uma ideia...seja algoritmo....um bocadinho de codigo já compilado....sei lá....................HELP ME PLZ :wallbash:

Obrigado

P.S. - O programa pode ser pequeno desde que tenha estas duas coisas, Arrays e Menus

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem se ja nao te lembra bem de c, o melhor é ires ver uns tutoriais...e ler em especial a parte de menus e arrays...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com menus e arrays....Não me parece que seja dificil. Os menus podes elaborar através de um switch, e os arrays é uma questão de reveres a matéria.

Quanto á parte gráfica não existem especificações?

Para arranjares um tema tambem não será assim muito complicado. Existem milhares de coisas que podes fazer com menus e arrays...

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, não é gráfico pois não?

É apenas um console project right?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem vou te ajudar num tema que fiz á pouco tempo e adorei apesar de ter me custado muito a conseguir compreender como se fazia com a ajuda do Livro do Luis Damas.

Ora bem o resultado final que se pretende é um jogo do Galo.

Uma ideia para esse projecto é fazeres do tipo um Menu com uma área prática e outra com uma área de Lazer em que na área Prática fazes do tipo uma calculadora e na área de Lazer incluis o Jogo do Galo..

Agora Perguntas tu o que preciso de fazer para que o jogo do galo corra..

bem esta foi uma pergunta que sozinho demorei um pouco grande de tempo a entender porque no livro também não explicava e simplesmente comecei a pensar que sozinho nunca chegaria a tal pensamento para construir um algoritmo..

o que precisas é de construir 2 funçoes uma para inicializar o vector que terá que ser 3 por 3 devido ás 9 casas do jogo do galo e começas cada casa com o valor ' '(espaço em branco).

Constrois outra função para que consigas fazer o output da grelha de jogo .

Inicias a função main e fazes o processo para que o utilizador introduza o numero de coluna e de linha a introduzir o seu caracter de jogo..

uma dica: usa uma variavel char que armazene um caracter dos que são possiveis jogar, por exemplo a variavel ferramenta = 'X'  na proxima jogada o programa vai ver se (ferramenta=='X') ? 'O' : 'X' ou seja se a ultima vez que a pessoa jogou for um X entao obrigatoriamente quando o outro utilizador introduzir onde quer jogar , vai ser jogado uma bola..

espero ter ajudado, um abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include <stdio.h>
#include <conio.h>
#include <string.h>

#define NOME_FICH "c:\\Jogadores.rm"

char Arrnumeros[99];


void Moldura(int x, int y, int larg, int alt, int estilo, char *tit)
{
int i;
char cse, csd, cie, cid, l, a;

switch(estilo)
{
	case 2:
		   cse = 'É';
		   csd = '»';
		   cie = 'È';
		   cid = '¼';
		   l = 'Í';
		   a = 'º';
		   break;
	case 3:
		   cse = '*';
		   csd = '*';
		   cie = '*';
		   cid = '*';
		   l = '*';
		   a = '*';
		   break;
	case 4:
		   cse = 's';
		   csd = 's';
		   cie = 's';
		   cid = 's';
		   l = 's';
		   a = 's';
		   break;
	default:
			cse = 'Ú';
			csd = '¿';
			cie = 'À';
			cid = 'Ù';
			l = 'Ä';
			a = '³';
}

gotoxy(x,y); printf("%c",cse);
gotoxy(x+larg+1,y); printf("%c",csd);
gotoxy(x,y+alt+1); printf("%c",cie);
gotoxy(x+larg+1,y+alt+1); printf("%c",cid);

for(i=1;i<=larg;i++)
{
	gotoxy(x+i,y);printf("%c",l);
	gotoxy(x+i,y+alt+1); printf("%c",l);
}
for(i=1;i<=alt;i++)
{
	gotoxy(x,y+i);printf("%c",a);
	gotoxy(x+larg+1,y+i); printf("%c",a);
}
//escreve t¡tulo
gotoxy(x+larg/2-strlen(tit)/2,y);printf("%s",tit);
}


int menu()
{
int x, y,larg, alt, opc;

for(;
{
	clrscr();
	x = 20; y = 7; larg = 38; alt = 9;
	Moldura(x, y, larg, alt, 2, " Menu ");
	gotoxy(x+2,y+2); printf("1- Insere/Altera Jogador");
	gotoxy(x+2,y+3); printf("2- Ver Lista");
	gotoxy(x+2,y+4); printf("3- Procurar por numero");
	gotoxy(x+2,y+5); printf("4- About");
	gotoxy(x+2,y+6); printf("5- Gravar");
	gotoxy(x+2,y+7); printf("6- Sair");
	gotoxy(x+2,y+9); printf("OpcÆo: ");

	scanf("%d",&opc);
	if (opc >= 1 && opc <= 6) return opc;
}
}

void InsereJogador(void)
{
int num;
char nome[15];

clrscr();
printf("N§ do Jogador: ");
scanf("%d",&num);
printf("Nome do jogador %d: ",num);
scanf("%s",&nome);
Arrnumeros[num-1] = nome;
}


void VerLista(void)
{
int i;

clrscr();
for(i=0;i<99;i++)
{
	if (Arrnumeros[i] == -1)
	printf("Jogador n§%d:\n",i+1);
	else printf("Jogador n§%d: %d\n",i+1,Arrnumeros[i]);
}

printf("Qualquer tecla para continuar...");
getch();
}


void Procurarpornumero(void)
{
int num;
clrscr();
printf("Numero: ");
scanf("%d",&num);
clrscr();
printf("O jogador n§%d ‚ o: %s",num, Arrnumeros[num-1]);
printf("Caso nao tenha aparecido nenhum nome, o numero est  livre para ser attribuido a outro jogador");
}

void About(void)
{
clrscr();
printf("Programado por: F bio Silva");
getch();
}


int LerDadosDoFicheiro()
{
int i;
FILE *fp;

fp = fopen(NOME_FICH,"r");	//abre o ficheiro para leitura "r"
if (fp == NULL)
{
	printf("Erro na abertura do ficheiro %s!\n\n",NOME_FICH);
	printf("Qualquer tecla para continuar...");
	getch();
}
for(i=0;i<99;i++)
	fscanf(fp,"%d",&Arrnumeros[i]);
fclose(fp);

}


int GravarDadosParaFicheiro()
{
int i;
FILE *fp;

fp = fopen(NOME_FICH,"w");	//abre o ficheiro para escrita "w"
for(i=0;i<99;i++)
	fprintf(fp,"%d\n",Arrnumeros[i]);
fclose(fp);

}


void Init(void)
{
int i;
for(i=0;i<99;i++)
Arrnumeros[i] = -1;
}


void main(void)
{
int op, Alteracao=0, opc;

Init();

LerDadosDoFicheiro();

for(;
{
	clrscr();
	op = menu();
	switch(op)
	{
		case 1:	//Insere/Altera nota
				InsereJogador();
				Alteracao = 1;
				break;
		case 2:	//Ver nota
				VerLista();
				break;
		case 3:	//M‚dia
				Procurarpornumero();
				break;
		case 4:	//N§ de positivas e negativas
				About();
				break;
		case 5:	//gravar
				GravarDadosParaFicheiro();
				Alteracao = 0;
				break;
		case 6:	//sair
				if (Alteracao == 1)
				{
					printf("Deseja gravar antes de sair? (s/n) ");
					opc = getch();
					if ((opc == 's') || (opc == 'S'))
						GravarDadosParaFicheiro();
				}
				return;
	}
}
}

O programa permite inserir um nome (jogador) associado ao seu numero (numero da camisola)

Depois cria a lista com 99 numeros e caso tenha sido atribuido os respectivos numeros

tambem permite pesquisar directamente pelo numero

o erro é na função inserejogador que está a dar erro penso que por causa da string.

O erro é cannot convert "char*" to "char"

plz help me é urgente....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Convidado
Este tópico está fechado a novas respostas.