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

bunark

[Ajuda] Criação de um programa

11 mensagens neste tópico

Olá a todos  ;) apesar de me ter registado hoje ja vos acompanha á algum tempo mas agora decidi registar-me pk tenho ke fazer um trabalho semi final pra escola e preciso de ajuda pk é pra entragar na terça.  :down:

A pergunta do trabalho é a seguinte:

Defina uma estrutura para descrever restaurantes. A estrutura deve armazenar o nome, endereço, preço médio(mas inteiro) e o tipo de comida.

Elabore um programa que crie um vector de estruturas e as funções para:

1- Preencher o vector;

2- Mostrar todos os restaurantes de um certo tipo de comida;

3- Mostra qual é o restaurante mais barato de um certo tipo de comida;

4- Ordenar por ordem crescente de preço os restaurantes.

Pf pessoal ajudem-me estou mesmo desesperado e ainda por cima conta para nota ajum-me  :down:

P.S. -> Estou a usar o TC

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem, obviamente nao te vou fazer o programa e dar-to assim, ate porque isso seria injusto, tanto para os teus amigos como para ti, pois so te estarias a enganar a ti mesmo.

posso-te ajudar no problema.

primeiro tens de fazer uma struct, com os campos:

char nome[30], endereco[100], tipo_comida[50];

int preco_medio;

depois vais ter um menu, para as varias opçoes, na main. tambem vais ter de declarar um array do tipo da struct, para os varios rastaurantes. logo na main, convem definir um caso de paragem, para que o programa saiba onde inserir o valor. poe por exemplo o preço do 1º restaurante a 0.

quanto as funçoes, a primeira e para inserir os valores no array. essa funçao recebe apenas o array. em primeiro lugar, tem de verificar o indice onde pode inserir (o primeiro que tiver o preço ==0), e podes passar ja o seguinte para 0, para a proxima utilizaçao. para o primeiro dos indices a 0, o primeiro que encontraste, obviamente, tens de fazer o scan da informaçao, e coloca-la na struct. desta funçao, acho que ja expliquei o que precisas de saber.

depois para mostrar, fazes um ciclo while. enquanto o preço do restaurante do indice dado nao for ==0, imprime a info, e aumenta o indice.

o restaurante mais barato de um tipo de comida, defines uma variavel inteira com um numero exageradamente grande, tipo 2000000, e um char teste[30]. depois corres o array. se o nome do tipo de comida for o mesmo que queres encontrar, e se o preço for menor que o que tens na variavel, guardas esse preço na variavel, e copias o nome do restaurante para o array de chars. no fim, se o preço for != de 2000000, imprime o que esta no teste, senao imprime uma mensagem de erro, porque nao encontrou nada.

ordenar, acho que e simples. encontras aqui no forum varios algoritmos de ordenaçao.

acho que ja te dei toda a informaçao que precisas para fazer o teu trabalho

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu mt gosto de ver este pessoal atrapalhadinho para entregar trabalhos com um par de dias para o fazer e vêm aqui para os forums pedirem basicamente para lhes fazerem o trabalho...

primeiro, ja devias ter pensado nisso ha mais tempo e ja devias tar a trabalhar nisso... e não vir para aqui ha ultima da hora pedir ajuda, ainda por cima, da maneira que o fazes, que da a entender que ainda não fizeste nada.

segundo, não é dificil fazer o que tu pedes, mas se tas a iniciar em C e ainda nem se quer pegaste nisso, então esquece, porque duvido que tenhas tudo pronto ate terça... a não ser que alguem o faça por ti. sinceramente, aqui no forum, não vejo ninguem a dar-se ao trabalho porque é o teu TPC e não nosso... ajudar sim, fazer trabalhos pelos outros não.

terceiro, untouchables, vai mase fazer o TP3... toda a info que deste, o bunark ja a devia saber, se n sabe, é porque aquilo anda muito mal... até porque pelo que foi dito, cheira-me que ainda nem se quer escreveu a assinatura da função main, ms posso tar errado.

