1 – 9 de 9
Blogger Unknown disse...

Boas!!
Estou a fazer um programa para a faculdade da gestão de um hotel, mas tenho um problema com struct aninhadas.

typedef struct
{
int dia;
int mes;
int ano;
}DATA;

typedef struct
{
char nome[50];
int codigo;
int n_quartos;
DATA chegada[11]; // Inserir no formato aaaa-mm-dd
int n_noites;
float preco;
}RESERVA;

Como faco para por o DATA de chegada, mas que esta data fique com int dia, int mes, int ano de tipo DATA definidos. Até agora como podem reparar a chegada esta como um vetor, e para recever os dados da struct RESERVA estou a fazer isto:

int Fazer_Reserva(RESERVA *x)
{
int n;
system ("cls");
for(n=1;n");
getch();
return(1);
}
}
}

É lógico que já tenho definida uma tabela RESERVA reservasHotel[4000], desde onde se faz a chamada à funcao Fazer_Reserva()

Também parabéns pelo site esta mesmo bom e tem-me ajudado muito.

11 de janeiro de 2014 às 04:23

Anônimo Anônimo disse...

Javier poderia colocar o enunciado do exercício para que eu possa lhe ajudar.

18 de janeiro de 2014 às 17:42

Anônimo Anônimo disse...

#include

typedef struct aluno{
int matricula;
float vNotas[5];
char nome[50];
}a1;
struct disciplina{
int n;
int V[100];
int Nalunos;
}n;
typedef struct aluno aluno;

aluno fillaluno(aluno, a1){
printf ("Digite a matricula desse aluno:");
scanf ("%d", &a1.matricula);
printf("Digite a nota desse aluno:");
scanf("%.1f", &a1.vNotas[1]);
printf("Digite o nome desse aluno:");
gets(a1.nome);

return (a1);
};

struct Disciplina filldisciplina (Disciplina d1, int numAlunos){

printf("Digite a quantidade de alunos");
scanf("%d", &numAlunos);
for (n = 0; n < numAlunos; n++){
printf("Digite o nome dos alunos");
gets(d1.V[n]);
fillaluno(a1);
}

return (numAlunos, d1);
};


void mostrarDisciplina(Disciplina d1){
filldisciplina(d1);
for (n = 0; n < numAlunos; n++);
printf("o nome dos alunos eh: %s", d1.V[n]);
printf("o numero de alunos matriculados no curso eh: %d", numAlunos);
}

int main(){
struct disciplina pc1[10];
printf("Digite o nome dos alunos:");
gets(pc1);
filldisciplina(d1);
fillaluno(a1);
mostrarDisciplina(void);
return 0;

}

Alguem pode me dizer o que tem de errado aqui?

19 de janeiro de 2015 às 11:52

Anônimo Anônimo disse...

Como faço para minha função ler os dados de uma struct??
Tenho que fazer um programa que gerencia um hotel e cadastrar um hospede em determinado quarto da escolha dele, fiz uma struct de cliente e outra para quartos, e tenho que mostrar o registro dos quartos e o registro de clientes cadastrados, então fiz duas funçoes que deveriam fazer isso,mas quando coloco
puts(qrt[j].nomehospede),que deveria mostrar o nome do hospede cadastrado no quarto j, mostra uns simbolos doidos.
Tentei fazer da forma indicada acima e não funcionou.
estou usando o code::blocks para fazer o programa.

4 de julho de 2015 às 18:20

Blogger monia tavares disse...

aqui tem um modelo simples que eu fiz sobre a passagem de função usando structs
sem o atalho typedef.

#include

struct carros
{
int modelo,ano;


}carro;

void exibe(struct carros car)
{
printf("modelo: %i\n ",car.modelo);
printf("ano: %i",car.ano);


}


int main(void)

{
struct carros fusca= {5, 74};
exibe(fusca);

}

é so um modelinho simples, mas mostra que tanto com a typedef , ou sem, a passagem é sempre valida, aí é o programador que escolhe hehehe

14 de julho de 2015 às 10:14

Blogger JotaPe disse...

não entendi esse car na função, alguem pode me explicar?

3 de março de 2016 às 08:18

Blogger Vinicius disse...

"car" recebe o endereço de "fusca".

29 de outubro de 2016 às 15:51

Blogger joao disse...

E como é que faz quando a função tá numa biblioteca e chama no programa principal?

29 de agosto de 2017 às 15:59

Anônimo Anônimo disse...

Oi Anônimo tudo bem,
Sou novo nessa área e tenho um trabalho para a faculdade e não faço a menor ideia como montar pode me ajudar?
Segue o enunciado.
Faça um programa em linguagem C que manipule uma estrutura chamada Veículo. A estrutura deve ter os campos marca, modelo, nome do proprietário, tamanho do tanque de combustível em litros. Faça 2 rotinas, uma para ler os dados do veículo, outra para mostrar seus dados. A função de leitura pode gerar os dados aleatoriamente se você preferir. Ou ainda preencha todas as entradas com valores constantes, escolhendo os dados de sua preferência.
Gerar um vetor com 50 registros para uma concessionaria. Faça então as seguintes funções de pesquisa:
•. Mostrar o nome do proprietário de todos os veículos de uma certa marca/modelo. Aproveite para contá-los também na mesma rotina.
•. Calcular quanto custa para encher o tanque de combustível, para cada veículo do vetor. O valor do litro do combustível pode ser dado por parâmetro. Calcule também o total gasto pela concessionária para encher todos os tanques.
Na função main(), faça:
• Carregar os 50 veículos.
• Chamar as funções de pesquisa.
• Mostrar todos os resultados.

6 de junho de 2018 às 20:08

É quase impossível criar centenas de páginas voltadas para programação C e não cometer algum erro.

- Se notar algum conceito, letra ou trecho de código errado, deixe sua correção

- Se perceber uma maneira melhor ou mais eficiente de fazer algo, deixe sua ideia

- Se algo não ficar claro ou for confuso, nos avise

Aos poucos vamos aumentando e melhorando a qualidade de nosso material, e para isso contamos com sua ajuda.
Você pode usar algumas tags HTML, como <b>, <i>, <a>

A moderação de comentários foi ativada. Todos os comentários devem ser aprovados pelo autor do blog.

Depois de enviar seu comentário, será necessário fazer login.
Prove que você não é um robô