Jump to content
Sign in to follow this  
claudiasousa

Fazer exercicio em linguagem C

Recommended Posts

claudiasousa

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

Share this post


Link to post
Share on other sites
Metaluim

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.

Share this post


Link to post
Share on other sites
Triton

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!


<3 life

Share this post


Link to post
Share on other sites
Saco

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.

Share this post


Link to post
Share on other sites
Localhost

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

Eheheheh, gostei desta  :cheesygrin:

É 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  ;)


here since 2009

Share this post


Link to post
Share on other sites
Saco

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...

Share this post


Link to post
Share on other sites
edsudani

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.

Share this post


Link to post
Share on other sites
pedrosorio

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.


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites
pedrosorio

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!


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites
Saco

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.

Share this post


Link to post
Share on other sites
Localhost

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;
}
     


here since 2009

Share this post


Link to post
Share on other sites
Localhost

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);
    }
  }
}


here since 2009

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.