se ainda fossem dúvidas especificas, agora sim, lamento desiludir-te, mas vais ter pouca sorte.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bunark mostra-nos alguma coisa feita.... sempre te podemos dar sujestões e emendar uns erros.... :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bunark mostra-nos alguma coisa feita.... sempre te podemos dar sujestões e emendar uns erros.... :biggrin:

Bem até agora fiz isto:

#include<stdio.h>
#include<string.h>
typedef struct dados          //estrutura com os dados do restaurante
{
char nome[50], endereco[50], comida[50];
int preco;
}rest;

void ler(rest *ptr)           //funcao para ler os dados do restaurante
{
clrscr();
printf("Imsira o seu nome:\n");
scanf("%s",ptr->nome);
printf("Imsira o seu endere‡o:\n");
scanf("%s",ptr->endereco);
printf("Imsira um tipo de comida:\n");
scanf("%s",ptr->comida);
printf("Imsira o pre‡o medio:\n");
scanf("%d",&ptr->preco);
}

int m()                    //Menu para escolher a opcao pretendida
{
int n1;

printf("MENU DE PESQUISA\n");
printf("1-> Mostrar todos os restaurantes de um certo tipo de comida\n");
printf("2-> Mostrar qual o restaurante mais barato de um certo tipo de comida\n");
printf("3-> Ordenar por ordem crescente de pre‡o os restaurantes\n");
printf("4-> Sair\n");
scanf("%d",&n1);
return n1;
}

int sm()                     //Sub Menu para seleccionar o tipo de comida
{
int n2

printf("SUB MENU\n");
printf("1-> Carne\n");
printf("2-> Peixe\n");
printf("3-> Sopa\n");
scanf("%d",&n2);
return n2;
}

void main()                      //funcao principal
{
int i,menu,subm;

for(i=0;i<6;i++)
{
printf("Dados correspondentes a %d restaurante",i+1);
ler(&ler[i]);
}

menu=m()

switch(menu)
case 1: subm=sm()
	if(subm=rest.comida)
	printf("%s",rest.nome);
}

P.S.-> o que ke sao arrays?????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem vindo ao fórum bunark

P.S.-> o que ke sao arrays?????

Isto são arrays ou em português vectores:

char nome[50], endereco[50], comida[50];

PS: Usa a ferramenta GeSHi para postares o código, assim este fica mais legível para os leitores  :)

Cumpr. brink@ero  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

que sao arrays? ...tens arrays no teu trabalho. "int f[7];", isto é um array.

vendo a tua funçao principal... onde vais guardar mais que um restaurante? (é aqui que entra o array). tens ai um ciclo for, que nao te vai fazer absolutamente nada, porque nao estas a atribuir os valores a nada. tambem se isso for a funçao principal, o programa nao te deixa continuar a nao ser que tenhas inserido os 6 restaurantes. foi para isso que me referi ao caso de paragem.

não precisas de fazer "menu=m()", apenas "m()".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pessoal eu agora só tenho uma duvida e é para amanha eu só nao sei como ordenar por ordem crescente de preço os restaurantes.

podem-me ajudar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se fizeres isso ao inserir, e mais facil. vais comparando o preço do que queres inserir com o que tens num certo indice do array, isto se estiveres a trabalhar com arrays. se ele for mais barato,vais ter de descer todos do fim ate ao elemento que é mais caro que o que queres inserir. para isso, tens de saber o numero de posiçoes que tem informaçao, e descer desde o ultimo ate aquele. depois inseres o novo no sitio do que era mais caro que esse.

se o que esta no indice for mais barato,continuas para cima, ate acabar o indice. se acabar o indice e continuar a ser mais caro, inseres na ultima posiçao disponivel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pessoal podiam-me ajudar pf só nao sei fazer a ultima kestao ke é ordenar por ordem crescente de preço os restaurantes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora