Mudanças entre as edições de "Equipe3-2015-1"
Linha 78: | Linha 78: | ||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
#include <stdio.h> | #include <stdio.h> | ||
+ | #include <stdlib.h> | ||
+ | #include <string.h> | ||
+ | /*Estrutura para o arquivo*/ | ||
struct TLocalidade{ | struct TLocalidade{ | ||
int codigo; | int codigo; | ||
char nome[40]; | char nome[40]; | ||
float temp; | float temp; | ||
+ | int umidade; | ||
struct TLocalidade *prox; | struct TLocalidade *prox; | ||
}; | }; | ||
− | struct Tcadastro{ | + | struct Tcadastro(int codigo, char nome[40], float temp){ |
+ | TLocalidade cadastro*; | ||
+ | int cdg; | ||
+ | char nme[40]; | ||
+ | cadastro = (TLocalidade*) malloc(sizeof(TLocalidade)); | ||
+ | printf("\n Insira o codigo desejado para a cidade\n"); | ||
+ | scanf("%s",cdg); | ||
+ | if(strcmp(cdg,TLocalidade.codigo)==0){ | ||
+ | printf("Este codigo ja esta sendo utilizado"); | ||
+ | break; | ||
+ | } | ||
+ | else{ | ||
+ | strcpy(cdg,cadastro->codigo); | ||
+ | } | ||
+ | printf("\n Insira o nome da cidade\n"); | ||
+ | scanf("%s",nme); | ||
+ | if(strcmp(nme,TLocalidade.codigo)==0){ | ||
+ | printf("Este nome ja esta sendo utilizado"); | ||
+ | break; | ||
+ | } | ||
+ | else{ | ||
+ | strcpy(nme,cadastro->nome); | ||
+ | } | ||
+ | printf("\n Insira a temperatura da cidade\n"); | ||
+ | scanf("%s",tmp); | ||
+ | printf("\n Insira a umidade\n"); | ||
+ | scanf("%s",cadastro->umidade); | ||
+ | free() | ||
+ | }; | ||
+ | struct Tremover{ | ||
+ | { | ||
+ | int p; | ||
+ | printf("\n Entre com o codigo da cidade que deseja remover\n"); | ||
+ | scanf("%d", p); | ||
+ | struct TSalas *aux, *apaga; | ||
+ | aux=head; | ||
+ | while(aux->next->num_sala != nsala) | ||
+ | aux = aux->next; | ||
+ | apaga = aux->next; | ||
+ | aux->next = apaga->next; | ||
+ | free(apaga); | ||
+ | } | ||
}; | }; | ||
− | struct | + | struct Timprimir{ |
}; | }; | ||
struct Timprimir{ | struct Timprimir{ | ||
Linha 96: | Linha 141: | ||
int opcao; | int opcao; | ||
− | printf("Entre com uma opção\n 1-Cadastro\n 2-Remover cadastro\n 3-Imprimir\n 4-Sair\n"); | + | printf("Entre com uma opção\n 1-Cadastro\n 2-Remover cadastro\n 3-Imprimir\n 4-Ler Arquivo\n 5-Sair\n"); |
scanf ("%d",&opcao); | scanf ("%d",&opcao); | ||
switch(opcao) { | switch(opcao) { | ||
Linha 109: | Linha 154: | ||
break; | break; | ||
case 4: | case 4: | ||
+ | Tlerarquivo; | ||
+ | break; | ||
+ | case 5: | ||
printf("Saindo"); | printf("Saindo"); | ||
break; | break; |
Edição das 22h26min de 21 de junho de 2015
Integrantes
DANIEL CABRAL CORREA
PABLO FIDELIS DIAS
PAULO HENRIQUE HORST BIANCHIN
Descrição da atividade principal
Um sistema de aquisição recebe, a cada final do dia, um arquivo de dados contendo informações sobre a temperatura (°C) e a umidade relativa do ar (%) de determinadas localidades do auto Amazonas. Implemente um sistema que importe esses arquivos e atualize os dados de temperatura e umidade de todas as localidades cadastradas. No entanto, é preciso ter um cadastro de localidades com seus respectivos códigos. A cada dia, ou seja, a cada arquivo lido, é preciso apresentar na tela a amplitude térmica da região, indicando temperaturas mínimas, médias e máximas . Portanto é preciso cadastrar novas localidades, remover localidades e imprimir a lista dessas localidades. O sistema deve conter um menu de opções para realizar as atividades, em loop contínuo e com opção para sair.
Descrição da atividade específica
- Fazer uso
- Comando swith
- Lista encadeada
- Ponteiros
- Alocação Dinâmica de Memória
- Funções para tratamento de arquivo
- Exemplo da estrutura (encadeada)
struct TLocalidade{ int codigo; char nome[40]; float temp_media; float temp_media; struct TLocalidade *prox; };
- Exemplo de arquivo (localidades.dat)
cat localidades.dat 100 XINGU 23.5 80 200 SOLIMOES 24.8 81 300 IAPOQUE 32.0 75 400 MADEIRA 33.9 98 500 BELLOMONTE 40.5 90
- Exemplo dos dados coletados (dados1.dat)
cat dados1.dat 100 29.0 89 200 25.3 88 300 35.1 90 400 35.3 100 500 32.0 100
- Exemplo dos dados coletados (dodos2.dat)
cat dodos2.dat 100 39.4 100 200 35.3 78 300 26.9 70 400 33.5 71 500 41.2 93
[...]
Atividades
Distribuição
Aula 6, 9, 19, 20, 22;
Desenvolvimento
Cadastro/Remover - Lista ligada (*pTLocalidade) - Malloc()
Média de temperatura - (Temp1+Temp2+....+TempN)/N = Temp média
Organizar lista da temperatura maior p/ menor.
Conclusão
Código fonte
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*Estrutura para o arquivo*/
struct TLocalidade{
int codigo;
char nome[40];
float temp;
int umidade;
struct TLocalidade *prox;
};
struct Tcadastro(int codigo, char nome[40], float temp){
TLocalidade cadastro*;
int cdg;
char nme[40];
cadastro = (TLocalidade*) malloc(sizeof(TLocalidade));
printf("\n Insira o codigo desejado para a cidade\n");
scanf("%s",cdg);
if(strcmp(cdg,TLocalidade.codigo)==0){
printf("Este codigo ja esta sendo utilizado");
break;
}
else{
strcpy(cdg,cadastro->codigo);
}
printf("\n Insira o nome da cidade\n");
scanf("%s",nme);
if(strcmp(nme,TLocalidade.codigo)==0){
printf("Este nome ja esta sendo utilizado");
break;
}
else{
strcpy(nme,cadastro->nome);
}
printf("\n Insira a temperatura da cidade\n");
scanf("%s",tmp);
printf("\n Insira a umidade\n");
scanf("%s",cadastro->umidade);
free()
};
struct Tremover{
{
int p;
printf("\n Entre com o codigo da cidade que deseja remover\n");
scanf("%d", p);
struct TSalas *aux, *apaga;
aux=head;
while(aux->next->num_sala != nsala)
aux = aux->next;
apaga = aux->next;
aux->next = apaga->next;
free(apaga);
}
};
struct Timprimir{
};
struct Timprimir{
};
void main(){
int opcao;
printf("Entre com uma opção\n 1-Cadastro\n 2-Remover cadastro\n 3-Imprimir\n 4-Ler Arquivo\n 5-Sair\n");
scanf ("%d",&opcao);
switch(opcao) {
case 1:
Tcadastro;
break;
case 2:
Tremover;
break;
case 3:
Timprimir;
break;
case 4:
Tlerarquivo;
break;
case 5:
printf("Saindo");
break;
default:
printf("opcao default\n");
break;
}
}
<< | Equipe3-2015-1 |
---|