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

claudiasousa

Fazer exercicio em linguagem C

21 mensagens neste tópico

1. Escreva um programa «aluno.c», em linguagem C, que utilize uma estrutura para

armazenar o nome, a morada, o telefone e o código do cartão de um aluno.

2. Acrescente as linhas de código necessárias para que seja possível imprimir para o

ecrã os dados guardados nessa estrutura.

Apresente o programa devidamente estruturado e comentado.

3. Faça uma cópia do programa «aluno.c» com o nome «turma.c».

Altere o programa «turma.c» para que seja possível:

Guardar no máximo 30 alunos, numa estrutura adequada;

Ao utilizador, introduzir o número de alunos da turma (menor que 30);

Listar todos os dados contidos na estrutura no ecrã, após ter

concluído a sua introdução.

4. No programa «turma.c», crie uma função que permita actualizar o telefone de um

aluno, após ter sido indicado o código do seu cartão.

Tenho de fazer isto, mas nao sei :S alguem me ajuda?? :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então tenta aprender sobre structs porque são a base desse trabalho. Google.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pseudo código não precisa de conhecimentos técnicos.

Isso podes fazer tu tb. Se o fizeres nós ajudamos com o resto.

O facto de teres q entregar o teu trabalho para nós é irrelevante e n ajudamos nem mais nem menos por isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

if(!self.know()) interwebz.google(const string &whatIwantToKnow);

basicamente, se estás nesta área, (e em maior parte das áreas) tens que ir à luta. Esse exercício não é nada mais que verificação e input de dados. A única nuance é a struct, que é uma estrutura de dados, onde vais "guardar" a informação que te pedem no exercício.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas e que se eu tivesse o pseudocodigo feito, ja conseguia fazer o resto.

Muitos de nós aprendemos a programar sem ajuda da escola. Culpar a escola é a maneira mais fácil de te desculpares a ti própria. Agora compra/arranja/pede emprestado/saca um livro sobre C, aprende o básico (estruturas, I/O, arrays) e nós estaremos aqui para te ajudar.

Mas se não mostrares que investiste algum tempo a tentar chegar lá por ti própria, ninguém te vai dar a papa feita.

Boa sorte!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O pseudocodigo não te ajuda em nada... mas cá vai:

exercicio 1 e 2

pedir para introduzir nome de aluno;
guardar nome de aluno;
pedir para introduzir morada;
guardar morada;
pedir para introduzir telefone;
guardar telefone;
pedir para introduzir numero de cartao;
guardar numero de cartao;

imprimir nome;
imprimir morada;
imprimir telefone;
imprimir numero do cartao;

exercicio 3

pedir para introduzir numero de alunos;

for(contador = 1 ; contador <= numero de alunos ; contador = contador + 1)
{
pedir para introduzir nome de aluno;
guardar nome de aluno[contador];
pedir para introduzir morada;
guardar morada[contador];
pedir para introduzir telefone;
guardar telefone[contador];
pedir para introduzir numero de cartao;
guardar numero de cartao[contador];
}

for(contador = 1 ; contador <= numero de alunos ; contador = contador + 1)
{
imprimir nome [contador];
imprimir morada [contador];
imprimir telefone [contador];
imprimir numero do cartao [contador];
}

exercicio 4

pedir para introduzir numero do cartao;
procurar aluno com o numero do cartao inserido;
imprimir morada do aluno encontrado;

Faz alguma coisa, mesmo que não fique a funcionar bem e pode ser que a malta te ajude.

Se queres que façam o código todo por ti... bom... €20 e arranjo-te tudo bonitinho, com comentários, tudo como manda a lei.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

if(!self.know()) interwebz.google(const string &whatIwantToKnow);

Eheheheh, gostei desta  :biggrin:

É assim crias uma struct com todos os tipos de dados que precisas, depois é só meteres uns printf's e uns scanf's e guardas nas variáveis que criaste anteriormente, isto com um laço para estar a perguntar para o número de alunos que queres depois simplesmente crias outro laço e apresentas com printf's...

Mas se não tens comnhecimentos muito dificilmente vais conseguir, principalmente se o trabalho for para breve.

Tens de ter vontade de aprender, acredita, tenho 15anos e não estou em curso de programação nenhum, estou no 10ºano em ciencias e tecnologias, no entanto aprendo por mim e com a ajuda de livros, e daqui do pessoal, por isso tenta fazer o mesmo em futuros trabalhos  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O pseudo-codigo do Saco está bastante completo, tens tudo o q precisas ali.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu nunca fiz pseudocodigo assim.... o stor so faz com : escrever, ler, inicio fim, var etc etc etc!

Para isso escrevia logo em C... demorava bem menos...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui vai um site que contém um programa para português estruturado, é o que você deve estar procurando: http://www.apoioinformatica.inf.br/

O programa chama-se visualg.

Contém inclusive informações para aplicações, tudo em bom português.

Verá que o programa rodará muito bem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois, mas o meu prof nao pensa assim. e tem de ser como no exemplo que esta no URL que me mandaste!

Nem percebo porque é que estamos a falar de pseudo-código e do que o teu prof. pensa na secção de C, quando o enunciado diz explicitamente para fazeres um programa em C.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nós não conhecemos as regras de pseudo codigo q o teu professor utiliza. Não te vamos ajudar numa coisa que não conhecemos.

Já te ajudaram da maneira que foi possivel em pseudo-código.

Se quiseres pudemos ajudar na parte do C.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acessa Http://www.apoioinformatica.inf.br , lá encontrarás um programa chamado visualg. Português estruturado (pseudocódigo), roda normalmente e tem bastante recurso para aprendizado. Tem manual em bom português com dicas para programar.

Edison

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguem me podia ajudar naquela ultima parte que eu nao fiz?

e ver se o programa esta realmente certo!

Não sabias nada de structs e de repente apareces aqui com metade do código feito? Estás a progredir bem... Continua!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a ir bem, se soubeste fazer isso, sabes fazer o resto.

Agora pedes o número de aluno como no inicio, fazes um for a percorrer a lista de alunos, qd encontrares o aluno pretendido imprimes esse.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não seria melhor fazer isso com ficheiros? É que assim é um bocado inutil porque não fica nada gravado...

Eu no fim de semana talvez vou-te trazer aqui um código com ficheiros e structs  :)

EDIT: já codei aqui o programa eheheh, cá vai, não tem coments mas é facil de entender:

#include <stdio.h>

#define MAX 4 /* Aqui é o número de clientes*/

struct client
{
char nome[40];
int telefone;
} cliente[MAX];

FILE *f;
int i;

void load();
void save();
void menu();
void present();
void add();
void find();

void save()
{
if(!(f=fopen("Lista.dat" ,"wb")))
{
    printf("Erro");
    exit(1);
  }
  
  for(i=0;i<MAX;i++)
  {
    if(fwrite(&cliente[i],sizeof(struct client),1,f)!=1)
    {
      printf("Erro na escrita");
      exit(1);
    }
  }
  fclose(f);
}

void load()
{
  if(!(f=fopen("Lista.dat" ,"rb")))
{
    printf("Erro");
    exit(1);
  }
  
  for(i=0;i<MAX;i++)
  {
    if(fread(&cliente[i],sizeof(struct client),1,f)!=1)
    {
      printf("Erro na escrita");
      exit(1);
    }
  }
  fclose(f);
}

void menu()
{
  int esc;
  printf("1. Adicionar\n");
  printf("2. Procurar\n");
  printf("3. Sair\n\n");
  printf("Opcao: ");
  scanf("%d" ,&esc);
  switch(esc)
  {
    case 1:
      add();
    case 2:
      find();
    case 3:
      exit(0);
  }
}

void add()
{
  for(i=0;i<MAX;i++)
  {
    printf("Digite o nome: ");
    scanf("%s" ,&cliente[i].nome);
    printf("Digite o telefone: ");
    scanf("%d",&cliente[i].telefone);
  }
  save();
}

void present()
{
  load();
  for(i=0;i<MAX;i++)
  {
    printf("Nome: %s\n" ,cliente[i].nome);
    printf("Telefone: %d\n\n" ,cliente[i].telefone);
  }
  system("pause");
}

void find()
{
  char name[40];
  load();
  printf("Digite o nome: ");
  scanf("%s" ,&name);
  for(i=0;i<MAX;i++)
  {
    if(!(strcmp(name,cliente[i].nome)))
    {
      printf("Nome: %s\n" ,cliente[i].nome);
      printf("Telefone: %d\n\n" ,cliente[i].telefone);
    }
  }
  system("pause");
}

int main()
{
  menu();
  return 0;
}
     

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para procurar fazes o seguinte:

void procurar()
{
  int i;
  char nome[40];
  printf("Digite o nome do aluno: ");
  gets(nome);
  for(i=0;i<n_alunos;i++)
  {
    if(!(strcmp(nome,aluno[i].nome)))
    {
          printf("Nome:%s\n",a[i].nome);
          printf("Morada:%s\n",a[i].morada);
          printf("Numero do cartao:%d\n", a[i].numero);
          printf("Telefone:%d\n", a[i].telefone);
    }
  }
}

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